嗨,我已经使用 Ubuntu 20.04.2 LTS(GNU/Linux 5.4.0-42-generic x86_64)设置了一个简单的路由器。它是一台虚拟机。目标是所有到达第一张网卡(eth0)的流量都通过第二张网卡(eth1)发送到我们的防火墙。我为此向 netplan 添加了一条路由。问题是 netplan(应用或在服务器重启时)正在创建一个度量为 0 的默认路由。由于防火墙位于同一子网上,所有流量都使用默认路由并直接流向服务器而不是防火墙。不理想!!我可以通过删除默认根来解决这个问题(我有一个重启脚本可以做到这一点,虽然不理想,但一直有效,直到我在主机之间移动虚拟机而不重启,netplan 重新创建了它!!)我需要找到一种更好的方法来停止创建默认路由或将其度量设置为大于 0。
我已将 netplan 配置为:
network:
Version: 2
Ethernets:
eth0:
addresses:[x.x.x.94/26]
gateway4: gwgwgwgw
nameservers:
addresses: [x,y]
eth1:
addresses:[y.y.y.y.62/26]
nameservers:
addresses: [w,x]
routes:
- to: y.y.y.y.0/26
via: y.y.y.y.37
路线输出如下:
root@:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default blabla. 0.0.0.0 UG 0 0 0 eth0
x.x.x.64 0.0.0.0 255.255.255.192 U 0 0 0 eth0
Y.Y.Y.0 0.0.0.0 255.255.255.192 U 0 0 0 eth1
Y.Y.Y.0 Y.Y.Y.37.s 255.255.255.192 U 0 0 0 eth1
我需要停止创建“YYY0 0.0.0.0”或设置其度量,以便优先使用路由“YYY0 YYY37.s”。
我在文档中找不到这样做的方法。请帮助 Peter
答案1
如果你不想让 YYY0/26 路由被视为 eth1 的本地路由,那么你不应该将其声明为你的 网络掩码address
。你似乎需要:
network:
version: 2
ethernets:
eth0:
addresses: [x.x.x.94/26]
gateway4: gwgwgwgw
nameservers:
addresses: [x,y]
eth1:
addresses:[y.y.y.y.62/32]
nameservers:
addresses: [w,x]
routes:
- to: y.y.y.y.0/26
via: y.y.y.y.37
on-link: yes