Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: OpenVPN: соединение устанавливается, но трафик не идет  (Прочитано 892 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Сервер: 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)
Если бы было достаточно man bash, не было бы ABS.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
добавьте серверу в конфиг маршрут на сеть VPN
route 10.8.0.0 255.255.255.0говорят это критично для сервера (сам не проверял)
Но не уверен, что проблема в этом.
К тому же не показали таблицу маршрутизации и конфиг сервера

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
К тому же не показали таблицу маршрутизации и конфиг сервера
А если посмотреть не торопясь? ;)

Пользователь добавил сообщение 12 Сентября 2018, 22:48:14:
Проблема в кривых маршрутах, которые пушит клиенту сервер, но я не понимаю, откуда это лезет.
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

Смотрите, трейс от роутера на 10.8.0.5 показывает отклик серверного интерфейса 10.8.0.1:
/home/root # traceroute 10.8.0.5
traceroute to 10.8.0.5 (10.8.0.5), 30 hops max, 38 byte packets
 1  10.8.0.1 (10.8.0.1)  72.411 ms  97.201 ms  80.872 ms
 2  *  *  *
 3  *  *  *
 4  *^C

Но что это за неведомый 10.8.0.5, и откуда он взялся, я не понимаю.

Пользователь добавил сообщение 12 Сентября 2018, 23:51:17:
Тут мне подсказали, что маршруты не кривые, а так и должно быть у опенвпн.
Причину нашел — не разрешил трафик tun0 в довольно сложных правилах на сервере.
Тему под снос, ложная тревога.
« Последнее редактирование: 12 Сентября 2018, 23:51:17 от 027 »
Если бы было достаточно man bash, не было бы ABS.

 

Страница сгенерирована за 0.052 секунд. Запросов: 25.