Hallo zusammen,
ich habe einen dedicated rootserver bei hetzner. Ich möchte auf diesem Server (unter anderem) virtuelle Maschinen betreiben, auf die aus dem Internet zugegriffen werden kann und die selbst natürlich auch eine Internetverbindung aufbauen können sollen. Dazu ist laut Hetzner (aufgrund der Prüfung IP/MAC) eine zusätzliche public IP und eine virtuelle MAC-Adresse für diese public IP notwendig - beides habe ich vorliegen. Die Verbindung soll über eine routed bridge ("brouter") laufen. Ich habe mich an diese Anleitung von hetzner gehalten: https://wiki.hetzner.de/index.php/KVM_mit_libvirt
Das Problem ist nun, dass ich die VM nicht über's Internet erreichen kann (nur über SSH-Tunnel über VNC) und die VM selbst auch keine Internetverbindung aufbauen kann.
Die /etc/network/interfaces auf dem host sieht folgendermassen aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ### Hetzner Online GmbH - installimage # Loopback device: auto lo iface lo inet loopback iface lo inet6 loopback # device: eth0 auto eth0 iface eth0 inet static address (public host ip4) netmask 255.255.255.192 gateway (host gateway) # default route to access subnet up route add -net (erste 3 Stellen der host ip).192 netmask 255.255.255.192 gw (host gateway) eth0 # iface eth0 inet6 static address (public host ip6)::2 netmask 64 gateway fe80::1 # auto virbr1 iface virbr1 inet static address (public host ip4) netmask 255.255.255.255 bridge_ports none bridge_stp off bridge_fd 0 pre-up brctl addbr virbr1 up ip route add (public Zusatz ip4)/32 dev virbr1 down ip route del (public Zusatz ip4)/32 dev virbr1 # iface virbr1 inet6 static address (public host ip6)::2 netmask 64 |
Die Ausgabe von ifconfig auf dem host sieht so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | eth0 Link encap:Ethernet HWaddr 90:1b:0e:a4:a8:13 inet addr:(public host ip4) Bcast:(public host broadcast) Mask:(public host netmask) inet6 addr: fe80::921b:eff:fea4:a813/64 Scope:Link inet6 addr: (public host ip6)::2/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15356 errors:0 dropped:0 overruns:0 frame:0 TX packets:17311 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1457008 (1.4 MB) TX bytes:2019132 (2.0 MB) Interrupt:16 Memory:f7000000-f7020000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:14061 errors:0 dropped:0 overruns:0 frame:0 TX packets:14061 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:1323679 (1.3 MB) TX bytes:1323679 (1.3 MB) virbr0 Link encap:Ethernet HWaddr 52:54:00:f8:4a:45 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) virbr1 Link encap:Ethernet HWaddr fe:(letze 5 Teile der virtuellen zusätzlichen MAC) inet addr:(public Zusatz ip4) Bcast:(public host ip4) Mask:255.255.255.255 inet6 addr: fe80::40b3:4bff:feb3:16dc/64 Scope:Link inet6 addr: (public host ip6)::2/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:536 (536.0 B) TX bytes:510 (510.0 B) vnet0 Link encap:Ethernet HWaddr fe:(letze 5 Teile der virtuellen zusätzlichen MAC) inet6 addr: fe80::fc50:56ff:fe00:3691/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:648 (648.0 B) TX bytes:360 (360.0 B) |
In der VM sieht die /etc/network/interfaces so aus:
1 2 3 4 5 6 | auto eth0 iface eth0 inet static address (public Zusatz ip4) netmask 255.255.255.255 gateway (Zusatz ip4 Gateway) dns-nameservers 213.133.98.98.213.133.99.99 #Hetzner's nameservers |
In der von mir erzeugten XML für die VM habe ich den Tag mit der MAC natürlich angepasst:
1 2 3 4 5 6 7 8 | <interface type='bridge'> <mac address='(virtuelle zusätzliche MAC)'/> <source bridge='virbr1'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> |
Ausgabe von brctl show (auf dem host):
1 2 3 | bridge name bridge id STP enabled interfaces virbr0 8000.525400f84a45 yes virbr0-nic virbr1 8000.fe5056003691 no vnet0 |
Ausgabe von route -n (auf dem host):
1 2 3 4 5 6 7 8 9 10 11 12 | Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 (host gateway) 0.0.0.0 UG 0 0 0 eth0 (erste 3 \ Stellen der \ host ip).192 (host gateway) 255.255.255.192 UG 0 0 0 eth0 (erste 3 \ Stellen der \ host ip).192 0.0.0.0 255.255.255.192 U 0 0 0 eth0 (public Zusatz ip4) 0.0.0.0 255.255.255.255 UH 0 0 0 virbr1 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 |
Habe noch eine andere Anleitung gefunden: http://www.lukaszielinski.de/blog/posts/2012/07/03/hetzner-server-vm-network-config/ - das deckt sich aber praktisch mit dem, was ich gemacht habe.
Hat jemand eine Idee, was ich falsch mache?