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...
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.
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.