track2 Posted April 25, 2022 Posted April 25, 2022 (edited) Добрый день. Примерно год назад настроил 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, он реально назначен, но сейчас этого нет). В логах кинетика пишут, что шлюз недоступен: Со стороны сервера если пингую назначенный адрес 10.0.1.6 пакеты прилетают, о чем свидетельствует счетчик. Но похоже ответы не уходят. Не может он в ту сеть такое ощущение! При соединении создается маршрут: но всё мимо. На сервере в iptables прописаны разрешающие правила, чтобы пакеты ходили туда-назад между lan <-> tun0. По ощущениям проблема именно в маршрутизации/NAT, но не могу разобраться, прошу помощи! Опытным путём за вчерашний день всё что мог уже перепробовал, нужно конкретное понимание проблемы)) Edited April 25, 2022 by track2 Quote
loginella Posted April 25, 2022 Posted April 25, 2022 3 часа назад, track2 сказал: год назад 3 часа назад, track2 сказал: cipher AES-256-GCM Скажите, такое шифрование и ранее на Кинетике у Вас было указано и работало? Попробуйте вариант без шифрования. Как эксперимент. Если заработает, поставьте cipher AES-128-CBC. https://help.keenetic.com/hc/ru/articles/360000632239-Клиент-OpenVPN Quote
loginella Posted April 25, 2022 Posted April 25, 2022 3 часа назад, track2 сказал: OpenVPN В Кинетике используется версия 2.4 с исправлениями безопасности. Но требования соответствуют версии 2.4. Quote
track2 Posted April 25, 2022 Author Posted April 25, 2022 17 minutes ago, loginella said: Скажите, такое шифрование и ранее на Кинетике у Вас было указано и работало? Нет, было как раз CBC до этого. Это сейчас решил поменять на GCM. Сейчас попробую, но вообще смотрю в 2.4 есть поддержка AES-256-GCM. Quote
loginella Posted April 25, 2022 Posted April 25, 2022 2 минуты назад, track2 сказал: в 2.4 есть поддержка AES-256-GCM Но Кинетик работает со 128. Quote
track2 Posted April 25, 2022 Author Posted April 25, 2022 Попробовал AES-128-CBC (именно так было раньше) - не помогло. Все таки подозреваю маршрут от роутера к VPS Вечером посмотрю что там по трафику слышно на tun0 Quote
loginella Posted April 25, 2022 Posted April 25, 2022 4 часа назад, track2 сказал: нужно конкретное понимание проблемы Шлюз недоступен Кинетику. Потому проблема как раз понятна. Причина - вопрос. Quote
track2 Posted April 25, 2022 Author Posted April 25, 2022 (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 April 25, 2022 by track2 Quote
Recommended Posts
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.