[Gelöst] Geht mein DNS durchs VPN, oder nicht?

Gemeinsam ins Internet mit Firewall und Proxy.
Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

[Gelöst] Geht mein DNS durchs VPN, oder nicht?

Beitrag von c1ue » 31.03.2018 15:01:32

Ich komme heute mal mit einer recht komplizierten Thematik daher. Ich verbinde mich zu einem VPN per OpenVpn. Meine firewall habe ich wie folgt eingerichtet:

Code: Alles auswählen

iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT

iptables -t filter -A OUTPUT -o tun0 -j ACCEPT
iptables -t filter -A INPUT -i tun0 -j ACCEPT
Nur mit diesen Regeln alleine bekomme ich nicht mal den VPN-Aufbau hin, da der DNS nicht aufgelöst werden kann. Darum habe ich noch folgende Regeln hinzugefügt:

Code: Alles auswählen

iptables -t filter -A OUTPUT -o eth0 -p udp -m multiport --dports 53,149,150,151,1149,1150,1151 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 152,1152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p udp -m multiport --sports 53,149,150,151,1149,1150,1151 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 152,1152 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT --dst 192.168.0.0/16 -j ACCEPT
iptables -t filter -A INPUT --src 192.168.0.0/16 -j ACCEPT
iptables -t filter -A OUTPUT --dst 10.0.0.0/8 -j ACCEPT
iptables -t filter -A INPUT --src 10.0.0.0/8 -j ACCEPT
iptables -t filter -A OUTPUT --dst 172.16.0.0/12 -j ACCEPT
iptables -t filter -A INPUT --src 172.16.0.0/12 -j ACCEPT


iptables -t filter -A OUTPUT -o eth0 -j DROP
iptables -t filter -A INPUT -i eth0 -j DROP


ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT DROP
Nun klappt auch der Tunnel-Aufbau und ich kann ganz normal durch den VPN surfen. Traceroute zeigt auch, dass meine Pakete brav durch den VPN wandern.

Ich kann ohne aktiven Tunnel niemanden anpingen, mit aktiven Tunnel natürlich schon – soll ja schließlich auch so sein, dass ALLE Pakete durch den Tunnel wandern sollen - und nicht außerhalb.

Was mich nur wundert:
DebianDnstracer geht auch wunderbar mit und OHNE Tunnel. Beide Male zeigt er dasselbe an.

Daher meine Frage: Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?

Dig +trace ergibt (mit oder ohne firewall und mit oder ohne VPN):

dig +trace web.de
../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted

; <<>> DiG 9.10.3-P4-Debian <<>> +trace web.de
;; global options: +cmd
;; Received 12 bytes from 84.200.69.80#53(84.200.69.80) in 25 ms
Zuletzt geändert von c1ue am 02.05.2018 19:13:17, insgesamt 1-mal geändert.
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

DeletedUserReAsG

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von DeletedUserReAsG » 31.03.2018 15:03:10

c1ue hat geschrieben: ↑ zum Beitrag ↑
31.03.2018 15:01:32
Daher meine Frage: Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?
Debianwireshark, Debiantcpdump, etc.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von eggy » 31.03.2018 15:54:43

Code: Alles auswählen

iptables -t filter -A OUTPUT -o eth0 -p udp -m multiport --dports 53,149,150,151,1149,1150,1151 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
raus darf ne Teil demnach schonmal, interessant wären dann noch die Routen incl Metriken, die bei bestehendem Tunnel entscheiden was wo lang läuft

und ja, tcpdump auf der Leitung ist die bessere Wahl

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 31.03.2018 22:10:56

c1ue hat geschrieben: ↑ zum Beitrag ↑
31.03.2018 15:01:32
Daher meine Frage: Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?
Versuch mal einen traceroute auf den Port 53 eines DNS-Servers. Z. B.:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80
und/oder

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 9.9.9.9
(oder gleichwertig).

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von eggy » 31.03.2018 22:15:38

