• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

VPN GW über Ubuntu18.04 einrichten

Lord Z

Member
Guten Tag,

ich wollte mir einen VPN GW über Ubuntu18.04 einrichten.
Ich habe nun Ubuntu18.04 installiert und auch eine SSTP VPN Verbindung erfolgreich installiert. Die Verbindung ist sehr gut und macht keine Probleme.

Nun möchte ich die VPN Verbindung zur Nutzung für andere in meinem Netz frei geben. Der Sinn soll es sein, dass nicht meine richtige öffentliche IP des ISP´s angezeigt wird.

Mein Hauptnetz nenne ich mal Fritzbox-Netz und dieses hat den Ip-Adressbereich 192.168.0.1 - 255

Ich habe einen USB Adapter (Netzwerkkarte) an dem PC angeschlossen und ich könnte nun ein weiteres Netz mit z.B. 192.168.12.1 - 255 erstellen. Was auch schon wieder ein Problem ist, da alles was ich von früher kenne sich anscheint geändert hat. Nix mit ifconfig mehr, jetzt gibt es ip und so einen Manager usw. Naja ich bin halt stehen geblieben.
Aber ich möchte es am liebsten so haben, dass die VPN Verbindung z.B. über ETH 0 mit der IP 192.168.0.2 herstellt wird und die zweite Karte ETH 1 oder besser eine Virtuelle IP auf ETH 0:1 mit der IP 192.168.0.3 bekommen wird. Denn ich möchte dann, wenn ein Netzwerkgerät den Standard GW 192.168.0.3 einträgt, sämtlicher Datenverkehr über diese Adresse durch den VPN geleitet wird. Also wenn einer die 192.168.0.3 anspricht dann der Datenverkehr nur über den VPN läuft und nicht mehr über die echte IP.

Alternativ könnte man auch einen zweiten Adresspool 192.168.12.1 - 255 auf der zweiten Karte erstellen. Nur wie kann ich den Adresspool 192.168.12.1-255 vom IP Adressbereich 192.168.0.1- 255 dann erreichbar machen?
Ich möchte auch, dass sich dann beide Adressbereiche untereinander erreichen können.

Ich weiß, dass ich das mit der Iptables und einer NAT machen muss, aber ich bin einfach zu lange raus und bastel seit 3 Tagen rum. Kann mir da bitte einer bei helfen ?
Denn ich bekomme es einfach nicht hin.



VPN-Idee.jpg
 
Ich würde ja gerne helfen, leider verstehe ich weder dein Schreiben noch den abgebildeten Aufbau.
Z.B. warum sind PC1, ... am router ??
 

spoensche

Moderator
Teammitglied
Einfacher hast du es, wenn die PC' s an einem Switch mit deinem VPN Gateway verbunden sind.

In deiner jetzigen Konstelation musst du folgendes durchführen:

1. Auf der Fritzbox den vollständigen Traffic der PC's zum VPN- Gateway forwarden (sofern die Fritzbox das kann)
2. Den Traffic auf deinem VPN- Gateway mittels NAT in den VPN- Tunnel forwarden.
 
OP
L

Lord Z

Member
Hi,

also ich möchte zu ersteinmal, dass alle Gerät die im Netz 192.168.12.x nur über die öffentliche IP des VPN Server laufen und sollte die Verbindung unterbrochen werden, ist es Ihnen verboten mit der Fritzbox ISP öffentlichen IP ins Internet zu gehen.
Kann mir da einer bei helfen ?
 
OP
L

Lord Z

Member
Hi,

so nun habe ich es hin bekommen, dass die PC´s am ETH 1 (also dem zweiten Netz) über den VPN-Server ins internet gehen.

Aber jetzt komm ich einfach nicht weiter. Ich möchte jetzt verhindern, dass wenn die VPN Verbindung zum VPN-Server abreißt, dass die PC aus dem ETH 1 Netz dann nicht über meine ISP IP ins Internet gehen. Also sich möchte einen Internetkillswtich für alle Geräte die im ETH 1 Netz sind.
Ich weiß, dass das mit der FW Ip Tables gehen müsste. Kann mir da bitte einer bei helfen?

Nachtrag:
Ich habe das Bild mal etwas angepasst, zum verständniss.
 

spoensche

Moderator
Teammitglied
Das ist eigentlich recht einfach.

Alle Pakete, die durch das VPN laufen oder zur Fritzbox werden geroutet, also forwarding.

Du setzt also die default Policy der IP-Tables FORWARD Chain auf DROP.

Code:
iptables -P FORWARD DROP

Damit erreichst du, das alle gerouteten Pakete gedroppt und nicht weitergeleitet werden. Als nächstes erlaubst du nur den Traffic aus dem 192.168.12.0/2 4 Netz in den VPN Tunnel.

Beispiel:
Das VPN-Netz ist 10.0.6.0/24 und das Interface des VPN-Tunnels ist vpn0

Code:
iptables -A FORWARD -i eth1 -s 192.168.12.0/24 -d 10.0.6.0/24 -o vpn0 -j ACCEPT
iptables -A FORWARD -j LOG

Jetz noch das Masquerading

Code:
iptables -t nat -A PREROUTING -o vpn0 -s 192.168.12.0/24 -j MASQUERADE

Deine Clients können jetzt nur über das VPN ins Internet. Jeglicher Traffic Richtung Fritzbox wird verworfen. Die zweite Regel in der FORWARD Chain loggt alle verworfenen Pakete.
 
Oben