前几天托管的服务器突然在某省电信无法访问,联系了机房,机房给了新的IP但依旧不行,后来机房单独拉了根联通的线接入我们的服务器,这时就出现双网关问题,直接配置eth1网卡后,eth0会出现外部无法访问,只能在同网段内访问。
正确操作如下:
1、配置eth1,但网关不要配,去除。
2、启动第二块网卡:ifup eth1 或者 service network restart
3、修改vim /etc/iproute2/rt_tables,添加内容:
252 1 251 2
4、配置路由规则:
ip route flush table 1 ip route add default via 网卡1网关 dev eth0 src 网卡1地址 table 1 ip rule add from 网卡1地址 table 1 ip route flush table 2 ip route add default via 网卡2网关 dev eth1 src 网卡2地址 table 2 ip rule add from 网卡2地址 table 2
5、验证两个地址是否都可以访问
6、添加到/etc/rc.d/init.d/network文件中,以便后面重启后依旧可用。
参考地址:https://www.linuxidc.com/Linux/2018-05/152427.htm
拓展阅读:https://blog.csdn.net/u012758088/article/details/76255543(策略路由、ip rule、ip route)
更新一下:
今天遇到一个奇怪现象,路由器上开端口映射时,Windows端口可以映射,Linux端口映射就不生效。原因是跟双网卡有关。
6台服务器:5台centos7,1台windows server2019
这六台都已经接入公司办公网中,现需要接入5G专网,由于只给一个对联IP,而6台服务器都有业务对外,所以加了台路由器,双网卡局面就此打开。
出现的问题上面已说就是端口映射时Linux不生效。
解决:双网卡配置第二张网卡不要设置网关,采用添加路由命令手动加路由。
windows 路由添加命令:
route add 10.230.0.0 mask 255.255.255.128 192.168.168.1 -p
centos 路由临时添加命令:
route add -net 10.230.0.0 netmask 255.255.255.128 gw 192.168.168.1
centos 路由永久添加方法:
在/etc/sysconfig/network-scripts/目录下增加一个 route-"网卡名"的配置文件 vim /etc/sysconfig/network-scripts/route-eno2
内容填写如下
10.230.0.0/25 via 192.168.168.1 dev eno2
这边略解释一下上面路由命令的意思,就是我希望访问10.230.0.0/25地址都走我的192.168.168.1网关(路由器地址)
相关文章