udp vs. tcp
dns kann beides nutzen

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 31.03.2018 23:32:20

eggy hat geschrieben: ↑ zum Beitrag ↑
31.03.2018 22:15:38
udp vs. tcp
dns kann beides nutzen
Ja, ist bekannt. Wenn man will kann man auch mit udp den traceroute machen:

Code: Alles auswählen

mtr -4nru -c 2 -i 2 9.9.9.9
Aber wenn es mit tcp geht, dann geht es auch mit udp und tcp ist m. E. eleganter bzw. man kann den tcp-traceroute (... d. h. die Flags die ausgetauscht werden) auch mit tcpdump "anschauen" bzw. anzeigen lassen:

Code: Alles auswählen

tcpdump -vvveni any host 9.9.9.9 and tcp port 53
Es geht ja nur um den Weg (... durchs VPN oder nicht durchs VPN) für die Namensauflösung (egal ob per udp oder per tcp).

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von eggy » 01.04.2018 02:25:28

mat6937 hat geschrieben: ↑ zum Beitrag ↑
31.03.2018 23:32:20
Wenn man will kann man auch mit udp den traceroute machen: [...] Aber wenn es mit tcp geht, dann geht es auch mit udp [...]
schon, aber durch die Iptables oben gibts unterschiedliche Ergebnisse

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 01.04.2018 08:47:15

eggy hat geschrieben: ↑ zum Beitrag ↑
01.04.2018 02:25:28
schon, aber durch die Iptables oben gibts unterschiedliche Ergebnisse
Die unterschiedlichen Ergebnisse werden mit dem traceroute ja angezeigt. Man kann (zum testen) die Namensauflösung (DNS) ja auch absichtlich mit tcp und mit udp machen. Z. B.:

Code: Alles auswählen

host -T -t A heise.de
host -t A heise.de

Wenn bedingt durch die iptables-Regel(n) etwas nicht funktioniert, dann sieht man das ja. Und m. E. sollte man auf die Möglichkeit, dass das System von sich aus auch DNS per tcp machen kann, nicht verzichten.

Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von c1ue » 02.04.2018 21:34:51

Also, ich hab das jetzt mal ausprobiert:

--tcp:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80
MIT aufgebautem Tunnel zeigt Debianmtr mehrere hops an. OHNE VPN zeigt es gar nichts an. Also gehen die DNS Anfragen durch den Tunnel, nicht wahr?

--udp:

Code: Alles auswählen

mtr -4nr --port 53 --udp -c 2 -i 2 84.200.69.80
MIT Tunnel mehrere hops, wobei bei der letzten Station ??? stehen (hoffentlich nichts schlimmes?).
OHNE Tunnel sehe ich nur den hop zu meinem Router und in der Zeile darunter stehen dann wieder die 3 Fragezeichen.

Wenn ich

Code: Alles auswählen

tcpdump -vvveni any host 9.9.9.9 and tcp port 53
auführe, dann sagt er nur
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
aber macht sonst nichts weiter. Brauch ich dafür etwa einen 2. Computer, der zwischen meinem Tunnel-Computer und dem Router sitzt?

Ich habe leider weder von Netzwerken noch von firewalls irgendeine Ahnung. Darf ich also aus den bisher gesammelten Ergebnissen schließen, dass meine DNS Anfragen auch wirklich brav durch den Tunnel geleitet werden?

Vielen Dank für Eure bisherigen Mühen :THX:
Zuletzt geändert von c1ue am 03.04.2018 10:23:17, insgesamt 1-mal geändert.
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 02.04.2018 23:24:28

c1ue hat geschrieben: ↑ zum Beitrag ↑
02.04.2018 21:34:51
Wenn ich

Code: Alles auswählen

tcpdump -vvveni any host 9.9.9.9 and tcp port 53
auführe dann sagt er nur
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
aber macht sonst nichts weiter. Brauch ich dafür etwa einen 2. Computer, der zwischen meinem Tunnel-Computer und dem Router sitzt?
Nein, einen 2. Computer brauchst Du nicht. Starte tcpdump als 1., d. h. vor der Namensauflösung mit:

