[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!toc]] The Xen dom0 infrastructure provides for a bridged networking setup using shell scripts to configure the bridging device properly and attach the domUs' virtual interfaces to the bridge. However, we've [seen problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) when using this approach, so to [solve these issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), instead suggest the following configuration method (to achieve the same thing). This is for a Debian dom0. # */etc/network/interfaces* Comment out everything referencing your physical devices. Add this: auto br0 iface br0 inet dhcp bridge_ports regex (eth|vif).* noregex ... or if you want to do the manual configuration dance: auto br0 iface br0 inet static bridge_ports regex (eth|vif).* noregex address 192.168.10.60 netmask 255.255.255.0 [...] This needs a version of the `bridge-utils` package more recent than the current Debian stable one ([[!debbug 405215]]). (It's trivial to rebuild the `dpkg` of, e.g., the Debian testing one on Debian stable.) # */etc/xen/xend-config.sxp* Make sure that only `(network-script network-dummy)` and `(vif-script vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, respective `(vif-script vif-WHATEVER)` are commented out. # Sample configuration files on Debian Lenny ## /etc/xen/hurd on dom0 kernel = "/boot/gnumach-xen" memory = 256 disk = ['phy:sda5,hda,w'] extra = "root=device:hd0" vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] ramdisk = "/boot/hurd-modules" /dev/sda5 is an extended partition. br0 is bridge interface on dom0. ## /etc/xen/xend-config.sxp on dom0 (network-script 'network-bridge netdev=br0') (dom0-min-mem 196) (dom0-cpus 0) (vncpasswd '') ## /etc/network/interfaces on dom0 auto br0 iface br0 inet static address 192.168.1.211 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 bridge_ports eth1 eth1 is the interface that is connected to the Internet on the LAN: ## Doing settrans on domU settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 ## /sbin/ifconfig on dom0 br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB)