ausgehenden Verkehr durch bestimmtes Interface routen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
nuclearfallout
Beiträge: 4
Registriert: 27.07.2017 13:16:20

ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von nuclearfallout » 27.07.2017 13:51:18

Hallo zusammen,

kurze Geschichte:
Ich habe ein System mit Debian 9, auf dem openVPN als Client rennt. Die Ausgabe von ip a sieht so aus:

Code: Alles auswählen

root@debian:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:23:24:9c:34:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.72/24 brd 192.168.178.255 scope global dynamic eno1
       valid_lft 7705612sec preferred_lft 7705612sec
    inet6 fe80::223:24ff:fe9c:3482/64 scope link
       valid_lft forever preferred_lft forever
13: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.8.0.100 peer 255.255.255.0/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::fcf0:f0c3:1c80:1aef/64 scope link flags 800
       valid_lft forever preferred_lft forever
Wie man sieht ist eno1 (192.168.178.72) die Schnittstelle zum LAN und tun0 (10.8.0.100) die Schnittstelle zum openVPN-Server.

Die Ausgabe von ip route list ergibt folgende Routen:

Code: Alles auswählen

root@debian:/# ip route list
default via 192.168.178.1 dev eno1
10.8.0.0/24 via 255.255.255.0 dev tun0
192.168.178.0/24 dev eno1 proto kernel scope link src 192.168.178.72 metric 100
255.255.255.0 dev tun0 proto kernel scope link src 10.8.0.100
Ich habe den openVPN-Server bewusst so konfiguriert, dass nicht automatisch der gesamte Traffic des Clients durch den Tunnel geroutet wird. ("redirect-gateway def1" ist also nicht gesetzt.).

Mein Ziel ist es nun, dass nur bestimmter (ausgehender?) Traffic (Port-Abhängig!) über tun0 laufen soll.
Sagen wir z.B. Port 80: Rufe ich am Debian eine http-Webseite auf, soll diese Kommunikation über tun0 laufen. Rufe ich eine https-Webseite (oder sonst irgendwas) auf, soll die Kommunikation wie gehabt über eno1 laufen.

Wie lässt sich dies realisieren? Nach stundenlanger Googelei zum Thema iptables habe ich das Handtuch geworfen... :roll:

Grüße

BenutzerGa4gooPh

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von BenutzerGa4gooPh » 27.07.2017 20:53:02

Willkommen im Debian-Forum!
nuclearfallout hat geschrieben: ↑ zum Beitrag ↑
27.07.2017 13:51:18
Mein Ziel ist es nun, dass nur bestimmter (ausgehender?) Traffic (Port-Abhängig!) über tun0 laufen soll.
Sagen wir z.B. Port 80: Rufe ich am Debian eine http-Webseite auf, soll diese Kommunikation über tun0 laufen. Rufe ich eine https-Webseite (oder sonst irgendwas) auf, soll die Kommunikation wie gehabt über eno1 laufen.
Musst du Portweiterleitung (Redirecting) machen:
https://www.cyberciti.biz/faq/linux-por ... -iptables/
https://wiki.debian.org/de/Portweiterleitung

Kryptisch? Ab Stretch wurde Debiannftables zusätzlich eingeführt:
Borrero betont, Nftables sei nicht nur eine Alternative zu Iptables, sondern ein vollwertiger Ersatz, der viele Vorteile gegenüber dem bisherigen Werkzeug zur Gestaltung von Firewall-Regeln biete. So sei die Syntax wesentlich verbessert und die Handhabung insgesamt einfacher geworden.
http://www.pro-linux.de/news/1/24720/de ... ables.html

Gibt jedoch auch frontends für iptables/netfilter: https://wiki.debian.org/Firewalls :wink:

Ein anderer Weg wäre, alles (einschl. VPN) auf einer Firewall, z. B. pfsense (mit GUI) durchzuführen. Hat den Vorteil, dass man netzweit "regelt". Hier ein Beispiel für DNS: https://doc.pfsense.org/index.php/Redir ... to_pfSense

nuclearfallout
Beiträge: 4
Registriert: 27.07.2017 13:16:20

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von nuclearfallout » 27.07.2017 21:09:11

Schon einmal vielen Dank für die Hilfe :)

Wie müsste denn das Port-Forward aussehen? Das hier:

Code: Alles auswählen

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT -o tun0 --to 10.8.0.1
...funktioniert jedenfalls nicht (10.8.0.1 ist die openVPN-IP des Servers)

BenutzerGa4gooPh

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von BenutzerGa4gooPh » 27.07.2017 21:22:05

Ich tue mir iptables nicht an, k. A. Minimaler Aufwand, maximaler Erfolg. :wink:
Gibt noch mehr Leute im Forum ... .

nuclearfallout
Beiträge: 4
Registriert: 27.07.2017 13:16:20

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von nuclearfallout » 27.07.2017 21:30:25

iptables muss ja nicht sein... ich würde auch den steinigen Weg gehen ;)
Nur übersteigt das wahrscheinlich meinen geistigen Horizont :(

BenutzerGa4gooPh

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von BenutzerGa4gooPh » 27.07.2017 21:32:36

iptables ist der steinige Weg. :mrgreen: Warte mal ab, irgendeiner wird schon helfen.

Wenn nicht, installiere ein Frontend evtl. mit GUI. Link oben oder http://www.linux-community.de/Internal/ ... r-Iptables
Kannst ja versuchen, von "grafischen Erfolgen" zu lernen, zu "spicken". :wink:

nuclearfallout
Beiträge: 4
Registriert: 27.07.2017 13:16:20

Re: ausgehenden Verkehr durch bestimmtes Interface routen

Beitrag von nuclearfallout » 28.07.2017 13:31:22

Habe es nun geschafft :)
Der Ansatz mit iptables war schon ganz richtig, ich musste "nur" zusätzlich eine zweite Routing-Tabelle anlegen, über der ich nun den ausgehenden Verkehr schicke.

Antworten