Code: Alles auswählen

host -T -t A heise.de 9.9.9.9
host -t A heise.de 9.9.9.9
bzw. vor dem traceroute:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 9.9.9.9

Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von c1ue » 03.04.2018 11:04:54

Alle nachfolgenden Ergebnisse habe ich ohne firewall produziert:

Mit aktiviertem Vpn habe ich nun zuerst als root in Konsole1 tcpdump -vvveni any host 9.9.9.9 and tcp port 53 ausgeführt, danach den Befehl host -T -t A heise.de 9.9.9.9 in Konsole2:

Code: Alles auswählen

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
10:44:31.822742 Out ethertype IPv4 (0x0800), length 76: (tos 0x0, ttl 64, id 25485, offset 0, flags [DF], proto TCP (6), length 60)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [S], cksum 0x3ab0 (correct), seq 3388758985, win 29200, options [mss 1460,sackOK,TS val 342084 ecr 0,nop,wscale 7], length 0
10:44:31.880208  In ethertype IPv4 (0x0800), length 76: (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    9.9.9.9.53 > 10.4.133.240.39669: Flags [S.], cksum 0xd892 (correct), seq 2291974052, ack 3388758986, win 28960, options [mss 1134,sackOK,TS val 565574218 ecr 342084,nop,wscale 8], length 0
10:44:31.880281 Out ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 25486, offset 0, flags [DF], proto TCP (6), length 52)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [.], cksum 0x7647 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 342098 ecr 565574218], length 0
10:44:31.880440 Out ethertype IPv4 (0x0800), length 96: (tos 0x0, ttl 64, id 25487, offset 0, flags [DF], proto TCP (6), length 80)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [P.], cksum 0xb525 (correct), seq 1:29, ack 1, win 229, options [nop,nop,TS val 342098 ecr 565574218], length 2831301+ A? heise.de. (26)
10:44:31.937827  In ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 60, id 17702, offset 0, flags [DF], proto TCP (6), length 52)
    9.9.9.9.53 > 10.4.133.240.39669: Flags [.], cksum 0x7665 (correct), seq 1, ack 29, win 114, options [nop,nop,TS val 565574275 ecr 342098], length 0
10:44:31.939651  In ethertype IPv4 (0x0800), length 112: (tos 0x0, ttl 60, id 17703, offset 0, flags [DF], proto TCP (6), length 96)
    9.9.9.9.53 > 10.4.133.240.39669: Flags [P.], cksum 0x085b (correct), seq 1:45, ack 29, win 114, options [nop,nop,TS val 565574277 ecr 342098], length 4431301 q: A? heise.de. 1/0/0 heise.de. [20h5m17s] A 193.99.144.80 (42)
10:44:31.939702 Out ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 25488, offset 0, flags [DF], proto TCP (6), length 52)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [.], cksum 0x75b5 (correct), seq 29, ack 45, win 229, options [nop,nop,TS val 342113 ecr 565574277], length 0
10:44:31.940168 Out ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 25489, offset 0, flags [DF], proto TCP (6), length 52)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [F.], cksum 0x75b4 (correct), seq 29, ack 45, win 229, options [nop,nop,TS val 342113 ecr 565574277], length 0
10:44:31.997900  In ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 60, id 17704, offset 0, flags [DF], proto TCP (6), length 52)
    9.9.9.9.53 > 10.4.133.240.39669: Flags [F.], cksum 0x75ec (correct), seq 45, ack 30, win 114, options [nop,nop,TS val 565574335 ecr 342113], length 0
10:44:31.997960 Out ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 25490, offset 0, flags [DF], proto TCP (6), length 52)
    10.4.133.240.39669 > 9.9.9.9.53: Flags [.], cksum 0x756a (correct), seq 30, ack 46, win 229, options [nop,nop,TS val 342128 ecr 565574335], length 0

