A year and half ago I was somewhat lazy to read the whole
documentation and, consequently, made something which turned to be
something which I am not able to reproduce. (Last months I''ve
configured network regularly.)
My need was relatively simple: I have one (in that case, two) public
networks routed via the dom0 to domUs. I didn''t want to make xen
bridges and it worked.
I suppose that it''s not anything new, and I would really like to
repeat it. The point is that that approach makes network configuration
simpler.
So, here are the general data about the system, then goes relevant
configuration:
* Debian Squeeze
* Kernel 2.6.32-5-xen-amd64
* Xen: xen-hypervisor-4.0-amd64
/etc/network/interfaces
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address A.B.C.194
broadcast ...
netmask 255.255.255.224
gateway ...
auto eth0:1
iface eth0:1 inet static
address A.B.C.1
broadcast A.B.C.15
netmask 255.255.255.248
auto eth0:2
iface eth0:2 inet static
address A.B.C.17
broadcast A.B.C.31
netmask 255.255.255.248
# default route to access subnet
up route add -net A.B.C.192 netmask 255.255.255.224 gw A.B.C.193 eth0
* * *
/etc/xen/xend-config.sxp
(network-script network-bridge)
(vif-script vif-bridge)
(network-script network-route)
(vif-script vif-route)
(dom0-min-mem 196)
(enable-dom0-ballooning yes)
(total_available_memory 0)
(dom0-cpus 0)
(vncpasswd '''') # yes, didn''t bother to configure it
:)
* * *
/etc/rc.local (instead of /etc/sysctl.conf)
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
* * *
one of the domUs files (relevant part):
vif = [ ''ip=A.B.C.D,mac=AA:BB:CC:DD:EE:FF,bridge=eth0''
]
* * *
Note: I am not able to find masquerading command. It would be in
/etc/rc.local, but nothing is there. My concept was that if Xen
bridges network and I have ip_forward and proxy_arp configured, domUs
will act as they are on the same LAN/ethernet.
In that particular case I was right. However, as I said it above, I
didn''t succeed in repeating it.
Any idea?