linux双网卡配置

1)发现问题

我的小服务器有两个网卡(lspci | grep -i ether),今天我给它接上了第二条网线,并在路由器侧配置了DMZ,准备使用公网IP访问我的服务,结果总是超时。

于是准备抓包看看情况。

tcpdump -i enp2s0 dst host 192.168.8.10

发现数据包还是正常收到的

应该是回包的时候丢包了,或者通过另一个网口溜走了,于是尝试一下关闭第一个网口,看能不能正常放回数据。

ifdown enp4s0

关闭第一个网口之后,访问服务就正常了。

索性把没公网IP的网卡仅仅用于访问内网服务,有公网IP的网卡用于出口,改路由表吧

2)查看路由表

route -n


可以看到enp2s0enp4s0两个网卡都存在Destination0.0.0.0的路由设置

3)取消一个网卡默认路由

所以我们要去掉仅用于内网访问的enp4s0的网口的路由记录。
编辑网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-enp4s0
DEFROUTE设置为no,然后重启网络服务使其生效

systemctl restart network

重启网络服务之后,docker中的网络应该是死掉了,只需重启docker服务就好了

systemctl restart docker

再查看路由表配置

到此就大功告成了。接下来再开个DDNS服务就能用域名访问了。DDNS看下一篇