Nun noch den zweiten Befehl, host -t A heise.de 9.9.9.9 ausgeführt. Dabei zeigt Debiantcpdump gar nichts an, dafür zeigt host:

host -t A heise.de 9.9.9.9:

Code: Alles auswählen

../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted
Using domain server:
Name: 9.9.9.9
Address: 9.9.9.9#53
Aliases: 

heise.de has address 193.99.144.80

Nun beide Befehle nochmals ohne VPN:

host -T -t A heise.de 9.9.9.9:

Code: Alles auswählen

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
10:47:14.755035 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 76: (tos 0x0, ttl 64, id 53055, offset 0, flags [DF], proto TCP (6), length 60)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [S], cksum 0xd3a3 (correct), seq 3924957278, win 29200, options [mss 1460,sackOK,TS val 382817 ecr 0,nop,wscale 7], length 0
10:47:14.782348  In e0:28:6d:c5:27:f9 ethertype IPv4 (0x0800), length 76: (tos 0x0, ttl 56, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    9.9.9.9.53 > 192.168.178.171.41721: Flags [S.], cksum 0x3fe7 (correct), seq 1793338253, ack 3924957279, win 28960, options [mss 1452,sackOK,TS val 565238912 ecr 382817,nop,wscale 8], length 0
10:47:14.782425 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 53056, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [.], cksum 0xdee0 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 382824 ecr 565238912], length 0
10:47:14.782551 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 96: (tos 0x0, ttl 64, id 53057, offset 0, flags [DF], proto TCP (6), length 80)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [P.], cksum 0x522e (correct), seq 1:29, ack 1, win 229, options [nop,nop,TS val 382824 ecr 565238912], length 2817878+ A? heise.de. (26)
10:47:14.809701  In e0:28:6d:c5:27:f9 ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 56, id 63250, offset 0, flags [DF], proto TCP (6), length 52)
    9.9.9.9.53 > 192.168.178.171.41721: Flags [.], cksum 0xdf1b (correct), seq 1, ack 29, win 114, options [nop,nop,TS val 565238940 ecr 382824], length 0
10:47:14.811315  In e0:28:6d:c5:27:f9 ethertype IPv4 (0x0800), length 112: (tos 0x0, ttl 56, id 63251, offset 0, flags [DF], proto TCP (6), length 96)
    9.9.9.9.53 > 192.168.178.171.41721: Flags [P.], cksum 0x9de9 (correct), seq 1:45, ack 29, win 114, options [nop,nop,TS val 565238941 ecr 382824], length 4417878 q: A? heise.de. 1/0/0 heise.de. [20h37m41s] A 193.99.144.80 (42)
10:47:14.811345 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 53058, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [.], cksum 0xde74 (correct), seq 29, ack 45, win 229, options [nop,nop,TS val 382831 ecr 565238941], length 0
10:47:14.811820 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 53059, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [F.], cksum 0xde73 (correct), seq 29, ack 45, win 229, options [nop,nop,TS val 382831 ecr 565238941], length 0
10:47:14.839790  In e0:28:6d:c5:27:f9 ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 56, id 63252, offset 0, flags [DF], proto TCP (6), length 52)
    9.9.9.9.53 > 192.168.178.171.41721: Flags [F.], cksum 0xdec8 (correct), seq 45, ack 30, win 114, options [nop,nop,TS val 565238970 ecr 382831], length 0
