[Berlin-wireless] Firewall-Konfiguration in kathleen / Ausleiten von Traffic ohne VPN

Philipp Borgers borgers at mi.fu-berlin.de
Sa Jan 2 15:28:48 CET 2016


On Sat, Jan 02, 2016 at 10:44:40AM -0000, Marc Kura wrote:
> 
> 
> Hallo Phillip and @all,
> 
> Erst mal frohes neues für alle.

Dir auch!

> Das Policy based Routing ist für mich ein neues Thema, aber ich
> werde versuchen es zu verstehen.
> 
> D.h. also, dass im Gegensatz zu den bisherigen Annahmen hier (hier
> gabs mal irgendwo einen Fred zu), VPN-Traffic gar nicht direkt ins
> Internet gekippt wird, sondern dann als VPN im VPN läuft?

Im Regelfall schickt der OpenVPN-Prozess seine Daten über den WAN-Port ins
Internet. Das setzt voraus, dass in der main table eine Route in Richtung
VPN-Server besteht. Das kann eine default route sein oder eine spezifische Route
zur IP des VPN-Servers.

Wenn man keine Router über den Uplink am WAN erhält, kann es passieren, dass der
Router eine Verbindung über das Mesh versucht aufzubauen. Wenn das Gateway VPN
benutzt, könnte es sein, dass wir VPN in VPN fahren.

> Die unten beiden Regeln verhindern "nur" das Routen von VPN-Traffic
> ins oder übers Mesh?

Unten siehst du Firewall-Regeln, die OpenVPN-Traffic über das Mesh verhindern
sollen. Leider fehlen da zur Zeit zwei IPs :/ Wir arbeiten an einer besseren
nicht IP bassierten Lösung.

Die Regeln werden von oben nach unten abgearbeitet. Ganz links steht die
Priorität. "from all" sagt, dass die Regel für alle source IP-Adressen gültig
ist. "lookup <table>" sagt dem Kernel in welche Tabelle er gucken soll. "iif"
guckt von welchem Input-Interface der Traffic kommt. "unreachable" sorgt dafür,
dass die Source-IP ein "Network unreachable" gesendet bekommt und die Daten
nicht weitergeroutet werden.

> root at 10-230-96-1:~# ip rule
> 0:      from all lookup local
> 1000:   from all lookup olsr
> 2000:   from all lookup localnets
> 19999:  from all iif tunl0 lookup olsr-tunnel
> 19999:  from all iif br-dhcp lookup olsr-tunnel
> 19999:  from all iif ffvpn lookup olsr-tunnel
> 20000:  from all iif tunl0 lookup olsr-default
> 20000:  from all iif br-dhcp lookup olsr-default
> 20000:  from all iif ffvpn lookup olsr-default

In olsr-default steht in der Regel deine default route über das ffvpn drin.

> 20001:  from all iif tunl0 unreachable
> 20001:  from all iif br-dhcp unreachable
> 20001:  from all iif ffvpn unreachable

Insbesondere die drei Zeilen verhindern, dass Traffic einfach so ins Internet
geroutet werden.

> 32766:  from all lookup main
> 32767:  from all lookup default
> root at 10-230-96-1:~#
> 
> Unter http://www.linupedia.org/opensuse/Policy_Based_Routing [1] hab ich
> einen brauchbaren Artikel zu PBR gefunden. So richtig verstehen tu
> ich in allerdings nicht. :)
> 
> Ich kann Pakete markieren, hier einfach mal mit 32:
> iptables -A PREROUTING -t mangle -p tcp -d 176.31.245.160 -j
> MARK --set-mark 32
> 
> Schiebe dann alle Pakete mit der Markierung 32 in die Regel 777:
> ip rule add fwmark 32 priority 999 table 777
> 
> Wenn ich dann alle Pakete aus der Tabelle 777 ins WAN schieben will
> (192.168.178.1 ist die Fritte vom Anschluss), dann laufen die Pakete
> auf die Reject-Regel der iptables:
> ip route add default via 192.168.178.1 dev br-wan table 777
> 
> Die IP gehört zu monip.org, wo man per Shell-Script diee eigene IP
> auslesen kann ( w3m -dump http://www.monip.org/ [2] | awk -F': '
> '/IP/ { print $2 }' )
> 
> Von hier aus komme ich leider seit ein paar Tagen nicht weiter.
> 
> Hat jemand eine Idee was ich hier falsch mache? Oder was u.u. noch
> fehlt?

