Hallo, erstmal ein frohes neues, erfolgreiches, gesundes Jahr. Ich sitze gerade an meiner Konsole und verzweifle ein wenig beim Einrichten der Netzwerkkonfiguration. Folgendes soll laufen: Es steht eine IP zur Verfügung für Host und VEs. Von dieser IP soll nur SSH an den Server geleitet werden. Alle anderen Ports sollen an eine VE geroutet werden (VE101). VE101 dient dabei als VPN Gateway / Router / Firewall etc. für ein internes Netzwerk. Über dieses interne Netzwerk sollen alle VEs miteinander kommunizieren können. Ich habe nur ein Interface (eth0). Auf dem Host läuft Ubuntu. Ich habe folgendes versucht: Mit brctl eine neue Bridge br0 erstellt. Ve101 habe ich ein veth-Interface zugeordnet (eth0 auf 101, veth101.0 auf HN). eth0 und veth101.0 habe ich br0 zugewiesen und br0 die externe IP zugewiesen. VE101 habe ich ein weiteres Interface hinzugefügt (eth1 auf 101, veth101.1 auf HN). Dieses habe ich einer weiteren Bridge br1 hinzugefügt und die IP-Adresse des Routers des internen Netzwerkes eth1 zugewiesen. Nun habe ich aber das Problem, dass ich von VE101 nur eine Verbindung nach außen bekomme, wenn ich eht0 in VE101 eine IP vergebe... Diese kann aber nicht gleich der externen IP sein, weil das sonst ein Konflikt geben würde. Wenn ich br0 keine IP zuweise, muss ich aber eth0 auf dem HN eine IP zuweisen, weil der sonst nicht mehr erreichbar wäre. Hier nochmal eine Zusammenfassung: br0 10.3.242.12 eth0 veth101.0 -> eth0 (VE 101) br1 veth101.1 -> eth1 (VE 101) -> 192.168.0.1 veth102.0 -> eth0 (VE 102) -> 192.168.0.2 Was muss ich jetzt eth0 auf VE101 zuweisen, damit ich eine Verbindung nach außen bekomme? Danke im Vorraus für die Hilfe... Gruß hensoko
Re: Internes Netzwerk zwischen VEs, 1 IP
Hallo, hab mal ein Script geschrieben, welches den kompletten Networking-Kram zwischen / der VEs lösen soll... Allerdings scheitert es immer wieder am Routing zwischen den VEs... #!/bin/bash EXTERNALIP="192.168.178.5/24" EXTERNALGATEWAY="192.168.178.1" RVE="1001" OVES="1005 1010 1020 1100" echo "Bridges hinzufügen..." brctl addbr br0 brctl addbr vzbr0 echo "HN.eth0 HN.br0 hinzufügen..." brctl addif br0 eth0 echo "IP-Konfiguration aktualisieren..." ifconfig eth0 0 ifconfig br0 $EXTERNALIP ifconfig vzbr0 0 ip route add default via $EXTERNALGATEWAY dev br0 echo "VEs starten und Interfaces hinzufügen..." for VE in $RVE $OVES do echo "VE $VE wird verarbeitet..." echo " VE wird gestartet..." vzctl start $VE echo " Interface/s wird/werden hinzugefügt..." vzctl set $VE --netif_add eth0 if [ $VE = $RVE ] then vzctl set $VE --netif_add eth1 echo " Interfaces den / der Bridges hinzufügen..." brctl addif br0 veth$VE.0 brctl addif vzbr0 veth$VE.1 echo " IP-Konfiguration wird gesetzt..." vzctl exec $VE ifconfig eth0 0 vzctl exec $VE ifconfig eth1 veth$VE.1 192.168.0.1/24 echo " Gateway setzen..." vzctl exec $VE ip route add default via $EXTERNALGATEWAY dev eth0 else echo " Interfaces den / der Bridges hinzufügen..." brctl addif vzbr0 veth$VE.0 echo " IP-Konfiguration wird gesetzt..." IP=${VE:1:3} IP=${IP#0} vzctl exec ifconfig eth0 192.168.0.$IP/24 ifconfig veth$VE.0 0 echo " Gateway setzen..." vzctl exec $VE ip route add default via 192.168.0.1 dev eth0 fi done Der Fehler, der bei allen VEs auftritt ist dieser: RTNETLINK answers: No such process Ich wollte eigentlich den veth Devices im HN keine IPs zuweisen, sondern eben nur innerhalb der einzelnen VE. Aber den VEs in OVES gelingt das Routing zu VE 1001 nicht und VE1001 hat über eth0 keinen Zugriff auf das lokale Netzwerk. Gruß hensoko