Jump to content

Keenetic Extra, не работает OpenVPN (проблема с маршрутами?)


Recommended Posts

Добрый день.

Примерно год назад настроил OpenVPN подключение до своего VPS, куда на роутере завернул весь свой интернет трафик. Настроилось всё за пару часов, не доставило каких-либо проблем. Все это благополучно работало, пока в выходные не понадобилось переустановить ОС на сервере (Debian 11). Быстро поднял OpenVPN, выпустил сертификаты, на "локальных" клиентах все тут же запустилось, а вот на роутере (Keenetic Extra) никак не получается. Судя по всему имею проблему с маршрутизацией (хотя в конфигах сервера какие только push route не пробовал!).
Сеть tun0 на сервере 10.0.1.0/24, локальная сеть за кинетиком 192.168.1.0/24

Ниже конфиги:
server.conf:
(c route и push route пробовал всякие варианты, это один из. Логи перенаправил в /dev/null не сразу, там полезной инфрмации для диагностики нет, будто бы "всё хорошо, соединение установлено, шифрование такое то")

Spoiler

local <eth0 ip>
port 443
proto udp
dev tun
daemon
mode server
tls-server
ca srv/ca.crt
cert srv/server.crt
key srv/server.key
dh srv/dh.pem
tls-auth srv/ta.key 0
cipher AES-256-GCM
server 10.0.1.0 255.255.255.0
;ifconfig-pool-persist ipp.txt
client-config-dir client
keepalive 10 120
persist-key
persist-tun
;tun-mtu 1500
;mssfix 1400
sndbuf 524288
rcvbuf 524288
;client-to-client
route-gateway 10.0.1.1
route 192.168.1.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "route 10.0.1.0 255.255.255.0"
push "dhcp-option DNS 10.0.1.1"
;push "block-outside-dns"
push "sndbuf 524288"
push "rcvbuf 524288"
status /dev/null
log /dev/null
log-append /dev/null
verb 0
mute 20

./client/router:

ifconfig-push 10.0.1.6 255.255.255.0
iroute 10.0.1.0 255.255.255.0

Конфигурация клиента (роутер):

Spoiler

remote IP 443
client
dev tun
proto udp
nobind
cipher AES-256-GCM
auth-nocache
verb 6

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
-----END OpenVPN Static key V1-----
</tls-auth>

key-direction 1

Устанавливаю соединение, подключение переходит в состояние Ready и всё (насколько помню до этого когда все успешно работало, в скобках указывался назначенный приватный адрес, в моем случае 10.0.1.6, он реально назначен, но сейчас этого нет).
connection.png.b4b0e449b04026eaddab60b954765cab.png


В логах кинетика пишут, что шлюз недоступен:

gatewayUnreachable.png.e765fc34c6901ff7b32559030d4d1144.png


Со стороны сервера если пингую назначенный адрес 10.0.1.6 пакеты прилетают, о чем свидетельствует счетчик. Но похоже ответы не уходят. Не может он в ту сеть такое ощущение!
ping_packets.png.b7d5d3f2c8bb1620c23a9d3e91c63803.png
 

При соединении создается маршрут:
route.thumb.png.e04904b2e8c6ef02455d22ada460323c.png

но всё мимо.

На сервере в iptables прописаны разрешающие правила, чтобы пакеты ходили туда-назад между lan <-> tun0.

По ощущениям проблема именно в маршрутизации/NAT, но не могу разобраться, прошу помощи! Опытным путём за вчерашний день всё что мог уже перепробовал, нужно конкретное понимание проблемы))
 

Edited by track2
Link to comment
Share on other sites

3 часа назад, track2 сказал:

год назад

 

3 часа назад, track2 сказал:

cipher AES-256-GCM

Скажите, такое шифрование и ранее на Кинетике у Вас было указано и работало?

Попробуйте вариант без шифрования. Как эксперимент. Если заработает, поставьте cipher AES-128-CBC.

https://help.keenetic.com/hc/ru/articles/360000632239-Клиент-OpenVPN

Link to comment
Share on other sites

3 часа назад, track2 сказал:

OpenVPN

В Кинетике используется версия 2.4 с исправлениями безопасности. Но требования соответствуют версии 2.4.

Link to comment
Share on other sites

17 minutes ago, loginella said:

Скажите, такое шифрование и ранее на Кинетике у Вас было указано и работало?

Нет, было как раз CBC до этого. Это сейчас решил поменять на GCM.
Сейчас попробую, но вообще смотрю в 2.4 есть поддержка AES-256-GCM.

Link to comment
Share on other sites

Попробовал AES-128-CBC (именно так было раньше) - не помогло.
Все таки подозреваю маршрут от роутера к VPS :(
Вечером посмотрю что там по трафику слышно на tun0

Link to comment
Share on other sites

4 часа назад, track2 сказал:

нужно конкретное понимание проблемы

Шлюз недоступен Кинетику. Потому проблема как раз понятна. Причина - вопрос.

Link to comment
Share on other sites

Posted (edited)

Пингую с роутера сервер - на интерфейсе tun0 вижу запросы, ответы не отправляются. При пинге с сервера роутера ситуация обратная. В одну сторону пакеты ходят, в обратную нет.

tcpdump -v -i tun0
tcpdump: listening on tun0, link-type RAW (Raw IP), snapshot length 262144 bytes
18:56:00.146753 IP (tos 0x0, ttl 64, id 36300, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.6 > 10.0.1.1: ICMP echo request, id 38219, seq 256, length 64
18:56:01.147167 IP (tos 0x0, ttl 64, id 36444, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.6 > 10.0.1.1: ICMP echo request, id 38219, seq 512, length 64
18:56:02.147890 IP (tos 0x0, ttl 64, id 36583, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.6 > 10.0.1.1: ICMP echo request, id 38219, seq 768, length 64
18:56:03.148795 IP (tos 0x0, ttl 64, id 36716, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.6 > 10.0.1.1: ICMP echo request, id 38219, seq 1024, length 64
18:56:04.149808 IP (tos 0x0, ttl 64, id 36886, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.6 > 10.0.1.1: ICMP echo request, id 38219, seq 1280, length 64


UPD: с пингом разобался! :) перестарался с "режимом тишины" - запретил по всем интерфейсам ходить ICMP на iptables)) сейчас удалил это правило - проще будет выявить проблему!

Edited by track2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...