Halli Hallo und Guten Tag,
ich benötige mal den Rat der IP-Tables-Experten, da ich auch nach Stunden noch kein Ergebnis erzielen konnte.
Ich habe einen Router auf DD-WRT Basis, welcher sich mit dem internen OpenVPN-Client zum VPN-Anbieter verbindet. Das klappt wunderbar.
Natürlich soll keine Verbindung nach außen dringen, wenn der VPN-Tunnel nicht besteht. Dafür sorgen folgende IPTables-Einträge:
Klappt ebenfalls sehr gut. Sowie keine Verbindung per VPN besteht geht nichts raus.
Nun zum Kern des Pudels: Mein Anliegen dreht sich darum, dass Hostnamen trotz fehlendem VPN-Tunnel aufgelöst werden.
Beispiel (mit nicht bestehendem VPN-Tunnel):
Das pingen klappt (richtigerweise nicht), es wird allerdings der willkürlich gewählte Hostname aufgelöst. Dies muss ja nun doch über meinen gewöhnlichen Internet-Anschluss geschehen. Das sollte nach meinem Verständnis so nicht sein.
Nun lässt sich DNS nachvollziehbar nicht komplett blocken.
Meine Überlegung war nun, dass DNS für die Verbindung OHNE VPN geblockt wird mit der Ausnahme des Hostnamen des VPN-Anbieters, sonst kann ja der Tunnel nicht aufgebaut werden. Sowie der Tunnel dann steht sollte DNS komplett über den Tunnel abgewickelt werden.
Aber wie setze ich das um?
Ich habe nun schon lange mit allen möglichen Einstellungen rumprobiert wie:
Aber das wars noch nicht.
Bitte erleuchtet mich.
Vielen Dank.
ich benötige mal den Rat der IP-Tables-Experten, da ich auch nach Stunden noch kein Ergebnis erzielen konnte.
Ich habe einen Router auf DD-WRT Basis, welcher sich mit dem internen OpenVPN-Client zum VPN-Anbieter verbindet. Das klappt wunderbar.
Natürlich soll keine Verbindung nach außen dringen, wenn der VPN-Tunnel nicht besteht. Dafür sorgen folgende IPTables-Einträge:
Code:
iptables -I FORWARD -i br0 -o tun1 -j ACCEPT
iptables -I FORWARD -i tun1 -o br0 -j ACCEPT
iptables -I FORWARD -i br0 -o vlan2 -j DROP
iptables -I INPUT -i tun1 -j REJECT
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
Klappt ebenfalls sehr gut. Sowie keine Verbindung per VPN besteht geht nichts raus.
Nun zum Kern des Pudels: Mein Anliegen dreht sich darum, dass Hostnamen trotz fehlendem VPN-Tunnel aufgelöst werden.
Beispiel (mit nicht bestehendem VPN-Tunnel):
Code:
C:\Users\Unknown>ping amazon.es
Ping wird ausgeführt für amazon.es [52.95.116.112] mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Das pingen klappt (richtigerweise nicht), es wird allerdings der willkürlich gewählte Hostname aufgelöst. Dies muss ja nun doch über meinen gewöhnlichen Internet-Anschluss geschehen. Das sollte nach meinem Verständnis so nicht sein.
Nun lässt sich DNS nachvollziehbar nicht komplett blocken.
Meine Überlegung war nun, dass DNS für die Verbindung OHNE VPN geblockt wird mit der Ausnahme des Hostnamen des VPN-Anbieters, sonst kann ja der Tunnel nicht aufgebaut werden. Sowie der Tunnel dann steht sollte DNS komplett über den Tunnel abgewickelt werden.
Aber wie setze ich das um?
Ich habe nun schon lange mit allen möglichen Einstellungen rumprobiert wie:
Code:
iptables -A OUTPUT -o vlan2 -p udp --port 53 -m string --string VPN-ANBIETER --algo bm -j ACCEPT
iptables -A INPUT -i vlan2 -p udp --port 53 -m string --string VPN-ANBIETER --algo bm -j ACCEPT
iptables -A OUTPUT -o vlan2 -p tcp --port 53 -m string --string VPN-ANBIETER --algo bm -j ACCEPT
iptables -A INPUT -i vlan2 -p tcp --port 53 -m string --string VPN-ANBIETER --algo bm -j ACCEPT
iptables -A OUTPUT -o vlan2 -p udp --dport 53 -j DROP
iptables -A OUTPUT -o vlan2 -p tcp --dport 53 -j DROP
Aber das wars noch nicht.
Bitte erleuchtet mich.
Vielen Dank.
Zuletzt bearbeitet: