Сервер: ubuntu 16.04 server (bare metal).
Нюанс: на нем работают контейнеры под управлением LXD. Поэтому DHCP-сервером выступает dnsmasq, который был установлен, сконфигурирован и запущен утилитой lxd, и как им рулить, я толком не понимаю. Виртуальная сеть контейнеров 10.0.0.0/24, с адресами openvpn не пересекается.
Клиент — роутер, прошивка padavan
https://bitbucket.org/padavan/rt-n56u/wiki/browse/RUПробовал также по-быстрому на десктопе (через гуй нетворкманагера). Картина идентичная.
Что происходит: клиент успешно подключается, на роутере появляется интерфейс tun0:
# ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Как можно видеть, клиент успешно подключился и получил 10.8.0.6 от сервера.
Соответственно, интерфейс на сервере:
# ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
inet6 addr: fe80::40e9:9e97:b712:9b24/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:168 (168.0 B) TX bytes:432 (432.0 B)
Пробую взаимно пинговать интерфейсы, с роутера пингую серверный 10.8.0.1, с сервера, соответственно, клиентский 10.8.0.6.
Мертвая тишина.
Таблица маршрутов на клиенте:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 100.76.111.186 0.0.0.0 UG 1 0 0 wwan0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 * 255.255.255.255 UH 0 0 0 tun0
100.76.111.184 * 255.255.255.252 U 0 0 0 wwan0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
192.168.0.0 * 255.255.255.0 U 0 0 0 br0
Я в сетях невеликий специалист, на уровне опытного эникейщика, но маршруты выглядят странно.
Конфиг сервера.
За образец был взят /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
Вычищены закомментированные строки, подставлены свои значения параметров.
port 33221
proto udp
dev tun
ca keys/ca.crt
cert keys/web-node.crt
key keys/web-node.key
dh keys/dh.pem
server 10.8.0.0 255.255.255.0
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 6
Лог сервера (айпишники: XX.XX.XX.XX — сервер, YY.YY.YY.YY — клиент):
Wed Sep 12 21:23:47 2018 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 22 2017
Wed Sep 12 21:23:47 2018 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Wed Sep 12 21:23:47 2018 Diffie-Hellman initialized with 2048 bit key
Wed Sep 12 21:23:47 2018 Socket Buffers: R=[212992->212992] S=[212992->212992]
Wed Sep 12 21:23:47 2018 ROUTE_GATEWAY XX.XX.XX.XX/255.255.255.248 IFACE=enp4s0 HWADDR=00:d0:b7:d5:d5:a7
Wed Sep 12 21:23:47 2018 TUN/TAP device tun0 opened
Wed Sep 12 21:23:47 2018 TUN/TAP TX queue length set to 100
Wed Sep 12 21:23:47 2018 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Sep 12 21:23:47 2018 /sbin/ip link set dev tun0 up mtu 1500
Wed Sep 12 21:23:47 2018 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
Wed Sep 12 21:23:47 2018 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2
Wed Sep 12 21:23:47 2018 GID set to nogroup
Wed Sep 12 21:23:47 2018 UID set to nobody
Wed Sep 12 21:23:47 2018 UDPv4 link local (bound): [undef]
Wed Sep 12 21:23:47 2018 UDPv4 link remote: [undef]
Wed Sep 12 21:23:47 2018 MULTI: multi_init called, r=256 v=256
Wed Sep 12 21:23:47 2018 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Wed Sep 12 21:23:47 2018 Initialization Sequence Completed
Wed Sep 12 21:24:21 2018 YY.YY.YY.YY:63693 TLS: Initial packet from [AF_INET]YY.YY.YY.YY:63693, sid=3ffa0777 0d3547ff
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 VERIFY OK: depth=1, CN=web-node
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 VERIFY OK: depth=0, CN=webadmin
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 WARNING: this cipher's block size is less than 128 bit (64 bit). Consider using a --cipher with a larger block size.
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 WARNING: this cipher's block size is less than 128 bit (64 bit). Consider using a --cipher with a larger block size.
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Wed Sep 12 21:24:22 2018 YY.YY.YY.YY:63693 [webadmin] Peer Connection Initiated with [AF_INET]YY.YY.YY.YY:63693
Wed Sep 12 21:24:22 2018 webadmin/YY.YY.YY.YY:63693 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Wed Sep 12 21:24:22 2018 webadmin/YY.YY.YY.YY:63693 MULTI: Learn: 10.8.0.6 -> webadmin/YY.YY.YY.YY:63693
Wed Sep 12 21:24:22 2018 webadmin/YY.YY.YY.YY:63693 MULTI: primary virtual IP for webadmin/YY.YY.YY.YY:63693: 10.8.0.6
Wed Sep 12 21:24:23 2018 webadmin/YY.YY.YY.YY:63693 PUSH: Received control message: 'PUSH_REQUEST'
Wed Sep 12 21:24:23 2018 webadmin/YY.YY.YY.YY:63693 send_push_reply(): safe_cap=940
Wed Sep 12 21:24:23 2018 webadmin/YY.YY.YY.YY:63693 SENT CONTROL [webadmin]: 'PUSH_REPLY,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5' (status=1)