有一台分配了 5 个 IP 地址的新服务器。我想使用 Xen 来运行多个具有各种服务的 VM。
这是我第一次尝试安装Xen,我使用本教程作为指导方针。停留在一开始:他们谈论用网桥替换 eth0 上的单个 ip br0
。我的服务器有 5:和eth1
4 个别名eth1:1
...eth1:4
网络配置应该是什么样的?
- 完全取代eth1的网桥,然后在网桥上添加4个别名?
- 网桥只能替换 5 个 IP 中的一个吗?
请原谅我的蹩脚问题,第一次来到这个森林。
答案1
1 对 xen 的建议,如果您决定使用经典桥(与 ovs),请手动设置,因为脚本一开始并不适合我(单个网卡被锁定)
像这样的事情应该可以桥接工作:
auto lo br0
iface lo inet loopback
iface br0 inet static
address 192.168.128.7
netmask 255.255.255.128
network 192.168.128.0
broadcast 192.168.128.127
gateway 192.168.128.126
dns-nameservers 172.16.2.200
bridge_ports eth1
bridge_stp off
bridge_fd 0
#bridge_hello 2
#bridge_maxage 12
iface eth1 inet manual
现在,在每个来宾操作系统上,您将获得一个“eth0”接口(rfr.bridge_fd=0),如果您为该接口分配一个 IP 地址,它将位于 br0 桥上,并且能够像主机一样执行所有操作,鉴于没有任何东西阻止它(netfilter等)
为了完整起见,然后编辑 /etc/sysctl.conf (假设这里是 debian,sry)并根据您的网络可能需要进行设置
net.ipv4.conf.eth1.proxy_arp = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
并执行 sysctl -p 来提交它们。这会禁用 netfilter 干预网桥。或者,您也可以使用 iptables 来执行此操作。从我的脑海中,类似这样的东西(它们可能并不都需要),但由于我不使用这些,这只是为了提供一个想法:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
iptables -I FORWARD -m physdev --physdev-in vif1.0 -j ACCEPT
一旦您的来宾操作系统启动,就会显示 vif1.0(或者可能命名有点不同)界面,您可以使用经典工具(ip、ifconfig 等)检查主机上的网络。
答案2
eth1:1
您需要:通过摆脱别名eth1:4
,在现有的 eth1 接口上设置桥接,然后继续生活。