Hetzner EQ-Server + KVM && bridge

Vorneweg: Es ist ein Krampf bis ich es rausgefunden hatte…

Eine Bridge einrichten, dafuer:

aptitude install bridge-utils

und anschliessend die /etc/network/interfaces entsprechend anpassen:

### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
 
# device: eth0
auto  eth0
iface eth0 inet manual
 
# bridge: br0
auto br0
iface br0 inet static
	address		188.XX.XX.142
	broadcast	188.XX.XX.191
	netmask		255.255.255.192
	gateway		188.XX.XX.129
 
	bridge_ports	eth0
	bridge_stp	on
	bridge_maxwait	5
 
	up		route add -host 188.XX.XX.160 gw 188.XX.XX.160
	up		route add -host 188.XX.XX.161 gw 188.XX.XX.161
	up		route add -host 188.XX.XX.162 gw 188.XX.XX.162

Dabei darauf auf die klassischen Fehler achten:

  1. echo 1 >> /proc/sys/net/ipv4/ip_forward
  2. iptables -P FORWARD ACCEPT

Wichtig war bei mir unter Ubuntu Linux auch noch in der /etc/sysctl.conf den folgenden Wert einzukommentieren:

 net.ipv4.ip_forward=1

Bei der Konfiguration der virtuellen Maschinen dann das Netzwerk ueber die bridge (br0) konfigurieren. Nachtraeglich kann man das sonst auch noch in der entsprechenden /etc/libvirt/quemu/MASCHINENNAME.xml anpassen:

    <interface type='bridge'>
      <mac address='54:52:00:3f:35:9d'/>
      <source bridge='br0'/>
    </interface>

In der Maschine selber ist es dann nur noch wichtig, die IP des Hauptsystems als Gateway einzutragen, ein Beispiel fuer die /etc/network/interfaces eines Gastes waere:

auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
	address		188.XX.XX.162
	broadcast	188.XX.XX.191
	netmask		255.255.255.192
	gateway		188.XX.XX.142

Die Informationen hier habe ich aus dem Blogeintrag: „Hetzner: EQ-Serie mit zusaetzlichen IP-Adressen (HowTo)“ und den bridge-krams aus meinem Kopf…

[Update]

  • 2010-10-18: stp=on und sysctl Absatz hinzugefuegt

prego

/me... prego!

