ubuntuusers.de

tcpdump und OpenVPN

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

Tom7320

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Hallo!

Per geroutetem OpenVPN (tun devices, kein NAT/Masquerade auf dem OpenVPN Server und Client) habe ich zwei Netze verbunden und wie in https://openvpn.net/index.php/open-source/documentation/howto.html#scope beschrieben konfiguriert. Funktioniert alles bestens und genau wie es soll.

Jetzt war ich leider neugierig und habe mir per tcpdump den Netzwerkverkehr der tun devices angeschaut. Interessanterweise sehe ich keine Pakete mit VPN IP Adressen?! Ich sehe Pakete hin und her fliegen mit source und destination der beiden verbundenen Netzwerke (jeweils verschiedene 192.168.0.0/16er Netze). Aber ich sehe keine aus dem Netz der tun devices (10.205.76.0/24 in meinem Fall).

Verständnisfrage: warum ist das so? Sollte ich nicht auch Pakete des 10.205.76.0/24 er Netztes sehen?

Danke und ein schönes Wochenende!

Thorsten

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Tom7320 schrieb:

Aber ich sehe keine aus dem Netz der tun devices (10.205.76.0/24 in meinem Fall).

Verständnisfrage: warum ist das so? Sollte ich nicht auch Pakete des 10.205.76.0/24 er Netztes sehen?

Wie benutzt Du tcpdump in diesem Fall bzw. mit welchen Filtern?

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

So z.B. auf dem Client:

ts@vm-openvpn:~$ ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:15:5d:00:0a:0f
          inet Adresse:192.168.0.43  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6-Adresse: fe80::215:5dff:fe00:a0f/64 Gültigkeitsbereich:Verbindung
          inet6-Adresse: 2003:c0:33f5:a900:215:5dff:fe00:a0f/64 Gültigkeitsbereich:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX-Pakete:28103 Fehler:0 Verloren:54 Überläufe:0 Fenster:0
          TX-Pakete:23182 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:7397003 (7.3 MB)  TX-Bytes:16988309 (16.9 MB)

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX-Pakete:1600 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:1600 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1
          RX-Bytes:142262 (142.2 KB)  TX-Bytes:142262 (142.2 KB)

tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.205.76.2  P-z-P:10.205.76.2  Maske:255.255.255.0
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX-Pakete:11829 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:14526 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX-Bytes:3131891 (3.1 MB)  TX-Bytes:12211721 (12.2 MB)

ts@vm-openvpn:~$ sudo tcpdump -i tun0 | grep '10.205.'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9714

Wohnort: Münster

Tom7320 schrieb:

[…]

ts@vm-openvpn:~$ ifconfig
[…] tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.205.76.2  P-z-P:10.205.76.2  Maske:255.255.255.0
[…]

Dein VPN ist falsch konfiguriert. Ein Tunnel zu sich selber ist Unfug.

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Hmmmm.... Ich sehe ein, dass das komisch aussieht. Aber ich kann nicht erkennen was da falsch sein soll.

Server:

proto udp
port 1194
dev tun
server 10.205.76.0 255.255.255.0
topology subnet
persist-key
persist-tun
keepalive 10 60
#duplicate-cn
#ccd-exclusive
user nobody
group nogroup
daemon
verb 3
tls-version-min 1.2
cipher AES-256-CBC
auth SHA256
remote-cert-tls client
management 127.0.0.1 5555

client-config-dir /etc/openvpn/ccd
tls-auth          /etc/openvpn/keys/ta.key 0
dh                /etc/openvpn/keys/dh2048.pem
pkcs12            /etc/openvpn/keys/OpenVPN_PAW_Server.p12
crl-verify        /etc/openvpn/keys/OpenVPN_PAW_CRL.pem

push "route 192.168.193.0 255.255.255.0"
route 192.168.0.0 255.255.255.0

ccd:

iroute 192.168.0.0 255.255.255.0

Client:

proto udp
port 1194
dev tun0
management 127.0.0.1 5555
client
remote wissberg.mooo.com
persist-key
persist-tun
user nobody
group nogroup
nobind
verb 3
tls-version-min 1.2
cipher AES-256-CBC
auth SHA256
remote-cert-tls server

pkcs12      /etc/openvpn/keys_PAW/OpenVPN_PAW_Client1.p12
tls-auth    /etc/openvpn/keys_PAW/ta.key 1

Ist das bei "topology subnet" nicht immer so?

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Nachtrag: https://community.openvpn.net/openvpn/ticket/265

Scheint also normal zu sein. Bei mir:

ts@vm-openvpn:/etc/openvpn$ ip addr show dev tun0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.205.76.2/24 brd 10.205.76.255 scope global tun0
       valid_lft forever preferred_lft forever

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Tom7320 schrieb:

