SSTP Posted March 9, 2023 Share Posted March 9, 2023 (edited) если можно было добавить в кеенетик openconnect то было бы отлично ! Edited March 9, 2023 by SSTP 1 3 Quote Link to comment Share on other sites More sharing options...
Vadim Mihailov Posted August 9, 2023 Share Posted August 9, 2023 присоединяюсь Quote Link to comment Share on other sites More sharing options...
slydiman Posted August 14, 2023 Share Posted August 14, 2023 Поддерживаю. Quote Link to comment Share on other sites More sharing options...
Acer Posted February 4 Share Posted February 4 Очень нужен openconneсt для keenetiс Сейчас в РФ без openconneсt вообще не жизнь. Прошивать OpenWRT вообще не хочется. 1 Quote Link to comment Share on other sites More sharing options...
Bonderas Posted February 8 Share Posted February 8 Присоединяюсь! Очень прошу разработчиков сделать клиента Openconnect. Наверняка ранее как-то решали вопрос с VPN Cisco Anyconnect, это же похожие решения. 1 Quote Link to comment Share on other sites More sharing options...
Foton Posted February 9 Share Posted February 9 Да, это жизненно необходимо. Надеемся и ждём. 1 Quote Link to comment Share on other sites More sharing options...
Denis P Posted February 9 Share Posted February 9 (edited) В 09.02.2024 в 11:47, Foton сказал: Надеемся и ждём. Чего ждете то? Пользуйтесь: https://bin.entware.net/mipselsf-k3.4/openconnect_9.01-1_mipsel-3.4.ipk Edited February 10 by Denis P 1 1 Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 11 Share Posted February 11 Цитата Пользуйтесь: openconnect_9.01-1_mipsel-3.4.ipk Вы не понимаете масштаба проблемы. openconnect_9.01-1_mipsel-3.4.ipk зависит от kmod-tun определённой версии, а kmod-tun делается под конкретную версию ядра. Это просто не работает на Keenetic. У меня есть 3 разных роутера Xiaomi для экспериментов. Я пробовал много разных версий OpenWrt и X-Wrt. Из коробки openconnect заработал только на одном из этих роутеров на старой версии OpenWrt 22.03.6. На одном из роутеров не заработал вовсе из-за ошибки в ядре. На последних версиях OpenWrt сломана маршрутизация. На последних X-Wrt удалось поднять openconnect, но только с ручным прописыванием маршрутизации, установкой корневых сертификатов letsencrypt и пр. плясками. И это простейшая конфигурация когда все клиенты ходят в интернет через один VPN, если чуть сложнее, то шансов вообще никаких. Поэтому нужна нормальная поддержка openconnect внутри прошивки Keenetic. 2 Quote Link to comment Share on other sites More sharing options...
Denis P Posted February 11 Share Posted February 11 1 час назад, Dmitry Vasilyev сказал: Это просто не работает на Keenetic. просто работает. 1 час назад, Dmitry Vasilyev сказал: У меня есть 3 разных роутера Xiaomi для экспериментов. Я пробовал много разных версий OpenWrt и X-Wrt каким боком тут openwrt? 1 Quote Link to comment Share on other sites More sharing options...
Mamay Posted February 11 Share Posted February 11 1 минуту назад, Denis P сказал: каким боком тут openwrt? Газификация луж в действии. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 11 Share Posted February 11 2 часа назад, Dmitry Vasilyev сказал: Вы не понимаете масштаба проблемы Это как раз Вы не понимаете. Модуль tun ставится как компонента прошивки keenetic. Пакеты entware от модулей ядра не зависят. 1 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 11 Share Posted February 11 Если есть желающие - выложу openconnect собранный с openssl, а не с gnutls. Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 11 Share Posted February 11 (edited) Ну хоть какой-то эффект - тему заметили. Ещё бы результат был. Имею сеть на роутерах Keenetic. В основной mesh сети 3 роутера, около 150 устройств (умный дом и всё такое), половина из которых по wi-fi. В этой сети 2 интернет провайдера и разные устройства ходят через разных провайдеров. К этой сети по OpenVPN (TAP и это важно) подключаются роутеры из 2 других мест. Там ещё хитрая блокировка DHCP с обоих сторон. Главный роутер сам поднимает WireGuard VPN до ещё одной сети. Сейчас главный роутер ещё поднимает IKEv2 до VPS и часть устройств ходят в интернет через этот VPN. IKEv2 за кардон для некоторых проводных провайдеров пока не забанили, но недавно был период когда это не работало (тестировали бан). Можно на Keenetic поставить opkg openconnect (собственно я его ставил, он нормально находится и скачивается командой в консоли), но покопавшись в настройках я отказался от этой идеи, заставить его правильно работать в этом зоопарке невозможно. Слишком много правил маршрутизации, всё в динамике. Поэтому единственное адекватное решение в данной ситуации - иметь отдельный роутер только ради openconnect и пускать нужный трафик через него. И если выбирать ставить openconnect на простенький Keenetic с управлением только через консоль или OpenWrt/X-Wrt хоть с каким-то минимальным контролем через UI, то выбор очевиден не в пользу Keenetic. Итого, на данный момент openconnect на Keenetic - это боль. А хочется нормальный юзабельный продукт и это востребовано как никогда. Edited February 11 by Dmitry Vasilyev Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 15 Share Posted February 15 В 11.02.2024 в 17:41, Dmitry Vasilyev сказал: OpenWrt/X-Wrt хоть с каким-то минимальным контролем через UI, то выбор очевиден не в пользу Keenetic. Ну тогда досвидания. Не все делается через GUI. В этом посте я опишу, как настраивал сервер openconnect - он называется ocserv. Домашняя страница проекта - https://gitlab.com/openconnect/ocserv Сервер настраивается ручками! Используемые статьи 1. https://habr.com/ru/articles/776256/ 2. https://jakondo.ru/ustanovka-iz-ishodnikov-openconnect-vpn-servera-ocserv-na-debian-11-bullseye/ 3. https://www.howtoforge.com/how-to-install-openconnect-vpn-server-on-ubuntu-22-04/ Место установки - $12/yr KVM VPS - 256 MB RAM - 10G Port - IPv4 - IPv6- RAID 10 SSD. Поскольку памяти мало (очень) выбор OS для установки ограничен. Как пишет владелец Цитата This is a low end VPS hence Ubuntu 20 etc... won't work as it gives memory deadlock error, but we have tested with Debian 10, 11, Almalinux 8 and 9 both works fine, even Ubuntu may work but you will need to install Ubuntu Core as Ubuntu minimum requirement is 1 GB RAM, moreover Custom ISO is available so you install OS of your choice that works with 256 MB RAM По моим прикидкам (1 ядро Intel(R) Xeon(R) Gold 6142 CPU @ 2.60GHz) даже этот копеечный сервер потянет 2-3 клиента openconnect. По идее, описания установки даны выше. Я собственно их комбинировал и выполнял. Вел лог действий (он же имеется в .bash_history. Поскольку в debian 11 ocserv старый - будем ставить из исходников. Пакеты, которые необходимы для установки описаны в README у разработчика тут - https://gitlab.com/openconnect/ocserv и в статьях выше. Я поставил apt-get install -y libgnutls28-dev libev-dev apt-get install -y libpam0g-dev liblz4-dev libseccomp-dev \ libreadline-dev libnl-route-3-dev libkrb5-dev libradcli-dev \ libcurl4-gnutls-dev libcjose-dev libjansson-dev liboath-dev \ libprotobuf-c-dev libtalloc-dev libhttp-parser-dev protobuf-c-compiler \ gperf iperf3 lcov libuid-wrapper libpam-wrapper libnss-wrapper \ libsocket-wrapper gss-ntlmssp haproxy iputils-ping freeradius \ gawk gnutls-bin iproute2 yajl-tools tcpdump apt-get install -y nuttcp autoconf automake Исходники на gitlab - `https://gitlab.com/openconnect/ocserv/-/archive/1.2.4/ocserv-1.2.4.tar.bz2` -скачиваем кто чем умеет и распаковываем в папку. Далее стандартно autoreconf -fvi ./configure && make make install Making install in src ... /usr/bin/mkdir -p '/usr/local/bin' /usr/bin/install -c occtl/occtl ocpasswd/ocpasswd '/usr/local/bin' /usr/bin/mkdir -p '/usr/local/libexec' /usr/bin/install -c ocserv-fw '/usr/local/libexec' /usr/bin/mkdir -p '/usr/local/sbin' /usr/bin/install -c ocserv ocserv-worker '/usr/local/sbin' .... /usr/bin/mkdir -p '/usr/local/share/man/man8' /usr/bin/install -c -m 644 ocserv.8 ocpasswd.8 occtl.8 '/usr/local/share/man/man8' Я привел частичный выхлоп `make install`, что бы было видно куда что ставится (в /usr/local/bin). Далее Копируем файл сервиса ocserv.service в системную библиотеку, и файл конфигурации в /etc/ocserv cp doc/systemd/standalone/ocserv.service /etc/systemd/system/ocserv.service mkdir /etc/ocserv cp doc/sample.config /etc/ocserv/ocserv.conf Редактируем путь в `/etc/systemd/system/ocserv.service` - правильный до бинарника `/user/local/bin/ocserv`. Как редактировать файл конфигурации будет описано в следующем сообщении, а пока выполним echo "net.ipv4.ip_forward = 1" | tee /etc/sysctl.d/60-custom.conf echo "net.core.default_qdisc=fq" | tee -a /etc/sysctl.d/60-custom.conf echo "net.ipv4.tcp_congestion_control=bbr" | tee -a /etc/sysctl.d/60-custom.conf sysctl -p /etc/sysctl.d/60-custom.conf useradd -r -M -U -s /usr/sbin/nologin ocserv Мы задали маршрутизацию между интерфейсами и создали пользователя ocserv, от которого будет запускаться сервис. 3 1 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 15 Share Posted February 15 В этом посте я опишу, как получить сертификаты LetsEncrypt. Это очень просто и много где описано. Я использовал https://www.linuxbabe.com/debian/set-up-openconnect-vpn-server-ocserv-debian-11-bullseye Тем не менее, приведу команды и выхлоп apt-get update apt-get install software-properties-common apt-get install certbot # certbot --version certbot 1.12.0 certbot certonly --standalone --preferred-challenges http --agree-tos --email xxxx@gmail.com -d ваш_домен Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Account registered. Requesting a certificate for zваш_домен Performing the following challenges: http-01 challenge for ваш_домен Waiting for verification... Cleaning up challenges Subscribe to the EFF mailing list (email: xxxx@gmail.com). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/ваш_домен/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/ваш_домен/privkey.pem Your certificate will expire on 2024-05-15. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le Мы создали нужные нам сертификаты /etc/letsencrypt/live/ваш_домен/fullchain.pem и /etc/letsencrypt/live/ваш_домен/privkey.pem Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 15 Share Posted February 15 Отредактированный файл /etc/ocserv/ocserv.conf у меня вышел такой auth = "plain[passwd=/etc/ocserv/ocpasswd]" tcp-port = 443 run-as-user = ocserv run-as-group = ocserv socket-file = /var/run/ocserv-socket server-cert = /etc/letsencrypt/live/ваш_домен/fullchain.pem server-key = /etc/letsencrypt/live/ваш_домен/privkey.pem isolate-workers = true max-clients = 16 max-same-clients = 2 rate-limit-ms = 100 server-stats-reset-time = 604800 keepalive = 300 dpd = 90 mobile-dpd = 1800 switch-to-tcp-timeout = 25 try-mtu-discovery = false cert-user-oid = 0.9.2342.19200300.100.1.1 tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1" auth-timeout = 240 min-reauth-time = 300 max-ban-score = 80 ban-reset-time = 1200 cookie-timeout = 300 deny-roaming = false rekey-time = 172800 rekey-method = ssl use-occtl = true pid-file = /var/run/ocserv.pid log-level = 2 device = vpns predictable-ips = true default-domain = ваш_домен ipv4-network = 10.10.10.0 ipv4-netmask = 255.255.255.0 tunnel-all-dns = true dns = 8.8.8.8 dns = 1.1.1.1 ping-leases = false route = default dtls-legacy = true cisco-svc-client-compat = true client-bypass-protocol = false camouflage = true camouflage_secret = "очень_секретно" camouflage_realm = "Restricted Content" included-http-headers = Strict-Transport-Security: max-age=31536000 ; includeSubDomains included-http-headers = X-Frame-Options: deny included-http-headers = X-Content-Type-Options: nosniff included-http-headers = Content-Security-Policy: default-src 'none' included-http-headers = X-Permitted-Cross-Domain-Policies: none included-http-headers = Referrer-Policy: no-referrer included-http-headers = Clear-Site-Data: "cache","cookies","storage" included-http-headers = Cross-Origin-Embedder-Policy: require-corp included-http-headers = Cross-Origin-Opener-Policy: same-origin included-http-headers = Cross-Origin-Resource-Policy: same-origin included-http-headers = X-XSS-Protection: 0 included-http-headers = Pragma: no-cache included-http-headers = Cache-control: no-store, no-cache Если найдете неточности - сообщите plz. У меня ocserv использует камуфляж, т.е. к нему нужно обращаться так `https://ваш_домен/?очень_секретно`. Создадим также пользователей с паролями, которые могут использовать сервер ocpasswd -c /etc/ocserv/ocpasswd новый_юзер Для того, чтобы эти пользователи имели доступ к сайтам за сервером нужно создать правила SNAT или DNAT. Я это сделал с помощью systemctl. создав такой файл # cat /etc/systemd/system/ocserv-iptables.service [Unit] Before=network.target [Service] Type=oneshot ExecStart=/usr/sbin/iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source внешний_ip ExecStart=/usr/sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT ExecStart=/usr/sbin/iptables -I FORWARD -s 10.10.10.0/24 -j ACCEPT ExecStart=/usr/sbin/iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT ExecStop=/usr/sbin/iptables -t nat -D POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source внешний_ip ExecStop=/usr/sbin/iptables -D INPUT -p tcp --dport 443 -j ACCEPT ExecStop=/usr/sbin/iptables -D FORWARD -s 10.10.10.0/24 -j ACCEPT ExecStop=/usr/sbin/iptables -D FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT RemainAfterExit=yes [Install] WantedBy=multi-user.target Ну и запустим новые службы systemctl daemon-reload systemctl enable ocserv systemctl enable ocserv-iptables systemctl start ocserv systemctl start ocserv-iptables systemctl status ocserv Все у меня заработало. Проверял с windows с помощью openconnect-gui-1.5.3-win64.exe - https://drive.google.com/file/d/12AFZlASU8-TzgKxFxk1Ig7HWizYUWSH8/view?usp=drive_link Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 15 Share Posted February 15 Ну а клиент настраивается "как два пальца": opkg install openconnect echo "мой_сернетный_пароль" > /opt/etc/openconnect/password openconnect -u секретный_пользователь --passwd-on-stdin https://мой_домен/?очень_секретный_камуфляж < /opt/etc/openconnect/password ------ выхлоп ------ POST https://мой_домен/?очень_секретный_камуфляж Connected to 89.117.x.xxx:443 SSL negotiation with мой_домен Connected to HTTPS on мой_домен with ciphersuite (TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-256-GCM) XML POST enabled Please enter your username. POST https://мой_домен Please enter your password. POST https://мой_домен/auth Got CONNECT response: HTTP/1.1 200 CONNECTED CSTP connected. DPD 90, Keepalive 300 No DTLS address Set up UDP failed; using SSL instead Configured as 10.10.10.46, with SSL connected and DTLS disabled В другой консоли проверим curl --interface tun0 http://myip.wtf/json { "YourFuckingIPAddress": "89.117.x.xxx", "YourFuckingLocation": "Paris, IDF, France", "YourFuckingHostname": "89.117.x.xxx", "YourFuckingISP": "YYYYY Ltd.", "YourFuckingTorExit": false, "YourFuckingCity": "Paris", "YourFuckingCountry": "France", "YourFuckingCountryCode": "FR" } Если видим адрес oscerv сервера - все сработало. Все проверялось на НАСе с процессором aarch64. На кинетике будет аналогично, но потребуется пара телодвижений, как написал тут - Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 16 Share Posted February 16 Цитата Ну тогда досвидания. Не все делается через GUI. Эта тема хоть и называется просто openconnect и создана не мной, но очевидно целью создания этой темы было громко заявить о необходимости добавить полноценную поддержку openconnect в прошивку Keenetic, для начала хотя бы клиента. Также важный момент - официальная поддержка не распространяется на компоненты entware, то есть если у кого-то что-то не получится, поддержки спросить негде. В реальной жизни многие используют VPS и давно подняли там ocserv. Клиентов для openconnect полно под любую операционку или смартфон. Проблема возникает когда на роутере чуть больше чем 1 VPN клиент и больше чем полтора клиента. Услышьте пожалуйста - нужна полноценная поддержка openconnect в прошивке чтобы можно было через UI настраивать правила для разных клиентов и пр. Да, можно пол дня тыкать в консоль, но когда я за рулём, мне звонят и нужно что-то переконфигурировать, я могу это сделать в 3 клика в UI со смартфона, а не с компа на следующий день. Тут рядом ещё есть тема про Cisco AnyConnect, где было заявлено что этим пользуется полтора человека и это никому не нужно. Если лично вы не пользуетесь этим, это не значит что это не востребовано. Другое дело, если разработчик не хочет или не может это сделать. Тогда так и скажите что поддержки openconnect не будет по такой то причине. Quote Link to comment Share on other sites More sharing options...
Mechanics Posted February 16 Share Posted February 16 (edited) Устанавливал месяца три назад сервер по этой статье: Настраиваем OpenConnect - совместимый с Cisco AnyConnect VPN сервер на платформе Linux - Записки IT специалиста (interface31.ru) Клиенты - android (VPN Clieent Pro, OpenConnect), ОПСОС - Билайн, МТС. Вместо apt install .. , естественно opkg install ... Сертификат генерил самоподписанный, все работает. В конфиге пришлось отключить udp-port = 4433, оставил только tcp-port = 4433 иначе DPI проовайдера клиента просекал vpn и блокировал трафик. Edited February 16 by Mechanics Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 16 Share Posted February 16 Настройку скриптов на клиенте, авторизацию по сертификату клиента (спасибо @Mechanics за пост выше) оставляю читателям. PS Производительность ocserv вышла не самая лучшая. Где-то 70 Мбит/с. У Vmess+Reality down больше 400, up около 200. Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 18 Share Posted February 18 (edited) В 15.02.2024 в 23:18, zyxmon сказал: Ну а клиент настраивается "как два пальца": Мягко говоря нет. Думаю, может я чего-то упускаю. На роутер Xiaomi MI-3G вместо X-Wrt поставил Keenetic 4.0.7 чтобы сравнить производительность openconnect клиента. Но не тут-то было. Давайте писать инструкции для нормальных людей, а не для линуксоидных гиков. И так чтобы это работало в реальной жизни на конкретных роутерах, а не на абстрактном НАСе с утверждением что на Keenetic всё будет также, но правда не совсем. Забудем пока про сервер и как в реальной жизни автоматически обновляется сертификат letsencrypt каждые 3 месяца. Простейшая задача - настроить на Keenetic VPN клиент openconnect: Это всё таки роутер и нужно чтобы не curl из соседней консоли мог достучаться куда надо, а клиентская машина через этот роутер, то есть должна быть прописана правильная маршрутизация. И нужно чтобы при перезагрузке по питанию всё это само восстанавливалось и не требовало ввода в консоли 100500 давно забытых команд. Итак, на Keenetic установлен openconnect. Из консоли VPN поднимается. Точнее сначала не поднимается, а ругается на сертификат letsencrypt, дескать не может проверить корневой сертификат. Благо сам openconnect предлагает решение - добавить параметр --servercert pin-sha256:... но похоже придётся обновлять эту команду каждые 3 месяца после перевыпуска сертификата letsencrypt и это так себе решение. Правильнее прописать корневой сертификат, но я пока не разбирался как это сделать для openconnect на Keenetic. Также возможно стоит добавить параметры --no-dtls --non-inter --background --syslog --script /opt/lib/netifd/vpnc-script --interface=ssltun0 Явно задать имя интерфейса (в данном случае ssltun0) поможет при дальнейшей конфигурации маршрутизации. Будет ли всё это подниматься само после перезагрузки? Наверное нет, то есть нужно куда-то прописывать. Но сначала нужно решить проблемы с маршрутизацией, ибо после поднятия VPN клиента, подключенные к роутеру клиенты уже никуда попасть не могут вообще. Нужно добавить что-то типа iptables -w -A FORWARD -i br0 -o ssltun0 -j ACCEPT но где и как - загадка, ибо роутер это всё таки не ubuntu. То есть пока утверждение В 11.02.2024 в 16:25, Denis P сказал: просто работает. не подтверждается. На OpenWrt/X-Wrt, не на всех, но на определённых версиях, openconnect работает из коробки, включая роутинг для клиентов. Очень хочется увидеть полноценную инструкцию. Заранее спасибо. Edited February 18 by Dmitry Vasilyev Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 18 Share Posted February 18 42 минуты назад, Dmitry Vasilyev сказал: Давайте писать инструкции для нормальных людей, а не для линуксоидных гиков. Давайте, напишите! Выше была не инструкция, а просто информация. К слову и настройки сервера могут быть другими, и авторизация другой. Я привел информацию одной конфигурации сервера и соответствующей ей конфигурации клиента. 46 минут назад, Dmitry Vasilyev сказал: Очень хочется увидеть полноценную инструкцию. Ждем такую. 1 Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 18 Share Posted February 18 Ясно, всё делать самому. Начнём с малого 1 час назад, Dmitry Vasilyev сказал: Благо сам openconnect предлагает решение - добавить параметр --servercert pin-sha256:... но похоже придётся обновлять эту команду каждые 3 месяца после перевыпуска сертификата letsencrypt и это так себе решение. Правильнее прописать корневой сертификат Решение очевидно ровно такое же как для OpenWrt. Вот отсюда качаем https://letsencrypt.org/ru/certificates/ корневой сертификат ISRG Root X1 (файл isrg-root-x1-cross-signed.pem). Первая команда (может быть и не обязательно, только концы строк меняются с \r\n на просто \n): openssl x509 -outform PEM < isrg-root-x1-cross-signed.pem > letsencrypt_root.cert Вторая команда (вычисляем хэш): openssl x509 -hash -noout -in letsencrypt_root.cert У меня получился хэш "4042bcee". И наконец файл letsencrypt_root.cert переименовываем в 4042bcee и заливаем на роутер в /etc/ssl/certs/4042bcee После этого openconnect нормально валидирует сертификаты letsencrypt и не надо добавлять --servercert pin-sha256:... Quote Link to comment Share on other sites More sharing options...
Denis P Posted February 18 Share Posted February 18 2 часа назад, Dmitry Vasilyev сказал: где и как - загадка Вот таки прям загадка https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmnetfilterd Но учитывая, что ваши эксперименты происходят на устройствах, которые не имеют никакого отношения к кинетику, хоть и пытаются казаться таковыми, никакой ответственности за ковыряния "не в туды" никто не несет. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 18 Share Posted February 18 2 минуты назад, Denis P сказал: Вот таки прям загадка В хуках именно в этом случае вроде как нет необходимости. Можно вроде разово. @Dmitry Vasilyev - по поводу создания tun интерфейса на кинетике я так же писал в соседней теме. Смысла в переименовании не вижу. Решение по рестарту openconnect клиента в интернете вагон. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 18 Share Posted February 18 Не знаю зачем другие описывают результаты своих исследований, я же описываю для себя. Через год-другой все может забыться, а нужно повторить. Чтобы не вспоминать - можно посмотреть ранее написанные тексты. А публикация на форуме - и другим в помощь, и средство пограмотнее все изложить. Это не инструкция. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 18 Share Posted February 18 @Dmitry Vasilyev - специально для Вас проверил на кинетике Giga - все работает так же, как и на НАСе. Нужно только перед запуском дать 4 команды, о которых ранее написал. Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 18 Share Posted February 18 3 часа назад, Dmitry Vasilyev сказал: Нужно добавить что-то типа iptables -w -A FORWARD -i br0 -o ssltun0 -j ACCEPT Именно так, только перед этим нужно установить iptables opkg install iptables Далее VPN на роутере поднимается следующей командой и всё работает (до поры): /opt/sbin/openconnect https://сервер:443 --interface=ssltun0 --no-dtls --non-inter --background --syslog --script /opt/lib/netifd/vpnc-script -u имя --passwd-on-stdin < /opt/etc/openconnect/password На всякий случай для тех, кто первый раз слышит про entware - все файлы лежат внутри /opt , поэтому такие пути, так задумано. Оставшиеся проблемы - как добавить в автозагрузку и как вырубить VPN при необходимости? Попробовал костыль в виде файла /etc/init.d/S90openconnect Внутри #!/bin/sh и команда, что дана выше. Дал файлу нужные разрешения chmod 777 /opt/etc/init.d/S90openconnect Эффекта нет. Кстати opkg mc на Keenetic не работает. Черно белая картинка и не работают стрелки на клавиатуре сводя на нет весь смысл. Собственно пока этого достаточно чтобы замерить скорость и сравнить с X-Wrt. Провайдер 500 мбит. ocserv поднят на VPS с каналом 100 мбит. Cysco AnyConnect под Windows до этого ocserv даёт скорость 70-75 мбит. openconnect на Keenetic и X-Wrt на Xiaomi MI-3G (MT7621) дают одинаковую скорость около 7 мбит (привет ADSL). Поднимать openconnect на чём-то серьёзнее типа Keenetic Hooper (KN-3810) я даже пытаться не буду, ибо без нативной поддержки в прошивке это совершенно не юзабельно. Печаль. Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 18 Share Posted February 18 1 час назад, zyxmon сказал: по поводу создания tun интерфейса на кинетике я так же писал в соседней теме. Смысла в переименовании не вижу. Решение по рестарту openconnect клиента в интернете вагон. Я не читаю соседние темы, я читаю эту. Ссылка или конкретные команды, "в интернете вагон" - это не о чём. Я понятия не имею какой интерфейс создаёт openconnect по умолчанию и переименование просто на всякий случай во избежание конфликтов. Разумеется в простых случаях можно не переименовывать. 54 минуты назад, zyxmon сказал: Нужно только перед запуском дать 4 команды, о которых ранее написал. Где, какие? Как сложно общаться, когда "2 пишу, 3 в уме". Итог - да на Keenetic можно поднять openconnect, через одно место. На серьёзных роутерах с серьёзными конфигами это вообще не вариант. На простых роутерах проще использовать OpenWrt/X-Wrt ибо скорость та же (очень низкая), но есть хоть какой-то UI. Вопрос - как достучаться до представителей Keenetic и получить вразумительный ответ от них по поводу поддержки openconnect? Quote Link to comment Share on other sites More sharing options...
slydiman Posted February 18 Share Posted February 18 1 час назад, Denis P сказал: Но учитывая, что ваши эксперименты происходят на устройствах, которые не имеют никакого отношения к кинетику, хоть и пытаются казаться таковыми, никакой ответственности за ковыряния "не в туды" никто не несет. К чему это? Тут кто-то за что-то несёт ответственность? Учитывая что Keenetic официально не поддерживает opkg вообще, за любые ковыряния с opkg никто ответственности не несет. Собственно поэтому я все эксперименты делаю на том, что не жалко. 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.