场景
很多公司的内网是个局域网,不允许外网访问。但是很多时候,我们既需要内网的资源,又需要同时访问外网。这个时候一台双网卡的设备就可以解决。
操作
一般情况下,/etc/network/interfaces文件保存了本机的网络配置信息。在该文件里设置外网网卡的相关网络配置,比如ip、网关、子网掩码等,但是不设置内网网卡的网络配置。
这个时候你会发现设备可以正常访问外网,但是无法ping通局域网内的其他设备。
为什么会出现这个情况?因为设备流量默认走外网的网关,自然也就无法到达局域网内的其他设备。那么怎么才能访问局域网内的其他设备呢?非常简单,增加一条路由规则,告诉设备我如果访问局域网内的其他设备时路由应该怎么走。
增加路由规则也非常简单,一条命令即可:route add -net 10.67.136.0/24 gw 10.26.138.254 dev wlx08beac133baa。实际使用时,需要根据自己的网络情况修改ip地址、网关地址以及网卡名称,即route add -net xx.xx.xx.xx/xx gw xx.xx.xx.xx dev xxx。
不过这个命令有个缺陷,设备重启之后会失效,如果希望设备重启之后仍然可以正常访问内网的话,可以将这句话写在/etc/network/interfaces文件末尾(命令前需要多加一个up)或者rc.local等系统启动时会执行的地方。