3种系统的多网卡多网关配置
服务器的网卡有多个接口,不同的网卡接口要设置不同的网关去连接不同的网段,比如配置双网卡,网卡1需要连接公网,网卡2需要连接内网,当配置了两个网关的时候,就会由于默认网关的问题导致其中某一个网段不通,或者是只能接收,但是不能向外发送数据包的情况,这里用Windows、CentOS和Ubuntu server系统,解决此类问题
Windows
网卡1:192.168.1.20 网关:192.168.1.50
网卡2:172.16.1.20 网关:172.16.1.1
网卡1默认配置
网卡2默认配置
查看路由表可以看到有两条0.0.0.0默认路由,这是因为两个网卡都配置了各自的网关地址
造成无法正常访问外网
首先删除所有的0.0.0.0默认路由,箭头显示的地方已无任何默认路由
外网网卡添加对应的默认网关
再次查看路由表,只有一条去公网的默认路由
route add -p 172.16.1.0 mask 255.255.255.0 172.16.1.1
管理员权限打开CMD,添加去内网网关的永久路由
网络恢复正常
Ubuntu Server
网卡1:192.168.1.15 网关:192.168.1.50
网卡2:172.16.1.15 网关:172.16.1.1
系统原始静态地址配置
#注意每一个冒号后面都有一个空格 vim /etc/netplan/00-installer-config.yaml #将 network: ethernets: ens33: dhcp4: true ens34: dhcp4: true version: 2 #改为 network: ethernets: ens33: dhcp4: no addresses: [192.168.1.15/24] optional: true gateway4: 192.168.1.50 nameservers: addresses: [114.114.114.114,180.76.76.76] ens34: dhcp4: no addresses: [172.16.1.15/24] optional: true gateway4: 172.16.1.1 nameservers: addresses: [172.16.1.1] version: 2 #执行 netplan apply
ip设置已经没有问题了
这样造成出现2个默认路由,出现网络问题
vim /etc/netplan/00-installer-config.yaml 改为 network: ethernets: ens33: dhcp4: no addresses: [192.168.1.15/24] optional: true gateway4: 192.168.1.50 nameservers: addresses: [114.114.114.114,180.76.76.76] ens34: dhcp4: no routes: - to: 172.16.1.0/24 via: 172.16.1.1 on-link: true metric: 50 addresses: [172.16.1.15/24] optional: true nameservers: addresses: [172.16.1.1] version: 2 #执行 netplan try netplan apply
将配置修改为内网的ens34删除掉网关,加上静态路由,度量值为50
再次查看路由表,已经没有问题,故障解决
CentOS8
网卡eth1:192.168.1.20 网关:192.168.1.50
网卡eth2:172.16.1.20 网关:172.16.1.1
route del default gw 172.16.1.1 systemctl restart NetworkManager nmcli connection show --active nmcli connection modify eth2 -ipv4.gateway "" nmcli connection down eth2;nmcli connection up eth2 #数值越小优先级别越高 echo "251 net_1" >> /etc/iproute2/rt_tables echo "252 net_2" >> /etc/iproute2/rt_tables cat >>/root/gw.sh <<EOF route del default gw 172.16.1.1 ip route flush table net_1 ip route add default via 192.168.1.1 dev eth1 src 192.168.1.20 table net_1 ip rule add from 192.168.1.20 table net1 ip route flush table net_2 ip route add default via 172.16.1.1 dev eth2 src 172.16.1.20 table net_2 ip rule add from 172.16.1.20 table net_2 EOF echo "/root/gw.sh" >> /etc/rc.d/rc.local chmod +x /root/gw.sh chmod +x /etc/rc.d/rc.local
本站所有文章均可随意转载,转载时请保留原文链接及作者。