myGully.com

myGully.com (https://mygully.com/index.php)
-   Verschlüsselung & Anonymität (https://mygully.com/forumdisplay.php?f=427)
-   -   Kurzer IP Leak bei Reboot openwrt (https://mygully.com/showthread.php?t=3209579)

Doggyman 07.02.14 15:49

Kurzer IP Leak bei Reboot openwrt
 
Hi,
also ich habe einen Tplink WDR3500 mit neustem openwrt.
Es läuft luci drauf.

Aufbau:
Fritzbox(telekom) -> Wlan -> wlan-lan-bridge -> WDR3500 ( mit openvpn) -> Wlan -> Gerät

Es funktioniert eigentlich alles, außer dass, wenn der Router rebootet am Anfang 1 Minute lang die Telekom IP hat und dann zum VPN verbindet....
Wie kann ich das in der Firewall bzw anders wo einstellen, dass es KEINE Verbindung nach draußen gehen soll von den Geräten wenn der VPN nicht an ist?

spartan-b292 07.02.14 16:12

Mit Iptables müsste das ca. so ausshen:

iptables -I FORWARD -i <wlan interface> -o <vpninterface>-j ACCEPT
iptables -I FORWARD -i <vpninterface> -o <wlaninterface> -j ACCEPT
iptables -I FORWARD -i <wlaninterface> -o <InterfacezurFritzbox> -j DROP
iptables -I INPUT -i <vpninterface> -j REJECT
iptables -t nat -A POSTROUTING -o <vpninterface> -j MASQUERADE

thyriel 07.02.14 16:15

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Doggyman 07.02.14 17:52

Erster Test mit spartan-b292 iptables lief schon mal gut :D
Gut, denn es sollte mich ja auch vor VPN-Disconnects schützen, oder? ;)

Das hieße, wenn openvpn mal abnudelt, dass das Internet hinter openwrt komplett aus ist?


Hab aber auch nen cron drin, mit
*/1 * * * * ifconfig tun0 || /etc/init.d/vpnserive start

(Prüfe jede Minute ob tun0 verfügbar ist, ansonsten starte vpn?)

spartan-b292 07.02.14 18:20

Vllt solltest du die Firewallregeln auch noch um das LAN-Interface erweitern, auch wenn da gerade nichts dran ist.

Der Cronjob funktioniert glaube so nicht.

Doggyman 08.02.14 10:40

Warum sollte er nicht funktionieren?

vpnservice ist ein startskript mit openvpn --config..... usw

spartan-b292 08.02.14 11:08

Ja du hast recht, ich hab nicht richtig gelesen.

Was man alternativ noch machen könnte ist in /etc/interfaces einen post-down eintrag zu machen, der die Verbindung neu startet. Momentan könnte ja folgendes passieren

14:00:00 Cronjob wird gestartet, VPN Läuft, nichts zu tun.
14:00:05 VPN fällt aus
-----Nichts passiert
14:01:00 VPN wird neu gestaret
Was bedeutet dass du im schlechtesten Fall 59 Sekunden warten musst, mit einem post-down könntest du diese Zeit vermutlich fast auf 0 reduzieren.

Doggyman 08.02.14 11:29

Wegen LAN Interface:
Mein "Konfigurator-PC" hängt über LAN dran, und auch dort konnte ich kein IP-Leak am Anfang mehr feststellen.
Sollte also auch so passen...

Ich geh mal davon aus, dass der VPN nicht andauernd abstürzt :D
ich habe den Check jetzt auch auf 5 Minuten erhöht.

Falls der VPN ausfällt, würde ich ja gar keine Verbindung mehr haben, und das kam noch nicht vor.
Außerdem habe ich einen reboot um 4 Uhr nachts drin, der spätestens dann alles wieder gerade rückt.

Ich würd mir die post-down geschichte mal ankucken, aber mal grob:

bein tun0 iface einfach ein
"post-down /etc/init.d/vpnserive start" rein?

spartan-b292 08.02.14 12:32

Zitat:

bein tun0 iface einfach ein
"post-down /etc/init.d/vpnserive start" rein?
Jep. Vorrausgesetzt dass Open-Wrt das unterstützt. Ich gehe aber mal davon aus.

Doggyman 08.02.14 22:56

wens interessiert: zu post-down/up hab ich bei openwrt nur hotplug gefunden.
funktioniert ähnlich.....

Doggyman 18.05.14 11:56

@spartan-b292
Ich hab jetzt ein neues "Problem".
Ich weiß nicht, woran es liegt, aber in letzter Zeit habe ich nach unterschiedlichen Zeiten keinen Internetaccess mehr über den VPN.

Er sagt zwar, dass VPN läuft und tun0 ist aktiv; es hilft aber nur ein VPN-Restart.

Mit deinen iptables kann ich von ssh keinen ping mehr absenden, um zu checken, ob ich Internetaccess habe, und wenn nicht, einfach restarten lassen.....

Kann man die so modifiziern, dass ein ping gesendet/empfangen werden kann?
Aber nicht so, dass er sich am VPN vorbeimogeln kann ^^

spartan-b292 18.05.14 12:10

Zitat:

Mit deinen iptables kann ich von ssh keinen ping mehr absenden
Du pingst was an? Eine IP im Internet?
Und von wo verbindest du dich wohin mit ssh?

Doggyman 18.05.14 12:13

Ich logge mich mit Putty/SSH beim Router ein, und mach ping -c1 8.8.8.8, und bekomme 100% loss

ich hätte nämlich gern nen cronjob (jede minute) ping 8.8.8.8 || "restart vpn"

Auch wenn das Internet geht, macht er hier nen restart :S

spartan-b292 18.05.14 12:20

Wenn ich das jetzt richtig verstehe willst du einen Cronjob der dein vpn neustartet wenn du keine Verbindung ins Internet hast?

Das kannst du mit einem S***** machen was ca. so aussieht

Zitat:

do
ergebnis=$(ping -c 1 8.8.8.8 | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $ergebnis -eq 0 ]; then
restart vpn
fi
done

Doggyman 18.05.14 12:24

Ja so in der Art.
Ohne iptables, funktioniert mein ping 8.8.8.8 || "restart vpn".

Es geht nur kein ping durch deine iptables ^^

Ich dachte an sowas wie:
iptables -D INPUT -p icmp -j DROP
an deine iptables anfügen, damit nur ping ungehindert durch kann...
aber ich glaub nicht, dass diese Zeile reicht.

spartan-b292 18.05.14 12:31

Ah verstehe.

Versuch es mal damit:
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iiptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
iiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

Doggyman 18.05.14 12:48

Hilft nicht, ABER:
Ich hab im Menü rumgeklickt und stoße auf das:

http://i.imgur.com/KiiLip6.jpg

Jeder Ping, den ich absende, landet hier und wird sofort geblockt.
Woher kommt diese Regel?

spartan-b292 18.05.14 12:55

Zitat:

Woher kommt diese Regel?
Lösche doch noch mal alle Regeln mit
iptables -F

Und Lege die Regeln aus meinem Ersten post noch mal an. Wenn die dann wieder auftauchen weißt du das es damit zu tun hat ;).

Doggyman 18.05.14 12:59

Also, ich hab jetzt mal rumgemacht, und bekomme folgendes raus:

In deinen iptables steht ja:
iptables -I INPUT -i tun0 -j REJECT

Ich habe jetzt nach dieser noch diese Line eingefügt:
iptables -I INPUT -i tun0 -p icmp -j ACCEPT

Ansonsten ist alles so wie oben von dir.
Es funktioniert!
Aber hab ich jetzt irgendein Loch?
So wie ich das verstehe:
Deine Regel:
Blocke alles was über tun0 kommt.
Meine Regel:
Erlaube nur icmp.

spartan-b292 18.05.14 13:12

Zitat:

Deine Regel:
Blocke alles was über tun0 kommt.
Richtig, deshalb war die Idee das wieder mit den Regeln aus #16 zu erlauben. Es kann sein dass ich da aber einfach einen Fehler gemacht habe.

Ich würde sagen, dass deine Regel funktioniert du musst aber glaube noch eine haben die alles andere verwirft.

Doggyman 18.05.14 13:22

Ich sag mal so:
Die wichtigen Dinge, wie "kein Internet ohne VPN", funktionieren allem Anschein nach.

Ach du meinst, alles was kein ICMP ist, verwerfen?
Macht das nicht deine in Kombination mit meiner?

iptables -I INPUT -i tun0 -j REJECT
iptables -I INPUT -i tun0 -p icmp -j ACCEPT

So in der Art:
Mach die Tür komplett zu.
Mach die Tür einen Spalt auf, dass nur Pings durchpassen.
? ;)

spartan-b292 18.05.14 15:42

Ja wenn du beide zusammen nimmst ist das okay. Ich dachte dass du "meine" Regel durch "deine" ersetzt hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.