10:47:14.839875 Out 36:88:2e:79:29:2e ethertype IPv4 (0x0800), length 68: (tos 0x0, ttl 64, id 53060, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.178.171.41721 > 9.9.9.9.53: Flags [.], cksum 0xde4e (correct), seq 30, ack 46, win 229, options [nop,nop,TS val 382838 ecr 565238970], length 0

Bei host -t A heise.de 9.9.9.9 zeigt Debiantcpdump wieder nichts an, trotz deaktivierter firewall, und host zeigt wieder das hier:

Code: Alles auswählen

../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted
Using domain server:
Name: 9.9.9.9
Address: 9.9.9.9#53
Aliases: 

heise.de has address 193.99.144.80
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 03.04.2018 11:13:54

c1ue hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 11:04:54
Alle nachfolgenden Ergebnisse ...
Naja, so kommen wir nicht weiter. Lass mal tcpdump weg und zeige mit und ohne vpn bzw. mit und ohne Firewall, die Ausgaben von:

Code: Alles auswählen

host -t A -T heise.de 1.1.1.1
host -t A heise.de 1.1.1.1

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von eggy » 03.04.2018 11:28:39

@mat6937: und woher willst Du an den Ausgaben von Host sehen, ob die Pakete durch den Tunnel gelaufen sind?

So wird das nix.
a) Routen ansehen.
b) komplette Firewallregeln ansehn.
c) um wirklich sicher zu sein: von aussen auf die Leitung schauen (tcpdump, vorzugsweise auf ner externen Maschine).

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 03.04.2018 11:45:59

eggy hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 11:28:39
@mat6937: und woher willst Du an den Ausgaben von Host sehen, ob die Pakete durch den Tunnel gelaufen sind?

So wird das nix.
a) Routen ansehen.
b) komplette Firewallregeln ansehn.
c) um wirklich sicher zu sein: von aussen auf die Leitung schauen (tcpdump, vorzugsweise auf ner externen Maschine).
Das wird schon was. Das sehe ich am traceroute (mtr) und daran ob und wie es mit und ohne aktive Firewall bzw. mit und ohne vpn-Tunnel funktioniert. Was meinst Du mit tcpdump auf einer externen Maschine? Mit welchem Filter willst Du tcpdump nutzen, damit dieser auch die einzelnen hops anzeigt (wie mtr) und nicht nur den Anfang- und End-Punkt?

EDIT:

Hier ein Beispiel:

Code: Alles auswählen

:~$ mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80
Start: Tue Apr  3 12:10:18 2018
HOST: xxxxxx                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.###.1              0.0%     2    3.7   3.3   2.9   3.7   0.0
  2.|-- 37.##.##.1                 0.0%     2   14.2  12.6  11.0  14.2   2.2
  3.|-- 172.##.##.###              0.0%     2   18.9  16.7  14.5  18.9   3.0
  4.|-- 84.116.190.129             0.0%     2   17.2  45.7  17.2  74.2  40.3
  5.|-- 84.116.140.205             0.0%     2   24.5  21.3  18.2  24.5   4.5
  6.|-- 84.116.140.190             0.0%     2   18.3  17.0  15.8  18.3   1.7
  7.|-- 62.69.146.85               0.0%     2   16.1  15.5  14.9  16.1   0.0
  8.|-- 129.250.3.218              0.0%     2   14.0  15.6  14.0  17.2   2.2
  9.|-- 129.250.4.207              0.0%     2   16.9  20.1  16.9  23.4   4.5
 10.|-- 213.198.77.194             0.0%     2   16.5  14.7  13.0  16.5   2.4
 11.|-- 84.200.230.81              0.0%     2   16.2  17.4  16.2  18.6   1.7
 12.|-- 84.200.69.80               0.0%     2  166.7 284.1 166.7 401.6 166.1

Code: Alles auswählen

:~$ host -t A -T heise.de 84.200.69.80
Using domain server:
Name: 84.200.69.80
Address: 84.200.69.80#53
Aliases: 

heise.de has address 193.99.144.80

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von eggy » 03.04.2018 12:45:02

