Ubuntu 22.04双网卡Netplan配置需求:指定IP走私网网卡,其余流量走4G网卡
Ubuntu 22.04双网卡Netplan配置需求:指定IP走私网网卡,其余流量走4G网卡
老哥,我仔细看了你的需求和现有的Netplan配置,发现几个小问题,调整一下就能完美实现你要的效果了!
先再确认下你的环境:
你有一台Ubuntu 22.04服务器,两块网卡分工明确:
- enp0s31f6:连私网防火墙,这块网卡只能访问目标IP
11.162.66.209 - enp6s0:连4G路由器,负责所有公网访问
你的核心需求就是:访问11.162.66.209走私网卡,剩下的所有流量全走4G网卡。
原配置的问题
看了你现有的配置,有几个小瑕疵导致可能达不到预期:
- enp6s0的
addresses字段写重复了,属于语法错误,会导致Netplan解析失败 - 两块网卡都配置了
gateway4,这会让系统生成两个默认路由,很容易出现路由冲突,导致流量走向混乱 - 私网卡不需要默认网关,只需要针对特定IP配置专属路由即可
调整后的正确配置
你把原来的Netplan文件(一般在/etc/netplan/目录下,比如/etc/netplan/00-installer-config.yaml)替换成下面的内容:
network: version: 2 renderer: networkd ethernets: enp6s0: dhcp4: no mtu: 1500 addresses: [10.0.0.200/24] routes: # 所有公网流量默认走4G网卡的网关 - to: 0.0.0.0/0 via: 10.0.0.10 metric: 200 nameservers: # 给4G网卡配个公网DNS,不然可能解析不了域名 addresses: [8.8.8.8, 1.1.1.1] enp0s31f6: dhcp4: no addresses: [192.168.11.10/24] mtu: 1500 routes: # 仅针对11.162.66.209这个IP设置专属路由,走私网网关 - to: 11.162.66.209/32 via: 192.168.11.1 metric: 100 # 私网卡不需要默认网关,避免和4G的默认路由冲突
应用配置并验证
配置改完后,执行下面的命令让配置生效:
sudo netplan generate sudo netplan apply
然后验证路由是否正确:
ip route show
你应该能看到两条关键路由:
- 默认路由
0.0.0.0/0指向10.0.0.10(对应enp6s0网卡),metric值是200 - 目标路由
11.162.66.209/32指向192.168.11.1(对应enp0s31f6网卡),metric值是100(数值更小,优先级更高)
还可以用traceroute测试流量走向:
traceroute 11.162.66.209 traceroute 8.8.8.8
前者的第一跳应该是192.168.11.1,后者的第一跳是10.0.0.10,这就说明配置生效了!
备注:内容来源于stack exchange,提问作者Allid
相关产品推荐
相关产品推荐

