[solved] Welche route muss wo eingetragen werden?
-
Folgendes Szenario:
Host stellt als VPN Client eine openVPN Verbindung zu einem Anbieter, Zugriff aus dem eigenen Subnet bei aufgebauter Verbindung möglich.
Nun soll ein Zugriff von einem anderen Subnet auf den Host möglich sein, das wird doch als route eingetragen, oder? Auf dem Host?Hier das Routing vom Host mit aufgebauten VPN:
root@host:~# route -n Kernel-IP-Routentabelle Ziel Router Genmask Flags Metric Ref Use Iface 0.0.0.0 10.15.0.1 128.0.0.0 UG 0 0 0 tun0 default 10.0.10.1 0.0.0.0 UG 0 0 0 ens18 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens18 10.15.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 128.0.0.0 10.15.0.1 128.0.0.0 UG 0 0 0 tun0 xxx.133.135.147 10.0.10.1 255.255.255.255 UGH 0 0 0 ens18
Und hier ohne:
root@host:~# route -n Kernel-IP-Routentabelle Ziel Router Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.10.203 0.0.0.0 UG 0 0 0 ens18 0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18 0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens18
Hier noch paar Infos:
xxx.133.135.147: IP vom VPN Anbieter
10.15.0.9/16: IP vom TUN Interface, dem Host zugeteilte IP? Subnet dementsprechend 10.15.0.1
10.0.10.1/24: Subnet vom Host
10.0.10.203: IP vom Host
10.0.20.1/24: Subnet, welches auf dem Host zugreifen soll.Zum Thema Routing, da besteht voll die Begriffblockade. :)
Wer kann mir da helfen, damit irgendein Host aus 10.0.20.1 auf den Host 10.0.10.203 zugreifen kann?Ohne VPN Verbindung ist das möglich, sobald die Verbindung steht, nur aus dem eigenen Subnet.
-
Und pfSense soll nicht der Client sein, ggf warum nicht?
-
@mike69 said in Welche route muss wo eingetragen werden?:
Wer kann mir da helfen, damit irgendein Host aus 10.0.20.1 auf den Host 10.0.10.203 zugreifen kann?
Ohne VPN Verbindung ist das möglich, sobald die Verbindung steht, nur aus dem eigenen Subnet.OK also hat mit VPN gar nichts zu tun? Ansonsten versteh ich die Frage nicht wirklich ;)
-
@mike69 said in Welche route muss wo eingetragen werden?:
Und hier ohne:
root@host:~# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.10.203 0.0.0.0 UG 0 0 0 ens18
0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18
0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens18Hier noch paar Infos:
xxx.133.135.147: IP vom VPN Anbieter
10.15.0.9/16: IP vom TUN Interface, dem Host zugeteilte IP? Subnet dementsprechend 10.15.0.1
10.0.10.1/24: Subnet vom Host
10.0.10.203: IP vom Host
10.0.20.1/24: Subnet, welches auf dem Host zugreifen soll.Du erwähnst da /24 und /16 Subnetze aus dem 10.x Bereich, hast aber tatsächlich am Interface 10.0.0.0/8 konfiguriert. Da ist kein weiteres Routing im Bereich 10.x mehr möglich. Der Rechner denkt, ist eh alles an seiner eigenen Schnittstelle über L2 erreichbar.
Du solltest also als erstes mal das eigene Subnetz vernünftig einrichten.
-
Sehe gerade, sollte nicht in die hier her. Jens, mal bitte Richtung "Allgemeine Themen" verschieben, hat ja nichts mit pfSense zu tun. :)
@bob-dig said in Welche route muss wo eingetragen werden?:
Und pfSense soll nicht der Client sein, ggf warum nicht?
Klar, kann man machen, Ist nur ein Host, der das soll, deswegen der Sense das aufdrücken? Abgesehen davon, hatte das mal vor Jahren, es gab damals Probleme mit der Portweiterleitung.
@jegr said in Welche route muss wo eingetragen werden?:
OK also hat mit VPN gar nichts zu tun? Ansonsten versteh ich die Frage nicht wirklich ;)
Doch, irgendwie schon :)
Ohne VPN-Verbindung kann der Host B mit der IP 10.0.20.11 auf den Host A, IP 10.0.10.203, zugreifen.
Sobald Host A eine VPN Verbindung zum VPN Server aufbaut, ist das nicht mehr der Fall.@viragomann said in Welche route muss wo eingetragen werden?:
Du erwähnst da /24 und /16 Subnetze aus dem 10.x Bereich, hast aber tatsächlich am Interface 10.0.0.0/8 konfiguriert. Da ist kein weiteres Routing im Bereich 10.x mehr möglich. Der Rechner denkt, ist eh alles an seiner eigenen Schnittstelle über L2 erreichbar.
Du solltest also als erstes mal das eigene Subnetz vernünftig einrichten.Du, habe da nichts eingerichtet, weil ich davon kein Plan habe. also gehört dieses Routing nicht zur Standardinstallation von Debian?
Hier mal die Config von Host A:
root@host:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 3a:df:4a:c9:7e:17 brd ff:ff:ff:ff:ff:ff inet 10.0.10.203/8 brd 10.255.255.255 scope global ens18 valid_lft forever preferred_lft forever inet6 fe80::38df:4aff:fec9:7e17/64 scope link valid_lft forever preferred_lft forever 3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 link/none inet 10.15.0.12/16 brd 10.15.255.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fdda:d0d0:cafe:1301::100a/64 scope global valid_lft forever preferred_lft forever inet6 fe80::d4be:86f8:aa3e:3859/64 scope link stable-privacy valid_lft forever preferred_lft forever
Sehe jetzt was Du meinst, die IP ist fest vergeben, hier mal die /etc/network/interfaces:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug ens18 iface ens18 inet static address 10.0.10.203 gateway 10.0.10.1 dns-nameservers 10.0.10.1
Da fehlt die /24 hinter der Adresse. Ändere das und teste nochmal.
-
Die netmask Zeile fehlt:
netmask 255.255.255.0
Offensichtlich verwendet es dann /8, das gesamte Klasse A-Netz, was natürlich sehr, sehr breit ist.
inet 10.0.10.203/8 brd 10.255.255.255 scope global ens18
-
Habe die netmask hinzugefügt, dennoch keine Verbindung aus einem anderen Subnet zum Host mit einer VPN Verbindung. Nach einem Neustart hat sich die Routingtabelle leicht verändert.
ohne VPN 0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18 10.0.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ens18 mit VPN Ziel Router Genmask Flags Metric Ref Use Iface 0.0.0.0 10.15.0.1 128.0.0.0 UG 0 0 0 tun0 0.0.0.0 10.0.10.1 0.0.0.0 UG 0 0 0 ens18 10.0.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ens18 10.15.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 128.0.0.0 10.15.0.1 128.0.0.0 UG 0 0 0 tun0 xxx.213.154.132 10.0.10.1 255.255.255.255 UGH 0 0 0 ens18
Wieso kann keiner aus einem anderen Subnet auf diesen Host zugreifen, wenn dieser eine VPN Verbindung nach draussen aufgebaut hat? Das muss doch irgendwie gehen, aus dem eigenen Subnet geht es ja auch?
Zum Thema Routing, gibt es es irgendwo Seiten mit kindergerechten HowTos, die das den Begriffsstutzigsten irgendwie näher bringen können?
-
@mike69 said in Welche route muss wo eingetragen werden?:
Wieso kann keiner aus einem anderen Subnet auf diesen Host zugreifen, wenn dieser eine VPN Verbindung nach draussen aufgebaut hat? Das muss doch irgendwie gehen, aus dem eigenen Subnet geht es ja auch?
Weil der VPN Server die Default-Route pusht.
Eine Lösung wäre, die Route zu ignorieren, allerdings musst du dann die gewollten Routen auch von Hand setzen.
Eine andere Lösung wäre, den Server anders zu konfigurieren.
Noch eine fällt mir ein: Du kannst die Route für das Subnetz auch manuell setzen.
Eine noch, damit die vertraute pfSense auch ins Spiel kommt: Du kannst am pfSense Interface eine Outbound NAT Regel hinzufügen, die auf die Interface IP umsetzt.
Damit geht aber nur der Zugriff zum Host, nicht umgekehrt und du siehst da nur die IP der pfSense. -
Moin
@viragomann said in Welche route muss wo eingetragen werden?:Eine andere Lösung wäre, den Server anders zu konfigurieren.
Ist ein kommerzieller Anbieter, das wird nichts.
@viragomann said in Welche route muss wo eingetragen werden?:
Noch eine fällt mir ein: Du kannst die Route für das Subnetz auch manuell setzen.
Jupp, hört sich gut an. Nur was trage ich wo ein? Gehe mal von Host A (Host mit VPN Verbindung) aus.
Gruß
-
@mike69 said in Welche route muss wo eingetragen werden?:
Klar, kann man machen, Ist nur ein Host, der das soll, deswegen der Sense das aufdrücken? Abgesehen davon, hatte das mal vor Jahren, es gab damals Probleme mit der Portweiterleitung.
Ich hab ja ebenfalls meine Probleme mit OVPN und Routing und hier tatsächlich keine Hilfe bekommen, aber ja, wenn Du schon pfSense einsetzt, dann lass sie(?) das Routing machen, dafür ist sie(?) doch da.
Wenn Du dich mit einem VPN-Server verbindest, brauchst Du auch keine Portweiterleitung. Allerdings ist die Einrichtung auch nicht ganz trivial, wenn man dann auch noch einen KillSwitch, etc. haben will, wenn es denn so eine Art von VPN ist. -
@bob-dig said in Welche route muss wo eingetragen werden?:
Allerdings ist die Einrichtung auch nicht ganz trivial, wenn man dann auch noch einen KillSwitch haben will etc, wenn es denn so eine Art von VPN ist.
Ist so ein Art VPN.
Das witzige ist, mit perversen try and error hatte es schon mal geklappt. nur weiss ich nicht mehr wie. Meine auch, das hier niedergeschrieben zu haben. Hab die alten Threads hier mal durchforstet, aber nichts zu finden.
Alt werden ist doof.
-
@mike69
Bin nicht der Spezialist auf Debian, ich würde mal meine Suchmaschine mit meiner Frage füttern: https://www.startpage.com/do/dsearch?cat=web&language=deutsch&query=debian%20add%20static%20routeDie üblichen Parameter, die bei einer statischen Route anzugeben sind:
Das Subnetz, das geroutet werden soll
Die Ziel-IP der Route, also die deines Routers
Eventuell auch noch das eigene InterfaceDiese Dinge sollten in den gefundenen Antworten einzuordnen sein.
-
@mike69 said in Welche route muss wo eingetragen werden?:
Ist so ein Art VPN.
Die meisten Anbieter haben ja eine Anleitung für pfSense. Wenn nicht oder noch Fragen offen sind, sach Bescheid, denn damit kenn ich mich inzwischen aus.
-
Wie geschrieben, irgendwie klappte es schon. Es lief eine lange Zeit, danach sich nie wieder darum gekümmert und dann vergessen wie. :)
-
@bob-dig said in Welche route muss wo eingetragen werden?:
@mike69 said in Welche route muss wo eingetragen werden?:
Ist so ein Art VPN.
Die meisten Anbieter haben ja eine Anleitung für pfSense. Wenn nicht oder noch Fragen offen sind, sach Bescheid, denn damit kenn ich mich inzwischen aus.
Jo, mach ich.
Wenn die Sense sich um die VPN Verbindung kümmert, kann ich mir die Routing Geschichte sparen, bin ja dann hinter dem "TUN" Interface, quasi. :)
Egal. Es ging schon mal und werde es noch mal hinbekommen. Das wird jetzt persönlich :)
--
Edit:
Das wars, mit einem:
route add -net 10.0.20.0 netmask 255.255.255.0 gw 10.0.10.1 dev ens18
auf dem Host A ist die Sache geritzt, jetzt ist der Zugriff auf den Host möglich. Menno, wie einfach...
-
@mike69
Ist diese Route auch statisch (so dass sie einen Neustart überlebt)?Der Befehl sieht ja ganz ähnlich aus wie bei Winows, allerdings ist da für einen statischen Eintrag ein weiterer Parameter anzugeben.
-
Ist je nach Distro anders, unter Debian/Ubuntu kann es in der /etc/network/interfaces mit hinterlegt werden:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug ens18 iface ens18 inet static address 10.0.10.203 netmask 255.255.255.0 gateway 10.0.10.1 dns-nameservers 10.0.10.1 up route add -net 10.1.1.0 netmask 255.255.255.0 gw 10.0.10.1 dev ens18 down route del -net 10.1.1.0 netmask 255.255.255.0 gw 10.0.10.1 dev ens18
-
@mike69
Na dann ist es wohl statisch. -
So ja. :)