mat6937 hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 11:45:59
Das wird schon was. Das sehe ich am traceroute (mtr) und daran ob und wie es mit und ohne aktive Firewall bzw. mit und ohne vpn-Tunnel funktioniert. Was meinst Du mit tcpdump auf einer externen Maschine? Mit welchem Filter willst Du tcpdump nutzen, damit dieser auch die einzelnen hops anzeigt (wie mtr) und nicht nur den Anfang- und End-Punkt?
Die Hops sind zu dem Zeitpunkt nicht so relevant, es gibt ja nur zwei mögliche Zustände bezüglich DNS was auf der Leitung sein kann:
a) "Klartext"-Dns - das Paket geht offensichtlich nicht durch den Tunnel
b) kleinerlei "Klartext"-Dns - jetzt kann man versuchen rauszufinden warum:
- Namensauflösung funktioniert (und kommt nicht aus nem Cache): alles ok;
- Namensauflösung funktioniert nicht: routen/iptables checken

Die Ausgangsfrage war ja schliesslich
Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?
und da ist der einfacheste Weg "auf den Draht sehn".

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 03.04.2018 13:00:48

eggy hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 12:45:02
Die Ausgangsfrage war ja schliesslich
Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?
und da ist der einfacheste Weg "auf den Draht sehn".
Das sehe ich anders. M. E. ist der einfachste Weg, ein traceroute. Z. B.:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80

Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von c1ue » 05.04.2018 17:00:11

mat6937 hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 13:00:48
eggy hat geschrieben: ↑ zum Beitrag ↑
03.04.2018 12:45:02
Die Ausgangsfrage war ja schliesslich
Wie kann ich feststellen, ob meine DNS-Anfragen auch wirklich durch den Tunnel gehen, oder nicht?
und da ist der einfacheste Weg "auf den Draht sehn".
Das sehe ich anders. M. E. ist der einfachste Weg, ein traceroute. Z. B.:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80
Also ich hab ja in meinem letzten Beitrag bereits die Ergebnisse einmal mit und einmal ohne VPN aufgelistet, beide ohne aktivierten Paketfilter aka firewall. Für mich sehen die routen unterschiedlich aus, bin aber leider nicht fachkundig genug, um das jetzt abschließend zu beurteilen.

Ich wäre Dir/Euch wirklich verbunden, wenn Du/Ihr mal die logs anschauen könnte(s)t, die ich in meinem vorangehenden Beitrag aufgelistet habe.
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 05.04.2018 18:27:19

c1ue hat geschrieben: ↑ zum Beitrag ↑
05.04.2018 17:00:11
Ich wäre Dir/Euch wirklich verbunden, wenn Du/Ihr mal die logs anschauen könnte(s)t, die ich in meinem vorangehenden Beitrag aufgelistet habe.
Mit deinen Logs kann ich nichts anfangen. Poste, unter genauer Beschreibung der Bedingungen, die Ausgaben von:

Code: Alles auswählen

mtr -4nr --port 53 --tcp -c 2 -i 2 84.200.69.80
(oder gleichwertig), evtl. brauchbar anonymisiert.

DeletedUserReAsG

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von DeletedUserReAsG » 05.04.2018 18:49:14

Wenn die Frage ist, ob die Namensauflösung sicher durch den Tunnel geht, ist traceroute vielleicht das falsche Werkzeug, und man sollte doch eher mit etwa wireshark oder tcpdump schauen, was der tatsächliche Client macht. Nutzt irgendwie auch wenig, wenn bei traceroute alles prima aussieht, der jeweilige DNS-Client sich aber für ’ne andere Route entscheidet.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 05.04.2018 19:29:04

niemand hat geschrieben: ↑ zum Beitrag ↑
05.04.2018 18:49:14
..., ..., der jeweilige DNS-Client sich aber für ’ne andere Route entscheidet.
Wenn mehrere mögliche Routen zur Verfügung stehen bzw. konfiguriert sind, muss mit Hilfe der Metric konfiguriert werden, welche Route als 1. genommen/probiert wird. Ein traceroute wird die Metric der Routen genau so berücksichtigen wie der jeweilige DNS-Client auch.
An zusätzlichem/parallelem sniffen mit tcpdump, soll es nicht scheitern:

Code: Alles auswählen

