今天,使用centos9+宝塔搭建服务器,遇到了一个很有趣的问题:服务器是两张网卡,两个不同的网段,并且都接入了公网。A网段IP需要映射外网。B网端只需要内网访问即可。但实际情况却是:A网段和B网段内网访问都正常。但是A网段在公网访问服务器却不能访问。检测端口,80、443等端口都是关闭的。
经过多次排查,都找不到具体根结。后来突然想到,是不是和网关有关系。查看默认网关,发现系统默认B网关为默认。改A为默认网关即可。
在Linux中,当你为多张网卡配置了不同的网关时,系统默认只会选择一个作为默认网关。而不是每张网卡都会使用它自己的网关。所以,在这样的配置下,通常有一个主要的考虑因素决定哪一个网关被选择为默认网关,那就是网卡或路由的度量(metric)值。
在nmcli和其他网络配置工具中,度量值通常用来决定路由的优先级。具有最低度量值的路由将被选为默认路由。如果两张网卡的度量值相同,那么其它因素,如接口的激活顺序,可能会起作用。
我们如果想查看当前的路由设置和默认网关,可以使用命令:

ip route show

如果是安装了NetworkManager

route -n

然后,使用route命令来进行设置:

route add default gw 192.168.1.1

如果要使用IP-Route2工具,那么请先安装iproute2工具:

dnf install iproute2

接着,为网络接口设置IPv4地址:

ip addr add 192.168.1.x dev eth0
最后修改:2024 年 03 月 12 日
如果觉得我的文章对你有用,请随意赞赏