-
Постов
1 844 -
Зарегистрирован
-
Посещение
-
Победитель дней
25
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные zyxmon
-
-
Я совсем "не копенгаген" в tc (traffic control). С политиками не вышло, подозреваю, что все таки неправильно поменял роутинг. Надеюсь следующие юзеры лучше меня разбираются (или я где опечатался).
Сделал все по первому посту - и заработало! Однако такая неожиданность - хуки ifcreated или ifstatechanged не работают с сетевыми интерфейсами, созданными Entware. Но с этим то просто.....
-
1
-
-
@docroot http://zyxnerd.zyxmon.org/files/openconnect/ - сначала ставить библиотеки
-
-
@r13 @avn - господа! А как быть, если "резервное" подключение создается средствами Entware. Например sing-box. Как найти mark?
PS Создал политику по имени скрипта запуска S99sing-box. `show ip polycy` всегда выдает
{ "policy": { "Policy1": { "description": " S99sing-box", "mark": "ffffaac", "table4": 12, "route4": { "route": [ { "destination": "10.0.0.0/24", "gateway": "0.0.0.0", "interface": "GigabitEthernet1", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "172.16.250.0/30", "gateway": "0.0.0.0", "interface": "", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "192.168.1.0/24", "gateway": "0.0.0.0", "interface": "Bridge0", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false } ] }, "table6": 11, "route6": {} } }, "prompt": "(config)" }
Первый маршрут всегда wan (10.0.0.0), второй tun0 (sing-box), третий lan (bridge). Или так и должно быть?
PS Это стенд с 1811 на прошивке 4.1
-
Теперь нет пароля по умолчанию. После установки запускайте в консоли, получайте временный пароль и меняйте его
qbittorrent-nox --webui-port=9080 --profile=/opt/etc --configuration=entware *** Legal Notice *** qBittorrent is a file sharing program. When you run a torrent, its data will be made available to others by means of upload. Any content you share is your sole responsibility. No further notices will be issued. Press 'y' key to accept and continue... y WebUI will be started shortly after internal preparations. Please wait... ******** Information ******** To control qBittorrent, access the WebUI at: http://localhost:9080 The WebUI administrator username is: admin The WebUI administrator password was not set. A temporary password is provided for this session: nGwF3kCbp You should set your own password in program preferences.
-
2
-
-
34 минуты назад, Dmitry Vasilyev сказал:
Именно так
Именно об этом я писал, одна из 4 команд.
35 минут назад, Dmitry Vasilyev сказал:Кстати opkg mc на Keenetic не работает.
Работает отлично на настоящих кинетиках. Что там в environment у воров - вопросы к ним.
-
1
-
-
12 минуты назад, Dmitry Vasilyev сказал:
Вопрос - как достучаться до представителей Keenetic
На сайте есть контакты тех. поддержки. Но придется сообщить номер своего устройства Keenetic
5 минут назад, Dmitry Vasilyev сказал:К чему это?
Это называется воровство интеллектуальной собственности. К этому.
-
1
-
-
@Dmitry Vasilyev - специально для Вас проверил на кинетике Giga - все работает так же, как и на НАСе. Нужно только перед запуском дать 4 команды, о которых ранее написал.
-
Не знаю зачем другие описывают результаты своих исследований, я же описываю для себя. Через год-другой все может забыться, а нужно повторить. Чтобы не вспоминать - можно посмотреть ранее написанные тексты. А публикация на форуме - и другим в помощь, и средство пограмотнее все изложить. Это не инструкция.
-
2 минуты назад, Denis P сказал:
Вот таки прям загадка
В хуках именно в этом случае вроде как нет необходимости. Можно вроде разово.
@Dmitry Vasilyev - по поводу создания tun интерфейса на кинетике я так же писал в соседней теме. Смысла в переименовании не вижу. Решение по рестарту openconnect клиента в интернете вагон.
-
42 минуты назад, Dmitry Vasilyev сказал:
Давайте писать инструкции для нормальных людей, а не для линуксоидных гиков.
Давайте, напишите! Выше была не инструкция, а просто информация. К слову и настройки сервера могут быть другими, и авторизация другой. Я привел информацию одной конфигурации сервера и соответствующей ей конфигурации клиента.
46 минут назад, Dmitry Vasilyev сказал:Очень хочется увидеть полноценную инструкцию.
Ждем такую.
-
1
-
-
Настройку скриптов на клиенте, авторизацию по сертификату клиента (спасибо @Mechanics за пост выше) оставляю читателям.
PS Производительность ocserv вышла не самая лучшая. Где-то 70 Мбит/с. У Vmess+Reality down больше 400, up около 200.
-
Ну а клиент настраивается "как два пальца":
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. На кинетике будет аналогично, но потребуется пара телодвижений, как написал тут -
-
Отредактированный файл /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
-
В этом посте я опишу, как получить сертификаты 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
-
В 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/ocservcp 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
-
-
Если есть желающие - выложу openconnect собранный с openssl, а не с gnutls.
-
2 часа назад, Dmitry Vasilyev сказал:
Вы не понимаете масштаба проблемы
Это как раз Вы не понимаете. Модуль tun ставится как компонента прошивки keenetic. Пакеты entware от модулей ядра не зависят.
-
1
-
-
Проверил работу gost и в режимах прокси и tun. В приведенной в начале темы статье все отлично написано (есть очепятки, в том числе и в ip, но их легко исправить).
В режиме tun на своем сервере нужно "замаскарадить" новую подсеть, как написано тут - https://gost.run/en/tutorials/tuntap/#ip-routing-and-firewall-rules
Иначе не будет доступа к сайтам за серевером, к интернет.
Что же касается кинетика, то, как минимум, нужно выполнить
iptables -A INPUT -i tun0 -j ACCEPT iptables -A FORWARD -i tun0 -j ACCEPT
-
1
-
-
Для сборки gost требуется go 1.21. Поэтому все чуть сложнее.
Проект выглядит интересно. Обновил go и собрал текущий вариант
http://zyxnerd.zyxmon.org/files/gost-go_v3.0.0-nightly.20240118-1_aarch64-3.10.ipk
http://zyxnerd.zyxmon.org/files/gost-go_v3.0.0-nightly.20240118-1_mipsel-3.4.ipk
Сам пока не проверял работу. Проверил, что бинарники запускаются. Уто проверит - отпишитесь.
-
А Вы попробуйте и так и так. Скорее всего и релиз от автора заработает.
-
14 минуты назад, kroleg сказал:
Хотлось бы узнать
Хотелось бы, чтобы пользователи не только писали, но и искали решение самостоятельно, читали форум -
-
-
openconnect
в Обсуждение IPsec, OpenVPN и других туннелей
Опубликовано
Не сталкивался. Я собираю на debian 10, другие члены команды на debian 11. Список необходимых хостовых пакетов указан в wiki. Впрочем это тут offtopic. Лучше спрашивайте на канале такое - https://t.me/entware