Verstehe ich alles nicht und will ich auch nicht ^^

Denke doch mal über "ip rule add to 8.8.8.8 lookup main" nach.

Was eher nicht geht nach Ports zu filtern. Da musst du dann ev. wieder iptables
bemühen.

> Danke für die Mühe!
> 
> 
> Gruß,
> Marc
> 
> 
> 
> Am 28.12.2015 um 21:42 schrieb Philipp
> Borgers:
> 
> <blockquote cite="mid:20151228204245.GD10600 at mi.fu-berlin.de"
> type="cite">
> Moin,
> guck dir mal Policy-Routing (ip rule help) und die entsprechen
> Konfigurations-Option in OpenWRT an.
> Über das Mesh sollen keinen VPN03 Tunnel aufgebaut werden. Die unten erwähnten
> Regel verhindern das teilweise. Die Liste der Server ist leider unvollständig.
> Wir arbeiten an einer besseren Lösung.
> Gruß Philipp
> On Mon, Dec 28, 2015 at 07:07:45PM +0100, Marc Kura wrote:
> 
> Hallo zusammen,
> Aus Performance-Gründen möchte ich bestimmten Traffic direkt ins
> Internet ausleiten und nicht über den VPN-Tunnel schieben. Die Basis ist
> dazu kathleen 0.1.1.
> Hier gab es ja mal eine Diskussion dazu, die ich leider nicht mehr
> finde. In dem Fred ging es darum, dass VPN-Verbindungen grundsätzlich
> nicht in den Freifunk-Tunnel geschoben werden, sondern direkt ins Internet.
> Im Router habe ich bisher nur folgende Konfiguration gefunden:
> /etc/config/firewall:
> config rule
> option proto 'udp'
> option name 'Reject-VPN-over-ff-1'
> option dest 'freifunk'
> option dest_ip '77.87.48.10'
> option dest_port '1194'
> option target 'REJECT'
> option family 'ipv4'
> config rule
> option proto 'udp'
> option name 'Reject-VPN-over-ff-2'
> option dest 'freifunk'
> option dest_ip '77.87.49.66'
> option dest_port '1194'
> option target 'REJECT'
> option family 'ipv4'
> Meinem Verständnis nach bedeutet dies, dass ein Testrouter kein
> Freifunk-VPN aufbauen kann, wenn er (zum testen) hinter einem
> Freifunk-Router hängt (Reject)?
> Ich möchte z.B. alle Verbindungen zur IP 84.200.77.164 direkt ins
> Internet leiten, oder von mir aus alle Verbindungen über Port 666. Wie
> mach ich das?
> 
> Gruß,
> Marc
> _______________________________________________
> Berlin mailing list
> Berlin at berlin.freifunk.net [3]
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin [4]
> Diese Mailingliste besitzt ein ffentlich einsehbares Archiv
> 
> 
> 
> _______________________________________________
> Berlin mailing list
> Berlin at berlin.freifunk.net [5]
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin [6]
> Diese Mailingliste besitzt ein �ffentlich einsehbares Archiv
> 
> 
> --
> Marc Kura
> Phone: +49-30-69201323 Fax: +49-30-69201737
> mailto:email at kura.de [7]
> "Und Schäuble hat gesagt, für Ihn sind alle Menschen gleich - ob Deutsch
> oder Ausländer .............alles Verbrecher!"
> 
> ,  Zugang direkt zu Ihre Mitteilungen [8]
> 
> 
> [1] http://www.linupedia.org/opensuse/Policy_Based_Routing
> [2] http://www.monip.org/
> [3] mailto:Berlin at berlin.freifunk.net
> [4] http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> [5] mailto:Berlin at berlin.freifunk.net
> [6] http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> [7] mailto:email at kura.de
> [8] http://waimanu.io:8069/web/signup?redirect=%2Fweb%23action%3Dmail.action_mail_redirect&token=73ZYOYi0HqGhl9nXX9wO&db=Waimanu


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20160102/653dc811/attachment.sig>


Mehr Informationen über die Mailingliste Berlin