1und1: Zusätzliche IP-Adresse und NAT auf Xen

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe

1und1: Zusätzliche IP-Adresse und NAT auf Xen

Post by ffl » 2007-04-03 19:27

Hallo zusammen,

nach langer Abstinenz greife ich mal wieder auf mein geliebtes Rootforum zurück :-)

Ich habe einen 1und1 L64 mit Athlon 64X2 und habe gestern erfolgreich Xen zum Laufen bekommen. Ich würde gerne ein wenig mit Zimbra experimentieren und möchte mir mein "normales" System nicht versauen.

Jetzt hänge ich allerdings an der NAT-Konfiguration. Daten in Kürze:
- eth0: IP 87.106.72.x mit "speziellem" 1und-Routing

Code: Select all

iface eth0 inet static
    address   87.106.72.x
    netmask   255.255.255.255
    network   87.106.72.x
    broadcast 87.106.72.x
    up        /sbin/route add -net 10.255.255.1 netmask 255.255.255.255 dev eth0
    up        /sbin/route add default gw 10.255.255.1
- eth0:0 und eth0:1 mit jeweils einer weiteren Adresse aus dem Bereich 87.106.59...

Code: Select all

auto eth0:0
iface eth0:0 inet static
    address   87.106.59.y
    netmask   255.255.255.255
    network   87.106.59.y
    broadcast 87.106.59.y

auto eth0:1
iface eth0:1 inet static
    address   87.106.59.z
    netmask   255.255.255.255
    network   87.106.59.z
    broadcast 87.106.59.z
- Xen mit (network-script network-nat) und (vif-script vif-nat)
- domU-Zimbra bekommt Adresse 10.0.0.1, GW 10.0.0.254.
- Ping funktioniert, Internet funktioniert, "Basic"-Nat bekomme ich auch noch hin:

Code: Select all

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/8 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 81 -j DNAT --to-destination 10.0.0.1:80
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 7071 -j DNAT --to-destination 10.0.0.1:7071
Jetzt möchte ich aber eine meiner beiden "brachliegenden" IP-Adressen fürs NAT verwenden, sodass ich z.B. direkt auf http://87.106.59.y/ zugreifen kann, d.h. dass der 80er Port direkt geforwarded wird. Ganz traumhaft wäre es natürlich, wenn ich es irgendwie schaffen könnte, die weitere IP (eth0:0) komplett der DomU-Zimbra zuzuweisen, sodass ich mir das NAT sparen könnte.

Leider bin ich heute nacht daran gescheitert.

Habt ihr einen entscheidenden Hinweis für mich?
Bei Erfolg folgt eine Anleitung in meinem Blog :-)

Vielen Dank im Voraus!

ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe

Re: 1und1: Zusätzliche IP-Adresse und NAT auf Xen

Post by ffl » 2007-04-06 19:44

Fürs Archiv. Es ist eigentlich ganz einfach, wenn man weiß wie.
Die Lösung habe ich hier gefunden und ich kopiere sie nochmal hier rein:
To summerise for everyone else.
I have a dedicated server. I can't use bridged network becuase my ISP drops
my network whenever the switch sees an unknown MAC.
So route is the way to go.

Here's what i did:

modify /etc/xen/xend-config.sxp to make sure these are uncommented:
(network-script network-route)
(vif-script vif-route)
comment our the bridge ones.

make sure you have in /etc/xen/scripts/network-route:
echo 1 >/proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

Setup your dom0 network like normal. You should set the default gateway.

My domU config looks like this (the important parts anyway):
vif = [ 'ip=domU_IP_HERE' ]
ip = "domU_IP_HERE"
netmask="255.255.255.255"
gateway="dom0_gateway"

The gateway is the dom0 gateway.

setup domU's network so that it has the domU ip.
Then add default gateway:
ip route add default dev eth0

I put that line in /etc/sysconfig/network-scripts/ifcfg-eth0 for centos.

AND THATS IT!!! and it works.
Und so gehts auch unter Debian (domU):

Code: Select all

# The primary network interface
auto eth0
iface eth0 inet static
    address domU-IP
    netmask 255.255.255.255
    up        /sbin/route add default dev eth0
    up        /sbin/route add default gw 10.255.255.1
Das eth0:0-Interface auf dem dom0-Host ist selbstverständlich zu deaktivieren.

Danke trotzdem für alle, die sich schon Gedanken dazu gemacht haben :-)