ts@vm-openvpn:~$ sudo tcpdump -i tun0 | grep '10.205.' tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes }}}

Unabhängig von der richtigen Konfiguration des Tunnels, versuch mal (wenn Du das geändert hast) mit diesem Filter:

sudo tcpdump -c 300 -vvveni tun0 net 10.205.76.0/24

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Nix. Kein einziges Paket. Seltsam!

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Tom7320 schrieb:

Nix.

Wie sind z. Zt. auf dem Client, die Ausgaben von:

route -n
sudo lsof -nPi
ps -fC openvpn

?

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

ts@vm-openvpn:/etc/openvpn$ route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
10.205.73.0     0.0.0.0         255.255.255.0   U     0      0        0 tun1
10.205.74.0     0.0.0.0         255.255.255.0   U     0      0        0 tun2
10.205.76.0     0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.193.0   10.205.76.1     255.255.255.0   UG    0      0        0 tun0

ts@vm-openvpn:/etc/openvpn$ sudo lsof -nPi
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
openvpn  955   nobody    4u  IPv4  13577      0t0  TCP 127.0.0.1:5555 (LISTEN)
openvpn  955   nobody    6u  IPv4  13756      0t0  UDP *:57476
openvpn  956   nobody    4u  IPv4  13589      0t0  TCP 127.0.0.1:5556 (LISTEN)
openvpn  956   nobody    6u  IPv4  13760      0t0  TCP *:443 (LISTEN)
openvpn  958   nobody    4u  IPv4  13614      0t0  TCP 127.0.0.1:5557 (LISTEN)
openvpn  958   nobody    6u  IPv4  13761      0t0  UDP *:1194
sshd    1125     root    3u  IPv4  15066      0t0  TCP *:22 (LISTEN)
sshd    1125     root    4u  IPv6  15068      0t0  TCP *:22 (LISTEN)
apache2 1215     root    4u  IPv6  15466      0t0  TCP *:80 (LISTEN)
apache2 1218 www-data    4u  IPv6  15466      0t0  TCP *:80 (LISTEN)
apache2 1219 www-data    4u  IPv6  15466      0t0  TCP *:80 (LISTEN)
sshd    1338     root    3u  IPv4  15862      0t0  TCP 192.168.0.43:22->192.168.0.111:35066 (ESTABLISHED)
sshd    1340     root    3u  IPv4  15887      0t0  TCP 192.168.0.43:22->192.168.0.111:35067 (ESTABLISHED)
sshd    1450       ts    3u  IPv4  15862      0t0  TCP 192.168.0.43:22->192.168.0.111:35066 (ESTABLISHED)
sshd    1450       ts    9u  IPv6  16202      0t0  TCP [::1]:6010 (LISTEN)
sshd    1450       ts   10u  IPv4  16203      0t0  TCP 127.0.0.1:6010 (LISTEN)
sshd    1451       ts    3u  IPv4  15887      0t0  TCP 192.168.0.43:22->192.168.0.111:35067 (ESTABLISHED)

ts@vm-openvpn:/etc/openvpn$ ps -fC openvpn
UID        PID  PPID  C STIME TTY          TIME CMD
nobody     955     1  0 18:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-OpenVPN_PAW_Client1 --status /run/openvpn/OpenVPN_PAW_Client1.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvp
nobody     956     1  0 18:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-OpenVPN_Server1_tcp --status /run/openvpn/OpenVPN_Server1_tcp.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvp
nobody     958     1  0 18:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-OpenVPN_Server1_udp --status /run/openvpn/OpenVPN_Server1_udp.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvp
ts@vm-openvpn:/etc/openvpn$

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Tom7320 schrieb:

ts@vm-openvpn:/etc/openvpn$ ps -fC openvpn
UID        PID  PPID  C STIME TTY          TIME CMD
nobody     955     1  0 18:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-OpenVPN_PAW_Client1 --status /run/openvpn/OpenVPN_PAW_Client1.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvp

