Xen -> Rootserver -> Nat Probleme

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
dherkhon
Posts: 25
Joined: 2003-10-20 17:43

Xen -> Rootserver -> Nat Probleme

Post by dherkhon » 2007-10-29 19:40

Ich hab einen Rootserver bei s4u mit einer öffentlichen IP. Da mir weitere Ip´s ehrlich gesagt zu teuer sind, hab ich nach einer anderen Lösung gesucht. Nach langer suche fand ich dann den hinweis das man sowas über Nat regeln kann.

Es handelt sich übrigens um ein Debian Etch System.

Also hab ich meine versuche gestartet mit folgendem ergebniss:

Ddom0 xend-config.sxp Konfiguration:

Code: Select all

(vif-bridge xen-intern)
(vif-script vif-bridge)
(network-script network-route)
(dom0-min-mem 196)
(dom0-cpus 0)


domU Konfiguration:

Code: Select all

# Kernel to use
kernel = "/boot/vmlinuz-2.6.18-5-xen-686"
# Memory in megabytes
memory = 256
# Your domain's name
name = "v1"
# Root device
root = "/dev/hda1 ro"
# Don't forget to specify your bridge correctly here
vif = ['bridge=xen-intern']
disk = [ 'file:/home/xen/v1.img,hda1,w', 'file:/home/xen/v1-swap.img,hda2,w' ]
ramdisk = "/boot/initrd.img-2.6.18-5-xen-686"


dom0 /etc/network/interfaces Konfiguration

Code: Select all

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 85.25.150.***
  network 85.25.150.0
  netmask 255.255.255.0
  broadcast 85.25.150.255
  gateway 85.25.150.1

auto xen-intern
iface xen-intern inet static
  pre-up brctl addbr xen-intern
  address 85.25.150.***
  network 85.25.150.0
  netmask 255.255.255.0
  broadcast 85.25.150.255
  gateway 85.25.150.1
  bridge_fd 0
  bridge_hello 0
  bridge_stp off


domU /etc/network/interfaces Konfiguration:

Code: Select all

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.10.10
  netmask 255.255.255.0
  gateway 192.168.10.1


Jetzt die ausgabe von brctl show @ dom0

Code: Select all

bridge name     bridge id               STP enabled     interfaces
xen-intern              8000.feffffffffff       no              vif3.0


Und noch die ausgabe von ifconfig @ dom0

Code: Select all

eth0      Protokoll:Ethernet  Hardware Adresse 00:18:37:02:15:69
          inet Adresse:85.25.150.***  Bcast:85.25.150.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2467 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:813808 (794.7 KiB)  TX bytes:393954 (384.7 KiB)
          Interrupt:10 Basisadresse:0xcc00

lo        Protokoll:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vif3.0    Protokoll:Ethernet  Hardware Adresse FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:504 (504.0 b)  TX bytes:0 (0.0 b)

xen-inter Protokoll:Ethernet  Hardware Adresse FE:FF:FF:FF:FF:FF
          inet Adresse:85.25.150.***  Bcast:85.25.150.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:588 (588.0 b)  TX bytes:0 (0.0 b)


Nach meinem verständniss funktioniert die bridge. Mein problem ist allerdings weiterhin die Komunikation zwischen dom0 und domU.
Wenn ich innerhalb von domU versuche dom0 anzupingen, passiert nichts ausser Packetloss. Ich kann nur meine eigene IP ( in den fall 192.168.10.10 ) und 127.0.0.1 anpingen. Bei dom0 sieht es nicht besser aus.

Hab ich irgendwas vergessen ? Ich erwarte noch nicht das domU auf das Internet zugreifen kann, weil eben noch die entsprechenden NAt/Iptables regeln fehlen. Aber zumindest müsste doch dom0 und domU Komunizieren können oder ?

Ich Danke jetzt schonmal :)

Nachtrag:

Mal ein paar mehr angaben zum System:

Debian Etch
Kernel 2.6.18-5-xen-686
Xen 3.0.3-1

Wenn noch mehr infos nötig sind, Bitte sagen :)

thelaw
Posts: 53
Joined: 2002-07-30 18:53
Location: Salzgitter

Re: Xen -> Rootserver -> Nat Probleme

Post by thelaw » 2007-10-30 00:08

Hab von Xen eignetlich keine Ahnung. Aber eigentlich müsste das Setup in deinem Fall mit NAT dann so aussehen:

Server:
eth0: öffentliche IP
virtuelles if von xen: private ip. z.B. 192.168.0.1/24

virtueller Rechner:
netzwerk if: private ip. z.B. 192.168.0.2/24 gw 192.168.0.1

Dann Routing (inkl. Firewall) aktivieren.

Code: Select all

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 -o <xenif> -j ACCEPT
iptables -A FORWARD -i <xenif> -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -i <xenif> -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward


Bridging bringt dich hier nicht weiter. Aber auch in dem Fall wäre in der Config wohl ein Fehler. Du würdest dann eth0 keine IP zuweisen, sondern die öffentliche IP der Bridge geben und eth0 und das xenif der Bridge hinzufügen. Im Gastrechner hättest dann nur ein Interface dem du dann auch eine (andere) öffentliche IP geben musst.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Xen -> Rootserver -> Nat Probleme

Post by Joe User » 2007-10-30 00:31

TheLaw wrote:Du würdest dann eth0 keine IP zuweisen, sondern die öffentliche IP der Bridge geben und eth0 und das xenif der Bridge hinzufügen.

ACK
TheLaw wrote:Im Gastrechner hättest dann nur ein Interface dem du dann auch eine (andere) öffentliche IP geben musst.

Das eth0 das Gastsystems bekommt automatisch die IP der Hostbridge. Probleme werden aber durch die unterschiedlichen MACs entstehen ;)