linux双网卡配置
1)发现问题
我的小服务器有两个网卡(lspci | grep -i ether
),今天我给它接上了第二条网线,并在路由器侧配置了DMZ,准备使用公网IP访问我的服务,结果总是超时。
于是准备抓包看看情况。
tcpdump -i enp2s0 dst host 192.168.8.10
发现数据包还是正常收到的
应该是回包的时候丢包了,或者通过另一个网口溜走了,于是尝试一下关闭第一个网口,看能不能正常放回数据。
ifdown enp4s0
关闭第一个网口之后,访问服务就正常了。
索性把没公网IP的网卡仅仅用于访问内网服务,有公网IP的网卡用于出口,改路由表吧
2)查看路由表
route -n
可以看到enp2s0
和enp4s0
两个网卡都存在Destination
为0.0.0.0
的路由设置
3)取消一个网卡默认路由
所以我们要去掉仅用于内网访问的enp4s0
的网口的路由记录。
编辑网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-enp4s0
把DEFROUTE
设置为no
,然后重启网络服务使其生效
systemctl restart network
重启网络服务之后,docker中的网络应该是死掉了,只需重启docker服务就好了
systemctl restart docker
再查看路由表配置
到此就大功告成了。接下来再开个DDNS服务就能用域名访问了。DDNS看下一篇