Umrouten einer Quell-IP zu anderen Provider über Tinc-VPN

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
GalliMali
Beiträge: 6
Registriert: 24.11.2015 20:43:10

Umrouten einer Quell-IP zu anderen Provider über Tinc-VPN

Beitrag von GalliMali » 24.11.2015 21:15:13

Hallo.

Ich hab auf einem Linux-Jessie-Server tinc für ein VPN laufen.

Netz 1 - 192.168.11.0 - Linux 192.168.11.253 - Internet-Gateway 192.168.11.1 - Virtuelle VPN 10.0.0.1
Netz 2 - 192.168.12.0 - Linux 192.168.12.253 - Internet-Gateway 192.168.12.1 - Virtuelle VPN 10.0.0.2

In den GWs ist in beiden Netzwerk das andere mit einer statischen Router eingetragen.

Klappt alles Prima.


Jetzt wollte ich einem Computer das Internet des anderen Netzwerks zuteilen.

Also habe ich manuell den Netz 2 Computer 192.168.12.200 das Netz 2 Linux 192.168.12.253 statt des Internet-Gatways 192.168.12.1 als Gateway eingetragen.

"Leider" aber reagiert das Linux nicht ganz so wie gewünscht. Alle Pakete an 192.168.11.0 gehen raus. Aber alle anderen Verbindungen gehen trotzdem zum Internet-Gateway des Netz 2.

Nun würde ich am liebsten den Gateway an diesem Linux auf die Virtuelle IP des VPN des anderen Netzes einstellen. Allerdings könnte dann tinc auch nicht mehr auf die öffentliche IP zugreifen, um die VPN aufzubauen.

Ich hoffe es klingt jetzt nicht zu kompliziert. jedenfalls brauche ich eine Idee, wie ich das Problem lösen könnte?

Momentan fälle mir nur ein

Code: Alles auswählen

route add -net 1.0.0.0 netmask 255.0.0.0 gw 10.0.0.1
bis

Code: Alles auswählen

route add -net 222.0.0.0 netmask 255.0.0.0 gw 10.0.0.1
mit Ausnahme des IP-Bereiches 10 und meines Providers hinzuzufügen.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VP

Beitrag von mistersixt » 25.11.2015 08:48:06

Also auch nach mehrmaligem Lesen habe ich nicht verstanden, was Du wirklich erreichen willst bzw. wie Dein Netz gestrickt ist. Aber ein paar Hinweise:

Wenn der Rechner 192.168.12.200 als Default-Route den Linux-Rechner mit der IP 192.168.12.253 hat, und dieser Linux-Rechner mit 192.168.12.253 wiederum als Default-Route die Linux 192.168.12.1, dann sollte alles perse auch das Gateway 192.168.12.1 "verlassen".

Insgesamt würde ich viel mit traceroute arbeiten, damit Du siehst, welchen Weg die Pakete nehmen und wie weit Du kommst. Und immer die Routen auf beiden(!) Seiten beachten, der Rückweg von Paketen ist natürlich genauso wichtig wie der Hinweg. Und gerade, wenn 2 Rechner über 2 Netze parallel miteinander kommunizieren können, machen die Pakete unter Umständen einen "Kreislauf", und dann geht nix mehr.

Vielleicht kommst Du somit einen Schritt weiter,

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

GalliMali
Beiträge: 6
Registriert: 24.11.2015 20:43:10

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VP

Beitrag von GalliMali » 25.11.2015 18:27:02

mistersixt hat geschrieben:Also auch nach mehrmaligem Lesen habe ich nicht verstanden, was Du wirklich erreichen willst bzw. wie Dein Netz gestrickt ist. Aber ein paar Hinweise:

Wenn der Rechner 192.168.12.200 als Default-Route den Linux-Rechner mit der IP 192.168.12.253 hat, und dieser Linux-Rechner mit 192.168.12.253 wiederum als Default-Route die Linux 192.168.12.1, dann sollte alles perse auch das Gateway 192.168.12.1 "verlassen".

Insgesamt würde ich viel mit traceroute arbeiten, damit Du siehst, welchen Weg die Pakete nehmen und wie weit Du kommst. Und immer die Routen auf beiden(!) Seiten beachten, der Rückweg von Paketen ist natürlich genauso wichtig wie der Hinweg. Und gerade, wenn 2 Rechner über 2 Netze parallel miteinander kommunizieren können, machen die Pakete unter Umständen einen "Kreislauf", und dann geht nix mehr.

Vielleicht kommst Du somit einen Schritt weiter,

Gruss, mistersixt.

GalliMali
Beiträge: 6
Registriert: 24.11.2015 20:43:10

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VP

Beitrag von GalliMali » 25.11.2015 18:28:12

