我有一个 IP 地址(ipv4),我正在尝试在 dom0 上安装一个 domU(debian stable),该 dom0 在 debian 测试中运行最新的 xen 4.4.1。
我已经创建了 xenbr0 网桥,它映射到我的 eth0。
我的 domU 可以使用xl create my.cfg
并且安装程序(使用带有 initrd.gz 和 vmlinuz 的 debian 安装程序)启动。然后自动网络配置尝试通过我的 domU 中的 dhcp 获取 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']
您可以手动为您的 VM 设置 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 中,它的行为很奇怪。我个人喜欢控制任何东西,所以我更喜欢我之前描述的方法。希望能帮助到你。