我在 Ubuntu Server 上的 Xen 中遇到了一个非常棘手的网络问题。我们的服务器有几个公共 IP(/29),都是通过eth0
别名添加的。例如
- eth0-主 IP
- eth0:0-第一个免费IP
- eth0:1-第一个免费IP
- eth0:2-第一个免费IP
- eth0:3-第一个免费IP
IP 添加方式/etc/network/interfaces
如下(出于安全考虑,部分 IP 被隐藏):
auto eth0
iface eth0 inet static
address ##.##.##.106
netmask 255.255.255.248
network ##.##.##.104
broadcast ##.##.##.111
gateway ##.##.##.105
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 8.8.4.4
dns-search mydomain.com
auto eth0:1
iface eth0:1 inet static
address ##.##.##.108
netmask 255.255.255.248
network ##.##.##.104
broadcast ##.##.##.111
gateway ##.##.##.105
我该如何eth0:1
向虚拟机公开?(它将专用于该虚拟机。)目前我正在使用PV 说明在这里。
答案1
第一的,使用桥接。如果您按照链接的操作指南进行操作,那么您应该已经设置了桥接。
其次,为每个 domU 内的虚拟机分配 IP 地址,不是在 dom0 内。使用网络桥接时,dom0 应该只配置自己的 IP 地址。
答案2
反而(在主机上):
auto eth0
iface eth0 inet static
address ##.##.##.106
netmask 255.255.255.248
network ##.##.##.104
broadcast ##.##.##.111
gateway ##.##.##.105
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 8.8.4.4
dns-search mydomain.com
使用:
auto xenbr0
iface xenbr0 inet static
bridge-ports eth0
address ##.##.##.106
netmask 255.255.255.248
network ##.##.##.104
broadcast ##.##.##.111
gateway ##.##.##.105
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 8.8.4.4
dns-search mydomain.com
进一步参考:Xen网络
在客户机中,您只需定义静态 IP,就像在“单台”机器上通常所做的那样。