tcpdump -c 10 -vvveni tun0 dst port 53
, ... aber mit durcheinander geposteten Logs & Co. kommen wir nicht weiter.

BenutzerGa4gooPh

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von BenutzerGa4gooPh » 05.04.2018 19:37:33

Sollte alles funktionieren:

Mit tcpdump müsste man mit einer Büchse zwischen Router und Client oder auf dem Router testen. Mit VPN alle Pakete einschließlich DNS verschlüsselt. Nur ohne VPN Inhalte sichtbar. Hatte @eggy beschrieben.

"Port-Trageroute" von @mat6937 muss mit VPN über den VPN-Gateway des VPN-Providers laufen. Ohne nicht. Bin auf die Ausgaben des TO schon gespannt.

Weitere Ideen:

Code: Alles auswählen

dig www.debian.org
auf Client sollte mit und ohne VPN nach Löschen des lokalen DNS-Caches (*) unterschiedliche angefragte DNS-Server bringen. Ohne löschen und bei Mehrfachaufruf dürfte 127.0.0.1 erscheinen. Löschen kann man sich sparen, wenn man im dig-Kommando jedesmal neue (WWW-) Server auflösen lässt. Cache so wirkungslos.
;; Query time: 2046 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Aug 27 08:22:26 2004
;; MSG SIZE rcvd: 173
The final section of the default output contains statistics about the query; it can be toggled with the +[no]stats option.
https://www.madboa.com/geek/dig/#unders ... ult-output

Vielleicht auch damit testen: https://www.dnsleaktest.com


Edit: (*) DNS-Cache leeren durch

Code: Alles auswählen

systemctl restart dnsmasq.service 
Zuletzt geändert von BenutzerGa4gooPh am 05.04.2018 19:58:04, insgesamt 1-mal geändert.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 05.04.2018 19:55:04

Jana66 hat geschrieben: ↑ zum Beitrag ↑
05.04.2018 19:37:33
Mit tcpdump müsste man mit einer Büchse zwischen Router und Client oder auf dem Router testen.
Warum? Mit tcpdump kann man doch auch auf dem Client testen. Wenn der Traffic zum destination-Port 53 durch das tun0-Interface des Clienten geht, dann wird der VPN-Tunnel doch benutzt.

BenutzerGa4gooPh

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von BenutzerGa4gooPh » 05.04.2018 19:56:55

Okay, ich hätte die (DNS-) Verschlüsselung gern als Ergebnis gesehen.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von mat6937 » 05.04.2018 20:04:37

Jana66 hat geschrieben: ↑ zum Beitrag ↑
05.04.2018 19:56:55
Okay, ich hätte die (DNS-) Verschlüsselung gern als Ergebnis gesehen.
Ok, aber das war nicht die Frage des TO. Er will wissen ob sein DNS durch den VPN-Tunnel geht oder nicht geht.

BTW: Was meinst Du mit DNS-Verschlüsselung? Es wäre doch schlimm wenn jemand zwischen VPN-Client und VPN-Server, den verschlüsselten VPN-Traffic einsehen könnte.

VPN wird beim TO schon verschlüsselt sein, aber wenn man will kann man einen VPN-Tunnel auch ohne Verschlüsselung, aufbauen.

BenutzerGa4gooPh

Re: Geht mein DNS durchs VPN, oder nicht?

Beitrag von BenutzerGa4gooPh » 05.04.2018 20:56:43

mat6937 hat geschrieben: ↑ zum Beitrag ↑
05.04.2018 20:04:37
Er will wissen ob sein DNS durch den VPN-Tunnel geht oder nicht geht. ... Was meinst Du mit DNS-Verschlüsselung?
Traffic eines DNS-Leaks (ausserhalb VPN-Tunnel) dürfte nicht verschlüsselt sein. Das zu prüfen ist m. E. Anliegen des TO. Aber deine vorgeschlagene Methode "Port-Traceroute" (mit VPN über VPN-Provider-GW) funktioniert sicher auch.

Antworten