mistersixt hat geschrieben:Also auch nach mehrmaligem Lesen habe ich nicht verstanden, was Du wirklich erreichen willst bzw. wie Dein Netz gestrickt ist. Aber ein paar Hinweise:

Wenn der Rechner 192.168.12.200 als Default-Route den Linux-Rechner mit der IP 192.168.12.253 hat, und dieser Linux-Rechner mit 192.168.12.253 wiederum als Default-Route die Linux 192.168.12.1, dann sollte alles perse auch das Gateway 192.168.12.1 "verlassen".

Insgesamt würde ich viel mit traceroute arbeiten, damit Du siehst, welchen Weg die Pakete nehmen und wie weit Du kommst. Und immer die Routen auf beiden(!) Seiten beachten, der Rückweg von Paketen ist natürlich genauso wichtig wie der Hinweg. Und gerade, wenn 2 Rechner über 2 Netze parallel miteinander kommunizieren können, machen die Pakete unter Umständen einen "Kreislauf", und dann geht nix mehr.

Vielleicht kommst Du somit einen Schritt weiter,

Gruss, mistersixt.
Ja sorry. Es ist wirklich schwer das zu beschreiben.

Der PC mit 192.168.12.200 soll den VPN-Gateway 192.168.12.253 statt Internet-Gateway 192.168.12.1 benutzen.

Der Netz 2 VPN-Gateway 192.168.12.253 soll alle eingehenden Pakete an den VPN-Gateway des Netz 1 192.168.11.253 schicken und dann das Paket weiter zu dessen Internet-Gateway 192.168.11.1 des Netzes 1.

im tinc-up steht momentan.

Code: Alles auswählen

ifconfig $INTERFACE 10.0.0.2 netmask 255.0.0.0
route add -net 192.168.11.0 netmask 255.255.255.0 gw 10.0.0.2
An der stelle müsste nun der Komplette VPN-Gateway auf 10.0.0.2 umgestellt werden. Es ist mir auch gelungen, aber ich sperrte mir dabei immer auch das Internet weg, so dass die VPN zusammen gebrochen war.




Ich versuchs nochmal zu beschreiben...

Im Grunde möchte ich den Linux-Gateway, der mit TINC-VPN mit den anderen Verbunden ist. Zu einem Internet-Gateway direkt zum anderen Netz machen.

Viele benutzen ja bspw. so einen VPN-Dienst direkt auf dem Rechner, um anonym zu surfen oder Websperren zu umgehen.

Ich möchte aber nicht extra auf meinen Rechnern einen VPN installieren, sondern einfach nur meine bereits existierende Netz-Brücke so einzustellen, dass sie nicht nur die Netze miteinander verbindet, sondern auch alle Internet-Signale zum Gateway des anderen Netzes schickt.

In meinen Experimenten hatte ich leider zwei schlechte Scenarien...

1. Das sich das VPN durch den umgestellten Gateway selbst ausgesperrt hat, da die Verbindung immer zu sich selbst zurück kommt. Also ein Endlosloop.

2. Das Signal machte immer nur noch PING-PONG. Zwischen den Internet-Gateway und VPN-Gateway. Bis auch gedropt wurde :-(


Eigentlich habe ich Informatik sogar studiert. Leider kam das Thema Linux, Router, und VPN da nie wirklich so komplex zur Sprache. *sighs*
Und nach dem Problem zu Google hab ich nach zwei Stunden aufgegeben. Kaum jemand macht scheinbar sowas kompliziertes.

Aber unmöglich ist sowas aber nicht. Theoretisch können Fritz.Box sowas. Dann aber bietet sie keinen Zugang mehr zum lokalen Internet. Aber deren VPN vertraue ich nicht und zweites müsste ich dafür mir zwei überteurte FritzBoxen erstmal kaufen.

Nebenbei:

Der Grund ist nebenbei nicht ständig gesperrt zu werden.

Es gibt leider immer wieder Dienste, die erstmal den Account sperren, sobald man mal woanders surft. Aus "Sicherheit". Da ich einige solcher Accounts habe und die Handy-Nummern zum entsperren oft schon nicht mehr existieren, möchte einfach auf meinen Laptop und Tablett, den ich immer zwischen beiden Standorten hin und her nehme, einen speziellen Gateway zur Verfügung stellen.

Ausserdem hat der eine Zugang bezahlten Streamingzugang, der aber nur auf dessen Leitung verfügbar ist. Am anderen Standort bietet der Anbieter keine Internetzugänge zu Verfügung. Da es beides VDSL100-Anschlüsse sind, reicht aber die Leistung, es auch einfach zum anderen zu schicken.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VP

Beitrag von mistersixt » 26.11.2015 08:18:04

Auch wenn ich immer noch nicht Deinen Netzaufbau geschnackelt habe: vielleicht hilft Dir das NAT (network address translation) weiter, in dem Du beispielsweise sowas auf 192.168.12.253 einträgst:

Code: Alles auswählen

iptables -A POSTROUTING -t nat -s 192.168.12.200/32 -o tun0 -j MASQUERADE --random
.

Was macht der Befehl? Pakete von der Source IP 192.168.12.200/32, die das Interface tun0 verlassen sollen (angenommen, die 10.0.0.2 hat das Netzwerkdevice tun0 auf diesem 192.168.12.253), werden "umgesetzt", so dass der nächste Hop und alle weiteren denken, die Pakete würde von 10.0.0.2 kommen, und nicht von 192.168.12.200. Den Rückweg weiss dieses NAT automatisch auch, sprich, die zurückkommenden Pakete werden wieder "umgesetzt" und zu 192.168.12.200 weitergeleitet. So macht das übrigens jeder Heimrouter auch, sonst könnte man in diesen privaten Adress-Ranges gar nicht mit dem Rest des Internets kommunizieren ;) .

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

