我是Ubuntu新手,准备用Ubuntu搭建一个KVM虚拟机,我只有一个公网IP,我知道在ifupdown中怎么配置,但是我想在NetPlan中配置。
我在 /etc/network/interface 中的配置如下所示。
auto vmbr0
iface vmbr0 inet static
address 107.175.49.24/32
gateway 107.175.49.1
dns-nameservers 8.8.8.8
bridge-ports ens3
bridge-stp off
bridge-fd 0
dns-nameservers 8.8.8.8
auto vmbr1
iface vmbr1 inet static
address 192.168.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o br0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
iface vmbr1 inet6 static
address 2001:470:89c7:0000:0000:0000:0000:0001
netmask 48
bridge_ports tun0
bridge-stp off
bridge-fd 0
IPv4绑定到ens3,IPv6绑定到tun0,并启用NAT转发。
我无法在 netplan 中指定参数,当运行 netplan 尝试时,它给出了br0:不支持恢复桥接和绑定的自定义参数错误,即使我强制应用 netplan,它也不会改变任何东西。
现在我的NetPlan配置如下:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
bridges:
br0:
addresses:
- "107.175.49.24/32"
nameservers:
addresses:
- "8.8.8.8"
interfaces:
- ens3
routes:
- to: "0.0.0.0/0"
via: "107.175.49.1"
metric: 1
br1:
addresses:
- "192.168.0.1/24"
- "2001:470:89c7::1/64"
我现在需要解决两个问题,如何在NetPlan中声明bridge-stp,因为他不接受bridges下的参数包含的参数,以及如何使用NetPlan添加NAT转发
其他自动化方案也被接受,但是 iptables-persistent 有时会在 br1 启动之前执行,因此无法添加任何规则,并且在 br1 关闭时不会卸载规则。