![]() |
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? |
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 |
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
|
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?) |
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. |
Warum sollte er nicht funktionieren?
vpnservice ist ein startskript mit openvpn --config..... usw |
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. |
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? |
Zitat:
|
wens interessiert: zu post-down/up hab ich bei openwrt nur hotplug gefunden.
funktioniert ähnlich..... |
@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 ^^ |
Zitat:
Und von wo verbindest du dich wohin mit ssh? |
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 |
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:
|
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. |
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 |
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? |
Zitat:
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 ;). |
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. |
Zitat:
Ich würde sagen, dass deine Regel funktioniert du musst aber glaube noch eine haben die alles andere verwirft. |
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. ? ;) |
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.