Wie verbinde ich zwei unterschiedliche IP-Netzte miteinander? Also ich habe einen Server A(Linux) mit Internet-Verbindung, der sich über VPN(OpenVPN) mit einem zweiten Server B(auch Linux) verbindet. Der IP Adress Bereich der beiden Netzwerke ist aber unterschiedlich. Nun würde ich es gerne so einrichten, das alles was an Anfragen kommt und an den IP Bereich von Server B addresiert ist über das VPN von Server A an Server B geschickt wird, aber das anfragen ins Internet weiter über Server A laufen und nicht erst von Server A durchs VPN an Server B und dann ins Internet geschickt werden. Leider habe ich es nciht hinbekommen die Routing Einstellungen so hinzubekommen, dass das funktioniert, entweder geht alles über das VPN oder garnichts(jedenfalls nicht von den Clients am Server, das der Server auf alle Netze zugreifen kann ist ja nciht das Problem) Eigentlich sollte das doch mit den iptables möglich sein oder?
Bischen mehr Info über das Netz A würde helfen. Ich nehme an, dass der Server A nicht gleichzeitig der Default-Gateway des Netzes A ist. Sondern neben dem Server A auch nicht ein separater Internet-Router im Netz A steht. Denn sonst wärs zu einfach. Wenn dem so ist: Einer der beiden muss Default-Gateway spielen und alles was ihn nichts angeht zum Kollegen durchreichen. Wer von den beiden das ist kannst du dir aussuchen. Allerdings sind Server meist besser konfiguriertbar als DSL-Blackboxes, so dass es sinnvoll sein kann, den Server als Default-Gateway (und daher evtl. auch DHCP-Server) einzurichten. Mit iptables hat das aber nichts zu tun. Sondern mit Routing.
Tux schrieb: > Der IP Adress Bereich der beiden Netzwerke ist aber unterschiedlich. Und das ist auch gut so. Ansonsten müßte man nämlich mit N:N-Mapping arbeiten, was die Geschichte unnötig verkompliziert. Ein paar mehr Informationen wären in der Tat hilfreich. Wie sind die Internetzugänge realisiert? Separate (Hardware-)Router oder Soft-Router auf den Servern? Skizze des Systems?
Tux schrieb: > Leider habe ich es nciht hinbekommen > die Routing Einstellungen so hinzubekommen, dass das funktioniert, > entweder geht alles über das VPN oder garnichts(jedenfalls nicht von den > Clients am Server, das der Server auf alle Netze zugreifen kann ist ja > nciht das Problem) Eigentlich sollte das doch mit den iptables möglich > sein oder? Nein. iptables ist firewall. Was du anschauen musst ist dein Routing. Zeig uns mal die Routing Tabellen auf den beiden Gateways, wenn der vpn oben ist.
Tom M. schrieb: > Nein. iptables ist firewall. Was du anschauen musst ist dein Routing. > > Zeig uns mal die Routing Tabellen auf den beiden Gateways, wenn der vpn > > oben ist. Ohh das tut mir Leid ich dachte immer die iptables machen auch das Routing..ich meinte damit auch Routing, aber ich ging nur davon aus das die Routing tabellen zu den Iptables gehören. Das Netzwerk sieht so aus, das Server A für Netz A sowohl DNS Server ist als auch Gateway, er hängt über eine PPPoE Verbindung am Internet und routet dann auf eine Bridge für WLAN und Ethernet. Netz B ist etwas komplizierter aber vom Prinzip her vergleichbar aufgebaut nur das das VPN auch in der Bridge hängt. Die Routingtabellen kann ich leider gerade nicht posten weil ich gerade unterwegs bin und mein Telefon kein SSH kann... Kann ich aber vermutlich heute Abend machen. Vielen Dank schonmal...
Hier mal die Routing Tabelle von Server A (leider etwas verschoben):
1 | Kernel IP routing table |
2 | Destination Gateway Genmask Flags Metric Ref Use Iface |
3 | 217.13.183.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp_1_32_1 |
4 | 192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 |
5 | 192.168.40.0 192.168.40.1 255.255.255.0 UG 0 0 0 tap0 |
6 | 192.168.40.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0 |
7 | 0.0.0.0 217.13.183.1 0.0.0.0 UG 0 0 0 ppp_1_32_1 |
[Moderator's note: ich habe pre-Markierungen eingebaut. Jörg]
Ganz vergessen, zur Erklärung das Netz A ist im Bereich 192.168.50.* das Netz B(in das ich per VPN gehe) im Bereich 192.168.40.* und sonst halt die öffentliche IP.
Tux schrieb:
1 | 217.13.xxx.y 0.0.0.0 255.255.255.255 UH 0 0 0 ppp_1_32_1 |
2 | ... |
3 | 0.0.0.0 217.13.xxx.y 0.0.0.0 UG 0 0 0 ppp_1_32_1 |
Sieht für mich gut aus, die default route zeigt auf das PPP interface. Hast du den VPN zur Zeit oben? Verändert sich der Eintrag fürs DGW, wenn du den Tunnel stopst/startest? Analog auch auf dem anderen GW prüfen.
VPN ist oben, es ändert aber nichts am default Gateway. Eigentlich soll die default route aber auch auf das ppp Interface gehen, da ich nur Pakete die explizit in das Netz B gehen in den Tunnel routen will, alles andere soll eigentlich ins Internet gehen.
Also eine Bridge hat nichts mit Routing zu tun. Bridge ist Layer 2 und Routing Layer 3. Deine Konfiguration funktioniert nicht, weil du beides mischst. Das VPN darf nur zwischen den beiden Servern bzw. Endpunkten bestehen und sollte andere IPs haben. Server A 192.168.88.1 Server B 192.168.88.2 Wenn das Netz auf Seite B 192.168.50.1 ist musst du route add -net 192.168.50.0 netmask 255.255.255.0 GW 192.168.88.2 auf A eingeben und auf B route add -net 192.168.40.0 netmask 255.255.255.0 GW 192.168.88.1 Außerdem sollte das VPN mit TUN und nicht mit TAP Interfaces aufgebaut werden.
Das die Bridge nichts mit Routing zutun hat ist mir bewusst, aber eigentlich habe ich es extra über TAP und nicht über TUN gemacht weil TAP Layer 2 ist und nicht wie TUN Layer 3. Damit ist es ja dann für Server A im Prinzip so als würde er direkt an Server B hängen und ich habe nicht noch ein extra IP-Netz und kann eigentlich dann auch mit Netz A direkt ohne weiteres routing auf andere Hosts im Netz B zugreifen. Im Prinzip funktioniert es auch Server A kommt in jedem Fall schon in Netz B nur die Hosts im Netz A kommen nicht direkt über Internet Verbindung A ins Internet und ins VPN gleichzeitig(bzw. abhängig davon welches Ziel sie addresieren) sondern wenn geht alles was nicht in Netz A liegt in Netz B bzw. über Server B ins Internet, was natürlich unnötig Latenz und Traffic bedeutet oder es geht halt alles über Internetverbindung A ins Internet und außer vom Server selbst nichts in Netz B.
Nö, das geht nicht. Wenn du unterschiedliche Netze auf beiden Seiten hast, dann geht das nur über Routing. >B nur die Hosts im Netz A kommen nicht direkt über Internet Verbindung A >ins Internet und ins VPN gleichzeitig(bzw. abhängig davon welches Ziel >>sie addresieren) sondern wenn geht alles was nicht in Netz A liegt in >Netz B bzw. über Server B ins Internet, was natürlich unnötig Latenz und >Traffic bedeutet oder es geht halt alles über Internetverbindung A ins Wie stellst du das fest? WEnn du einen Layer 2 Tunnel haben willst, dann müssen beide Seiten den gleichen IP Range verwenden. Server A 192.168.50.1 Server B 192.168.50.64 Die Clients auf Seite A bekommen IPs von 192.168.50.2-63 und als Gateway 192.168.50.1 und die anderen entsprechend. Das ist sehr langsam. Ansonsten fehlen für weitere Diagnosen die Configs und die Firewall Regeln.
Ich habe es durch ausprobieren festgestellt, indem ich mir einfach angeschaut habe was für Pakete wo rauskommen. Bzw. von welchen Interface die Antwort kommt. Ich würde eigentlich gerne bei TAP bleiben, weil ich Broadcast Support brauche. Naja, Server A bekommt ja auch eine IP aus Netz B, deswegen geht es ja auch von Server A aus, in jedem Fall. Aber eigentlich dachte ich mir dann sollte es auch gehen wenn ich einfach den Server A die Anfragen ins Netz B über das VPN zu Server B route, bzw. direkt in die Netzwerk Bridge von Server B und somit direkt ins ganze Netz B. Ich verstehe noch nciht ganz wieso das nicht geht. Würde das dann bedeuten es würde theoretisch mit NAT funktionieren, wenn also der Server A alle Anfragen von Netz A ins Netz B maskieren würde? Vielen Dank aber schonmal!
Jede Menge unnötigen Traffic und Latenzen hast du wegen der Broadcasts mit dem Bridge-Design erst recht. Über WAN-Verbindungen ist Routing definitiv besser geeignet.
Also man kann entweder Routing oder Bridging haben nicht beides. >ich mir dann sollte es auch gehen wenn ich einfach den Server A die >Anfragen ins Netz B über das VPN zu Server B route, bzw. direkt in die >Netzwerk Bridge von Server B und somit direkt ins ganze Netz B. Ich >verstehe noch nciht ganz wieso das nicht geht. Würde das dann bedeuten Du hast die Wahl. Entweder du machst das per TAP oder musst deine Konfiguration bereinigen. NAT macht man auf dem externen Interface ins Internet auf beiden Rechnern. Wenn du Broadcasts brauchst, dann musst du WLAN,lokales LAN und VPN in einer Brücke verbinden und zwar auf beiden Seiten. Die Rechner müssen dann alle in einem IP Range liegen, sonst können die Rechner nicht untereinander kommunizieren. Außerdem sollte man die Firewall anpassen, damit die Rechner auf jeder Seite den richtigen Gateway zugewiesen bekommen. Alles nicht ganz einfach geht aber alles zu machen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.