以前用route add 持续路由,默认网关设为外网网关,而将内网访问的请求转发至内网网关即可,可是现在的情况在于,如果两根网线同时连通,两个网关的地址(192.168.XXX.254)是一样的,这自然会发生问题。
为解决些问题作了一些尝试,最初的想法是再找一台位于内网不同网段,本机可以访问的机器作转发,这样避开IP地址的冲突,但是iptables的命令过于繁琐。在研究route 命令和arp列表时,突然发现arp列表是两块网卡独立的,两块网卡各有各自的arp列表,而在route命令中发现有if选项,即指定接口索引,那么将内网请求转发至连接内网的网卡的网关192.168.XXX.254,是否可以顺利实现双网同时使用呢?
实验后果然可以,命令为:route -p add 192.168.0.0 mask 255.255.0.0 192.168.137.254 if 0x10003
0x10003为连接内网的网卡的接口索引(可以用arp -a)看到。
注意:有时候会发现设置无效的问题,后来发现,那是因为禁用并启用网卡之后,网卡的接口索引ID会发生变化。所以如果有这种情况,需重新删掉路由再增加一下。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/205.html