26 thoughts to “Hetzner EQ-Server + KVM && bridge”

  1. Super, das geht so ! Allerdings fängt man sich dabei auch die Pakete der Subnetz-Genossen, wenn die Bridge über eth0 gebaut wird. Kann man gut mit iptstate sehen. Mag´ wohl auf den ersten Blick nicht schaden. Aber ich denke sauberer ist es so:

    ### Hetzner Online AG – installimage
    # Loopback device:
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 188.XX.XX.142
    netmask 255.255.255.255
    gateway 188.XX.XX.129
    pointopoint 188.XX.XX.129

    auto br0
    iface br0 inet static
    address 188.XX.XX.142
    netmask 255.255.255.255

    bridge_ports none
    bridge_fd 9
    bridge_hello 2
    bridge_stp off
    bridge_maxwait 5

    up ip route add 188.XX.XX.162/32 dev br0
    up ip route add 188.XX.XX.163/32 dev br0
    …usw

    guest:

    auto lo
    iface lo inet loopback

    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 188.XX.XX.162
    netmask 255.255.255.255
    gateway 188.XX.XX.142
    pointopoint 188.XX.XX.142

    mist ! müsste irgendwie nochmal sauberer dargestellt werden ! komme nicht mit deinem Fenster hier zurecht

  2. Hey Dominik. Danke fuer Deine Anmerkungen. Ich muss bald einen EQ8 einrichten – gekauft ist er schon – und dann guck ich mir das an und aktualisiere den Blogeintrag entsprechend. Cool! :-)

  3. Hallo Dominik,
    ich hätte noch eine Ergänzung für den Fall, dass Hetzner so liebenswürdig ist die zusätzlichen IP-Adressen aus einem anderen Subnetz zu vergeben – wie sie es netterweise bei mir gemacht haben…
    Es half die Broadcast-Adresse und die Netzmaske entsprechend zu erweitern. Ich habe sie auf: „XX.XX.255.255“ (Broadcast) und: 255.255.0.0 (Netzmaske) gesetzt. Ich weiß, dass das ein wenig gemein ist, aber nachdem ich mir nach dieser Lösung einen Wolf gesucht habe, hatte ich keine Lust auch noch mit Bits rumzurechnen. Zu erwähnen sei noch, dass manchmal die Netzkonfiguration nach diesen Änderungen zusammenbricht, davon sollte man sich nicht täuschen lassen, das gibt sich nach einiger Zeit, kann beim Debugging aber ungemein verwirren. Ach ja, natürlich müssen die entsprechenden Werte auch im Netzwerk-Interface des Gastes vorgenommen werden.
    Herzliche Grüße
    Mark.

  4. @mark: danke fuer deine anmerkung! :-)

    @dominik: wenn ich die bridge auf die von dir vorgeschlagene art und weise konfiguriere, dann erkennt virt-manager sie nicht mehr als bridge. any idea why?

  5. @mark: genau diese Angst umtrieb mich, weshalb ich nach der Bestellung schnell noch zusätzliche Ip´s für ein Stück/Monat geordert habe.

    @prego
    sorry nee. Der Debian Installer hat mit der Konfig auch Probleme. Ich benutze den virt-manager nicht. Mache alles mit virt-install
    Ich schätze aber, das Problem ist weil es eine Brücke ohne bridged ports ist „bridge_ports none“

    Beim Debianinstaller akiviere ich nach der Abfrage der Netzwerkdaten und vor der Partitionierung eine zusätzl. Konsole und ändere die Interfaces manuell mit nano.

  6. Meine Rettung :smile: , nach monatelangem basteln, danke.

    Tatsächlich läuft es bei mir nur mit der broadcast XX.XX.255.255 netmask 255.255.0.0
    Kann Hetzner das nicht beanstanden?
    Gibt es keine bessere Lösung?

  7. Erstmal danke für die gute Anleitung, aber hast du bei dem Setup auch das Problem, dass öfters
    „eth0: received packet with own address as source address“
    im Kernel-Log auftaucht?
    Liegt offensichtlich daran, dass Bridge und eth0 dieselbe MAC haben, nur weiss ich leider nicht, wie ich das Problem beheben kann.

  8. hi, ich hab fuer die physikalische maschine selber ipv6 erfolgreich am laufen, aber leider noch nix mit den virtuellen maschinen… wenn du da ne loesung hast wuerde mich das brennend interessieren!!

    jan :-)

  9. Moin moin,

    hab grad selbst meinen EQ6 mit KVM an den Start gebracht. Die Host-Routen braucht man nur, wenn man die Netzroute, die Hetzner für weitere Server im Netz einträgt, verwendet. Bei einem Setup mit nur einem physikalischen Server auf dem VMs laufen, kann man Hetzners Netzroute aus der /etc/network/interfaces rauswerfen. Dann spart man sich auch die Host-Routen zu den VMs, was erheblich smarter ausschaut :-)

    Gruß

    Afripowered

  10. Hallöchen Ihr lieben.
    Ich habe auch ein root bei http://www.hetzner.de
    habe das so gemacht wie da oben, nur leider will mein root die ip’s nicht annehmen.
    wie und wo sehe ich denn, warum / wieso / weshalb er die nicht annehmen will?
    habe nen X4 bei denen mit nen subnetz mit 8ip’s wo ich ja nur 6 benutzen kann.

    plz helft mir…

  11. DAAAAAANKEE!!!!!!!!!!
    Ich habe rund fünf Stunden rumprobiert, bis ich gottseidank auf deinen Beitrag gestoßen bin.
    Jetzt funktioniert es. :)

  12. Es funktioniert! Probiere schon seit etwa 2 Tagen herum und nun finde ich endlich mal einen Post der Klipp und Klar auf das Wesentliche eingeht und dies zudem mit einem einfach zu verstehendem Beispiel erklärt. Schick mir via Email (sofern vorhanden) deine PayPal Adresse, bekommst ne Spende.

  13. Ich benutze diese Konfig nun auch leider erreiche ich einige Server seitem nicht mehr die im selbigen RZ stehen vllt kann mir jemand helfen hab 2 VMs laufen über Virtualbox

    ### Hetzner Online AG – installimage
    # Loopback device:
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 176.XX.76.21
    netmask 255.255.0.0
    gateway 176.XX.76.1
    pointopoint 176.XX.76.1

    auto br0
    iface br0 inet static
    address 176.XX.76.21
    netmask 255.255.0.0

    bridge_ports none
    bridge_fd 9
    bridge_hello 2
    bridge_stp off
    bridge_maxwait 5

    up ip route add 176.XX.96.138/32 dev br0
    up ip route add 176.XX.96.142/32 dev br0

    kann mir jemand erklären wo der fehler liegt? DANKE

  14. guten morgen :)
    na bei den thread hier …
    ich werde die anleitung (conf) gleich mal testen …
    bin auch schon zwei tage dabei die schei*** zu bauen ..
    und immer das selbe kein ping :D

  15. @Dominik
    wie schaut denn deine install line aus in etwa
    bei mir ist es so
    virt-install –connect qemu:///system -n steven -r 5012 –vcpus=4 –disk path=/home/v-server/steven.img,size=12 -c /home/v-server/debian-6.0.6-amd64-netinst.iso –network bridge=br0,model=virtio –vnc –vnclisten=ip-bla-blub –noautoconsole –os-type linux –os-variant debiansqueeze –accelerate –hv
    …..ich frage wegen …
    Beim Debianinstaller akiviere ich nach der Abfrage der Netzwerkdaten und vor der Partitionierung eine zusätzl. Konsole und ändere die Interfaces manuell mit nano.
    ^^ den punkt würde ich noch gerne erfahren
    mfg

  16. tag die damen :)
    funzt soweit alles
    was micht aber stört ist das ich bei der install kein inet habe …
    ja ich weiss für debian und so ist es oki
    aber bei der netinstall von gentoo geht es nicht anders
    mal sehen was ich da baue
    ich gebe bescheit

  17. „stp on“ ist im rz halt so ne sache, (cisco port security). Sonst wirklich perfekte Anleitung. Alle anderen Howto Schreiber hams wohl selber nich kapiert. Vielen Dank!

  18. Vielen Dank, ich wäre fast wahnsinnig geworden :-)
    Deine Anleitung Klappt auf Anhieb, haste super geschrieben.

    Das ganze läuft jetzt auf nen Hetzner EX 4S mit Ubuntu 12.04, als Host und in der KVM.

    Grüße
    Michael

  19. Danke danke danke!
    Hat mir massenhaft Nerven und Zeit erspart deine Anleitung :)

    Interessant war, dass bei mir im Guest nichts zu konfigurieren war in der /etc/network/interfaces – es reichte der Host (beides Debian 8)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.