d1m4n Posted May 16, 2020 Share Posted May 16, 2020 На предыдущем релизе 3.03.C16 при смене сессионных ключей ключей интерфейс OpenVPN0 падал и не поднимался. Пришлось поднять отдельный сервис для него, где отключил tls-auth. NAT в туннель убрал по найденному здесь рецепту: no ip nat Home interface OpenVPN0 security-level private no isolate-private ip static Home CdcEthernet0 Со стороны сервера пушится несколько маршрутов, а за ним сложный роутинг с несколькими статиками на другие гейты. Заработало. Собрался озвучить проблему, но сегодня прилетел новый релиз прошивки. Обновился. Проблему с tls-auth еще не проверил, так как перестал работать предыдущий рецепт с отключением NAT в туннель и развалился роутинг. Могу конечно плюнуть и прописать маршрут до сети, используемой самим сервером OpenVPN и тогда всё заработает (используется топология net30). Но это уже будет совсем костыль, а хочется, чтобы работало правильно и красиво... Буду признателен за разъяснения и рекомендации. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted May 17, 2020 Share Posted May 17, 2020 Подробное описание схемы надобно, и примеры конфигов. Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 17, 2020 Author Share Posted May 17, 2020 Да на текущий момент хочется понять в связи с чем перестал отключаться NAT из Home в OpenVPN0. С конфигураций OpenVPN сервера и клиента всё нормально, с роутингом тоже. Ничего не менялось, кроме прошивки кинетика, а на предыдущей я всё отладил и имел только грабли с tls-auth. Схема простейшая - доступ в интернет через USB LTE свисток (CdcEthernet0), один клиент OpenVPN до узла, через который маршрутизация до нескольких приватных сетей. В качестве DNS используется сервер на дальней стороне туннеля, где описаны все "серые зоны" нескольких доменов M$ AD. Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 17, 2020 Author Share Posted May 17, 2020 Всё, разобрался. 😃 Это я нарукожопил и потерял один статик роут на дальней стороне туннеля до подсети кинетика. tcpdump всё расставил по своим местам. Хронически виноват. 😃 Воспользуюсь случаем тогда и спрошу, а что нужно внести в startup-config, чтобы не возвращаться к процедуре отключения всеобщего NAT, которую я описал в первом посте? А по tls-auth еще проверю на новой прошивке и отпишусь. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted May 17, 2020 Share Posted May 17, 2020 3 часа назад, d1m4n сказал: Всё, разобрался. 😃 Это я нарукожопил и потерял один статик роут на дальней стороне туннеля до подсети кинетика. tcpdump всё расставил по своим местам. Хронически виноват. 😃 Воспользуюсь случаем тогда и спрошу, а что нужно внести в startup-config, чтобы не возвращаться к процедуре отключения всеобщего NAT, которую я описал в первом посте? А по tls-auth еще проверю на новой прошивке и отпишусь. Никак, схема из первого поста единственный способ выборочно управлять nat-ом для разных выходных интерфейсов. Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 17, 2020 Author Share Posted May 17, 2020 Всё это записывается в EEPROM и рибута и апдейтов прошивки не боится? Кстати, уже прописал в конфиги ключ для tls-auth и мониторю. Кстати, вот в логах OpenVPN0: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay. Понижение привилегий заложено в коде и строки в конфиге клиента типа user root group operator просто игнорируются? Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted May 17, 2020 Share Posted May 17, 2020 59 минут назад, d1m4n сказал: Всё это записывается в EEPROM и рибута и апдейтов прошивки не боится? Кстати, уже прописал в конфиги ключ для tls-auth и мониторю. Кстати, вот в логах . Понижение привилегий заложено в коде и строки в конфиге клиента типа user root group operator просто игнорируются? Openvpn у нас принудительно работает от nobody:nobody, независимо от того, что будет настроено. Да, настройки сохраняются (если вы их сохраните) Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 17, 2020 Author Share Posted May 17, 2020 В общем, как говорится, картина маслом... Запустился, всё красиво: I [May 17 14:12:30] OpenVPN0: OpenVPN 2.4.6 [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [AEAD] I [May 17 14:12:30] OpenVPN0: library versions: OpenSSL 1.1.1g 21 Apr 2020, LZO 2.10 I [May 17 14:12:30] OpenVPN0: mlockall call succeeded I [May 17 14:12:30] OpenVPN0: UDPv4 link local: (not bound) I [May 17 14:12:30] OpenVPN0: UDPv4 link remote: [AF_INET]XXX.XXX.XXX.XXX:YYYY I [May 17 14:12:30] OpenVPN0: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay I [May 17 14:12:31] ndm: Core::ConfigurationSaver: configuration saved. I [May 17 14:12:33] OpenVPN0: [gw.work.lan] Peer Connection Initiated with [AF_INET]XXX.XXX.XXX.XXX:YYYY I [May 17 14:12:33] ndm: Network::Interface::OpenVpn: "OpenVPN0": connecting via CdcEthernet0 (CdcEthernet0). I [May 17 14:12:33] ndm: Network::Interface::OpenVpn: "OpenVPN0": added host route to remote endpoint XXX.XXX.XXX.XXX via 192.168.1.1. I [May 17 14:12:34] OpenVPN0: TUN/TAP device tun0 opened I [May 17 14:12:34] OpenVPN0: do_ifconfig, tt->did_ifconfig_ipv6_setup=0 I [May 17 14:12:34] ndm: Network::Interface::Ip: "OpenVPN0": IP address is 172.16.199.6/32. I [May 17 14:12:34] ndm: Network::Interface::OpenVpn: "OpenVPN0": TUN peer address is 172.16.199.5. I [May 17 14:12:34] ndm: Network::Interface::OpenVpn: "OpenVPN0": added host route to peer 172.16.199.5 via 172.16.199.6. I [May 17 14:12:34] ndm: Network::Interface::OpenVpn: "OpenVPN0": install accepted route to 172.16.199.0/255.255.255.0 via 172.16.199.6. I [May 17 14:12:34] ndm: Network::Interface::OpenVpn: "OpenVPN0": install accepted route to 192.168.124.0/255.255.255.0 via 172.16.199.6. I [May 17 14:12:34] ndm: Network::Interface::OpenVpn: "OpenVPN0": install accepted route to 10.0.124.0/255.255.255.0 via 172.16.199.6. I [May 17 14:12:35] ndm: Network::Interface::OpenVpn: "OpenVPN0": install accepted route to 172.27.27.0/255.255.255.0 via 172.16.199.6. I [May 17 14:12:35] ndm: Network::Interface::OpenVpn: "OpenVPN0": install accepted route to 192.168.132.0/255.255.255.0 via 172.16.199.6. I [May 17 14:12:35] OpenVPN0: GID set to nobody I [May 17 14:12:35] OpenVPN0: UID set to nobody I [May 17 14:12:35] OpenVPN0: Initialization Sequence Completed А через 3600 секунд (дефолтное значение) получаю вот такой кошмар и ужас: E [May 17 15:12:33] OpenVPN0: OpenSSL: error:14123041:lib(20):func(291):reason(65) E [May 17 15:12:33] OpenVPN0: OpenSSL: error:14161044:lib(20):func(353):reason(68) E [May 17 15:12:33] OpenVPN0: TLS_ERROR: BIO read tls_read_plaintext error E [May 17 15:12:33] OpenVPN0: TLS Error: TLS object -> incoming plaintext read error E [May 17 15:12:33] OpenVPN0: TLS Error: TLS handshake failed E [May 17 15:12:33] ndm: Service: "OpenVPN0": unexpectedly stopped. C [May 17 15:12:33] ndm: Network::Interface::OpenVpn: "OpenVPN0": system failed [0xcffd0a55], unable to set down tunnel interface: no such device. C [May 17 15:12:33] ndm: Network::Interface::OpenVpn: "OpenVPN0": system failed [0xcffd0a64], invalid argument. I [May 17 15:12:33] ndm: Network::Interface::Ip: "OpenVPN0": IP address cleared. I [May 17 15:12:33] ndm: Network::Interface::OpenVpn: "OpenVPN0": remove installed accepted routes. I [May 17 15:12:34] ndm: Core::Server: started Session /var/run/ndm.core.socket. I [May 17 15:12:34] ndm: Core::Session: client disconnected. I [May 17 15:12:34] ndm: Http::Manager: updated configuration. I [May 17 15:12:34] ndm: Core::Server: started Session /var/run/ndm.core.socket. I [May 17 15:12:34] ndm: Core::Session: client disconnected. I [May 17 15:12:34] avahi-daemon[11808]: avahi-daemon 0.6.32 exiting. E [May 17 15:12:36] OpenVPN0: Options error: In [CMD-LINE]:1: Error opening configuration file: /tmp/openvpn/OpenVPN0/openvpn.config W [May 17 15:12:36] OpenVPN0: Use --help for more information. E [May 17 15:12:36] ndm: Service: "OpenVPN0": unexpectedly stopped. Конфиг клиента: client cipher AES-128-CBC remote-cert-tls server ncp-disable key-direction 1 tls-client dev tun nobind remote XXX.XXX.XXX.XXX YYYY udp4 pull persist-key persist-tun keepalive 5 30 auth-nocache resolv-retry infinite comp-lzo no tun-mtu 1500 fragment 1300 mssfix fast-io float mlock script-security 3 explicit-exit-notify 1 verb 1 <tls-auth> # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- -----END OpenVPN Static key V1----- </tls-auth> <ca> ----- </ca> <cert> ----- </cert> <key> ----- </key> Без tls-auth туннель держится стабильно, а с tls-auth умирает при смене сессионных ключей... Как-то так... Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 17, 2020 Author Share Posted May 17, 2020 Похоже, что убрав опцию mlock удалось победить проблему... Quote Link to comment Share on other sites More sharing options...
d1m4n Posted May 18, 2020 Author Share Posted May 18, 2020 Получается, что mlock и деэскалация привилегий до nobody вещи несовместимые. В общем, логично. На мысль навела следующая ошибка: E [May 17 15:12:36] OpenVPN0: Options error: In [CMD-LINE]:1: Error opening configuration file: /tmp/openvpn/OpenVPN0/openvpn.config VPN работает стабильно. Quote Link to comment Share on other sites More sharing options...
meylisso Posted January 31, 2021 Share Posted January 31, 2021 В 17.05.2020 в 19:58, d1m4n сказал: Похоже, что убрав опцию mlock удалось победить проблему... Подскажите пожалуйста как отключить mlock? Quote Link to comment Share on other sites More sharing options...
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.