有时我们希望一台主机可以访问外网,又可以访问内网。最直接的办法就是给这台主机配置双网卡。
环境配置
主机 | Lan1 | Lan2 |
---|---|---|
双网卡主机 | 172.10.1.100 | 192.168.1.1 |
内网主机1 | 172.10.1.100 | n/a |
内网主机2 | 10.1.1.100 | n/a |
环境如下图所示:
目标
- 双网卡主机默认情况下访问互联网
- 双网卡主机可以访问内网主机
172.10.1.0
段的主机 - 双网卡主机可以访问内网主机
10.1.1.0
段的主机
配置
这里我们将使用windows的路由表配置来实现目标。在命令行输入route
就可以看到提示。
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^
Interface^
命令下面是对每个参数的解释,其中IF
后面带的参数2
就是网卡接口interface
的序号。
- 先查看网卡接口lan1、lan2的序号
route print -4
我这里的Lan1是USB网卡
Realteck USB FE Family Controller
,看前面的序号是8
。
接口 | 接口全称 | 序号 |
---|---|---|
Lan1 | Realteck USB FE Family Controller | 8 |
Lan2 | Intel® Dual Band Wireless-AC 3165 | 10 |
- 先删除默认路由0.0.0.0
route delete 0.0.0.0
- 添加内网
172.10.1.0
段路由
route ADD 172.10.1.0 MASK 255.255.255.0 172.10.1.1 METRIC 3 IF 8 -p
这里一定加上参数
-p
,表示添加到永久路由表中,不然下次重启路由配置就没了。
- 添加内网
10.1.1.0
段路由
route ADD 10.1.1.0 MASK 255.255.255.0 172.10.1.1 METRIC 3 IF 8 -p
通过网络拓扑我们可以看到
10.1.1.0
段是通过172.10.1.1
网关过去的,所有我们配置的网关参数同样指向172.10.1.1
即可。
- 将默认路由
0.0.0.0
指向外网网卡接口
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.1.1 METRIC 3 IF 10 -p
外网的IP都是动态的,所有默认的路由走外网接口。 之前写错了,mask一定要
0.0.0.0
。