电脑有双网口,我插了两个不同的ip网线,一个是:192.168.100.x 网段,一个是:10.10.1.x网段,如何建立访问规则
Deepseek 的回答:
好的,这是一个非常经典的多网卡路由配置问题。当电脑有两个活跃的网卡连接到不同网段时,系统会根据其路由表 来决定数据包的走向。
你的目标是:让访问192.168.100.x的流量走网卡1,访问10.10.1.x的流量走网卡2,并且可能还需要正常上网。
下面我将为你详细解释原理和提供操作方法(适用于Windows和Linux)。
核心概念:路由表
你可以把路由表想象成一张地图,告诉电脑“要去某个地方,应该走哪条路”。每条路由规则包含几个关键信息:
- 目标网络:你要访问的IP地址段(如
192.168.100.0) - 网关:数据包要发往的“下一个路口”(通常是路由器地址)
- 接口:本机使用哪个网卡出去
- 跃点数:路的“优先级”,数字越小优先级越高。
默认情况下的问题
通常,后接通的网卡会生成一个默认路由,并拥有更高的优先级(更低的跃点数),这会导致所有非本地的流量(比如上网)都从这个网卡走,这可能不是你想要的。你需要手动配置静态路由来精确控制流量。
操作方法
首先,确认当前网络配置
-
找到两个网卡的连接信息:
- 网卡1 (192.168.100.x):IP地址、子网掩码(通常是
255.255.255.0)、默认网关(例如192.168.100.1,如果有的话)。 - 网卡2 (10.10.1.x):IP地址、子网掩码、默认网关(例如
10.10.1.1,如果有的话)。
重要:两个接口最好不要都设置默认网关! 否则会引起路由冲突。通常只为你希望用于上网的那个接口设置默认网关。
- 网卡1 (192.168.100.x):IP地址、子网掩码(通常是
-
查看当前路由表:
- Windows:打开命令提示符(CMD)或 PowerShell,输入
route print。 - Linux/macOS:打开终端,输入
ip route或netstat -rn。
你会看到一系列记录,注意
0.0.0.0的行表示默认路由。 - Windows:打开命令提示符(CMD)或 PowerShell,输入
方案一:使用命令添加静态路由(推荐)
这种方法最灵活和清晰。
Windows 系统
-
以管理员身份运行命令提示符(CMD)或 PowerShell。这是必须的,否则无法添加路由。
-
删除可能冲突的路由(如果必要):
如果你不希望某个网卡负责上网,只希望它处理特定网段,并且它设置了默认网关,最好删除它生成的默认路由。假设它的网关是10.10.1.1,接口的跃点数是 25。cmd
route delete 0.0.0.0 mask 0.0.0.0 10.10.1.1 -
添加永久静态路由:
-
命令格式:
route add -p <目标网络> mask <子网掩码> <网关> metric <跃点数> if <接口>-p选项代表永久(Persistent),重启后不丢失。metric和if通常可以省略,系统会自动选择。
-
举例:
-
要求:所有访问
10.10.1.0网段的流量,都通过10.10.1.1这个网关走。cmd
route add -p 10.10.1.0 mask 255.255.255.0 10.10.1.1 -
要求:所有访问
192.168.100.0网段的流量,都通过192.168.100.1这个网关走。cmd
route add -p 192.168.100.0 mask 255.255.255.0 192.168.100.1
-
-
-
验证:输入
route print,查看活动路由中最下方的“永久路由”部分,确认添加成功。现在你可以尝试 ping 两个网段中的设备了。
Linux 系统 (使用 iproute2 工具)
-
打开终端,可能需要 root 权限。
-
添加静态路由:
-
命令格式:
ip route add <目标网络>/<掩码位数> via <网关> dev <网卡名> -
举例:
-
假设连接到
10.10.1.x网段的网卡名是eth0,网关是10.10.1.1。bash
sudo ip route add 10.10.1.0/24 via 10.10.1.1 dev eth0 -
假设连接到
192.168.100.x网段的网卡名是eth1,网关是192.168.100.1。bash
sudo ip route add 192.168.100.0/24 via 192.168.100.1 dev eth1
-
-
-
使路由永久生效(重启后不丢失):
上述命令添加的路由重启后会失效。要永久生效,需要将命令写入网络配置文件。不同发行版位置不同:- Ubuntu/Debian:编辑
/etc/netplan/01-netcfg.yaml文件,在相应的网卡配置下添加routes字段。 - CentOS/RHEL:编辑
/etc/sysconfig/network-scripts/route-<网卡名>文件。
建议搜索“<你的Linux发行版> 添加永久静态路由”以获得最准确的方法。
- Ubuntu/Debian:编辑
-
验证:输入
ip route或netstat -rn查看路由表。
总结与建议
- 首选方案:使用命令行的方式(方案一) 添加永久静态路由。这是最专业和可靠的方法。
- 网关设置:确保只有一个网卡设置了默认网关(用于上网),另一个网卡只配置IP和掩码,不填网关,然后用手动路由指向它。
- 验证结果:配置完成后,务必使用
ping命令和tracert(Windows)/traceroute(Linux)命令来测试路径是否正确。ping 10.10.1.50然后看是否通。tracert 10.10.1.50可以看到数据包经过的第一个网关是不是你设置的10.10.1.1。
- 防火墙:如果ping不通,请检查对方设备或本机防火墙是否禁用了ICMP协议(ping请求)。
按照以上步骤操作,你就能清晰地管理两个网络的访问规则了。

浙公网安备 33010602011771号