GalliMali
Beiträge: 6
Registriert: 24.11.2015 20:43:10

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VP

Beitrag von GalliMali » 26.11.2015 11:02:42

mistersixt hat geschrieben:Auch wenn ich immer noch nicht Deinen Netzaufbau geschnackelt habe:
Ich glaube ich sollte es bald Aufzeichen. Dabei sind es zwei gänge Standard-Netzwerke an zwei Standorten. So wie im Grunde die FritzBoxen zwei Netzwerke miteinander verbinden.
mistersixt hat geschrieben: ...vielleicht hilft Dir das NAT (network address translation) weiter, in dem Du beispielsweise sowas auf 192.168.12.253 einträgst:

Code: Alles auswählen

iptables -A POSTROUTING -t nat -s 192.168.12.200/32 -o tun0 -j MASQUERADE --random
.
....
Interessanter Tipp.

Leider aber Wirkungslos.

Inzwischen glaube ich aber es liegt an TINC. Baue ich unter Linux eine OpenVPN Verbindung zu einem Externen VPN-Anbieter auf, werden alle Signale an dessen EntferntenGateway weitergereicht.

Doch TINC ist mehr für eine Mesh-Vernetzung da und sucht automatisch immer den besten Weg zum Ziel.

Ich glaube diese Besonderheit von TINC sorgt am ende dafür, dass die Pakete zurück an den Lokalen Gateway wandern.

Ausser "sysctl -w net.ipv4.ip_forward=1" habe ich auch nie etwas anderes festgelegt. Iptables habe ich nie benutzt oder eingerichtet.

iptables-save gibt auch nichts aus.

Ok. Nur den umgeformten Befehl von oben nun. Aber davor war es ganz leer.

Code: Alles auswählen

tinc.conf
Device = /dev/net/tun
DeviceType = tap
Mode = switch
Wohlmöglich liegt es am Mode = switch.

Ich hab das vor Jahren eingerichtet. Warum ich switch nahm, weiss ich heute nicht mehr. Könnte sein, dass ich multicast brauchte. Aber das hatte leider damals nicht wie gewünscht funktioniert.

Ich hab es nur mal zum Test kurz auf router gestellt, danach funktioniert es aber nicht mehr.

Echt schade, dass man einen Gateway nicht so leicht umschieben/forwarden kann, wie einen Port.


Inzwischen glaube ich aber, dass ich das TINC-Netzwerk komplett auf OpenVPN am besten umstellen sollte, um zu meinen Ziel zu kommen.

Oder ich stelle wirklich 0-233.x.x.x (ausser die vom Provider von Netz 1) in die Routingtabelle ein.

In meinem Test funktionierte das jedenfalls auf anhieb.

Code: Alles auswählen

route add -net 8.0.0.0 netmask 255.0.0.0 gw 10.0.0.1
Dann verlief ein tracert auf die 8888 von Google über den anderen Standort wie gewünscht :-)

Ich möchte aber nicht unbedingt die Routingtabellen so vollpacken.


Beste Grüsse.

Gunah
Beiträge: 366
Registriert: 24.04.2005 17:00:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Umrouten einer Quell-IP zu anderen Provider über Tinc-VPN

Beitrag von Gunah » 14.09.2018 11:50:41

i know, das Thema ist schon etwas älter, aber stand vor dem gleichen Problem.
wichtig ist, dass das Subnetz auch in der hosts Datei vorhanden ist.

also

Code: Alles auswählen

Address = xxx.xxx.xxx.xxx
Subnet = 10.4.0.1/32 # origin IP
Subnet = 8.0.0.0/8 # Google Range
dannach klappt es auch :)

https://www.tinc-vpn.org/examples/redirect-gateway/

Antworten