我有一个 IP 地址(ipv4),并且我正尝试在 dom0 上安装一个 domU(debian 稳定版),该 dom0 在 debian 测试上运行最新的 xen 4.4.1。
我已经创建了 xenbr0 桥,并且它映射到我的 eth0。
我的 domU 可以启动xl create my.cfg
,安装程序(使用带有 initrd.gz 和 vmlinuz 的 debian 安装程序)启动。然后自动网络配置尝试通过 dhcp 获取 domU 中的 ip,但由于我没有 dhcp 服务器,因此网络失败。
我如何手动设置我的 domU 通过 xenbr0 连接到外部(野生互联网),以便我可以进行网络安装?
谢谢您的指点。
更新:.cfg
没什么特别的
kernel = "/tmp/vmlinuz"
ramdisk = "/tmp/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- console=hvc0"
vcpus = 4
memory = 2048
name = "debianvm"
vif = ['bridge=xenbr0']
disk = ['phy:/dev/vg0/debianvm,xvda,w']
答案1
您可以手动为您的虚拟机设置 NAT,例如像这样:
创建另一座桥:
brctl addbr xenbr1
将其添加到您的虚拟机:
bridge=xenbr1
- 例如,通过某个网络启动网桥
ifconfig xenbr1 192.168.0.1/24 up
为您的网络设置 DHCP 服务器和配置
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.50; option routers 192.168.0.1; default-lease-time 600; max-lease-time 7200; }
并将 DHCP 绑定到您的网桥 xenbr1。但是你可以跳过这一步。您只需要在安装程序中指定一个静态 IP。
添加 SNAT 规则,例如:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source ...
- 允许转发
net.ipv4.conf.all.forwarding = 1
之后,您的虚拟机中就会有一个正常工作的网络。您也可以vif = ['bridge=xenbr1,script=vif-nat']
在虚拟机配置中指定(更多信息请点击此处)http://wiki.xenproject.org/wiki/Xen_Networking)。它将自动执行一些 NAT 设置。但在旧版本的 Xen 中,它的行为很奇怪。我个人喜欢控制一切,所以我更喜欢我之前描述的方法。
希望能帮助到你。