1. 苏葳的备忘录首页
  2. 网络

用route命令实现的内外网同时连通方法

网卡 route 路由 索引单位搬家后,网络用VLAN管理,由于一台机器可能有分别上内外网的需要,所以将内外网网关地址设置相同,都为192.168.XXX.254,这样,如果需要从内网切换至外网,只需换上另一根外网网线即可,不需要改动任何IP或网关设置。但是如果你机器上有两块网卡的话,同时连上内外网就不可能了。对于有两块网卡的某些人来说,怎么设置呢?

以前用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

发表评论

邮箱地址不会被公开。 必填项已用*标注