Wo befindet sich der openvpn-Server, zu dem dieser Client einen VPN-Tunnel aufgebaut hat?

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Ein paar km weit weg. Beide hinter Routern an VDSL Anschlüssen. Sieht so aus:

                     +----------------------------------+                                                     +----------------------------------+
                     |           ROUTER (Home)          |                                                     |           ROUTER (Office)        |
                     |                                  |public IP              INTERNET             public IP|                                  |
                     |static routes:                    |-----------------------------------------------------|static routes:                    |
                     |10.205.0.0/16    via 192.168.0.43 |                                                     |10.205.0.0/16  via 192.168.193.240|
                     |192.168.193.0/24 via 192.168.0.43 |                                                     |192.168.0.0/24 via 192.168.193.240|
                     |port forwarding:                  |                                                     |port forwarding:                  |
                     |udp/1194             192.168.0.43 |                                                     |udp/1194           192.168.193.240|
                     +-----------------+----------------+                                                     +-----------------+----------------+
                                       |192.168.0.1                                                                             |192.168.193.245
                                       |                                                                                        |
                   +-------------------+---------------------+                                              +-------------------+---------------------+
                   |                                         |                                              |                                         |
                   |192.168.0.43                             |192.168.0.X                                   |192.168.193.240                          |192.168.193.Y
 +-----------------+----------------+       +----------------+-----------------+          +-----------------+----------------+      +-----------------+----------------+
 |         OpenVPN CLIENT           |       |               PC                 |          |         OpenVPN SERVER           |      |               PC                 |
 |                                  |       |                                  |          |                                  |      |                                  |
 |ip forwarding enabled:            |       |                                  |          |ip forwarding enabled:            |      |                                  |
 |net.ipv4.ip_forward=1             |       |                                  |          |net.ipv4.ip_forward=1             |      |                                  |
 |tun 10.205.76.2                   |       |                                  |          |tun 10.205.76.1                   |      |                                  |
 +----------------------------------+       +----------------------------------+          +----------------------------------+      +----------------------------------+

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Wie gesagt funktioniert ja auch alles. Ich war halt nur neugierig weil ich gerne die 10.205.76er Pakete sehen sollte und mich wunderte, dass sie nicht da sind...

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Tom7320 schrieb:

Scheint also normal zu sein. Bei mir:

ts@vm-openvpn:/etc/openvpn$ ip addr show dev tun0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.205.76.2/24 brd 10.205.76.255 scope global tun0
       valid_lft forever preferred_lft forever

Bei mir sieht das (am VPN-Client) z. B. so aus:

:~$ ip addr show dev tun0
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
       valid_lft forever preferred_lft forever
tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet Adresse:10.8.0.6  P-z-P:10.8.0.5  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1

und ich sehe mit tcpdump die 10.8.0.0er Datenpakete am tun0-Interface.

Tom7320

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2007

Beiträge: 94

Interessant! Auch "topology subnet"? Welche OpenVPN Version?

Hier:

pi@openvpn:/etc/openvpn $ openvpn --version
OpenVPN 2.4.0 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 18 2017
library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.08
Originally developed by James Yonan
Copyright (C) 2002-2017 OpenVPN Technologies, Inc. <sales@openvpn.net>
Compile time defines: enable_async_push=no enable_comp_stub=no enable_crypto=yes enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes enable_dependency_tracking=no enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown enable_fast_install=yes enable_fragment=yes enable_iproute2=yes enable_libtool_lock=yes enable_lz4=yes enable_lzo=yes enable_maintainer_mode=no enable_management=yes enable_multi=yes enable_multihome=yes enable_pam_dlopen=no enable_password_save=yes enable_pedantic=no enable_pf=yes enable_pkcs11=yes enable_plugin_auth_pam=yes enable_plugin_down_root=yes enable_plugins=yes enable_port_share=yes enable_selinux=no enable_server=yes enable_shared=yes enable_shared_with_static_runtimes=no enable_silent_rules=no enable_small=no enable_static=yes enable_strict=no enable_strict_options=no enable_systemd=yes enable_werror=no enable_win32_dll=yes enable_x509_alt_username=yes with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no with_plugindir='${prefix}/lib/openvpn' with_sysroot=no

ts@vm-openvpn:/etc/openvpn$ openvpn --version
OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 22 2017
library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Originally developed by James Yonan
Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net>
Compile time defines: enable_crypto=yes enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes enable_dependency_tracking=no enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown enable_fast_install=yes enable_fragment=yes enable_http_proxy=yes enable_iproute2=yes enable_libtool_lock=yes enable_lzo=yes enable_lzo_stub=no enable_maintainer_mode=no enable_management=yes enable_multi=yes enable_multihome=yes enable_pam_dlopen=no enable_password_save=yes enable_pedantic=no enable_pf=yes enable_pkcs11=yes enable_plugin_auth_pam=yes enable_plugin_down_root=yes enable_plugins=yes enable_port_share=yes enable_selinux=no enable_server=yes enable_shared=yes enable_shared_with_static_runtimes=no enable_silent_rules=no enable_small=no enable_socks=yes enable_ssl=yes enable_static=yes enable_strict=no enable_strict_options=no enable_systemd=yes enable_win32_dll=yes enable_x509_alt_username=yes with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no with_plugindir='${prefix}/lib/openvpn' with_sysroot=no
Antworten |