Closed id259 closed 7 months ago
OpenVPN прокинут через xray.
OpenVPN прокинут через xray.
46
пакеты luci-app-xray и luci-app-xray-shared конфликтуют с работой скрипта
В том то и дело, что у меня нет этих пакетов, а стоит только xray-core. Плюс в режиме прозрачного прокси с redsocks+xray всё работает нормально.
Плюс в режиме прозрачного прокси с redsocks+xray всё работает нормально.
Тогда зачем вам OpenVPN нужен внутри xray? Усложнение конфигурации и лишняя нагрузка на роутер.
Tracert показывает, что траффик застревает на сервере.
Без ruantiblock OpenVPN работает в такой конфигурации (через xray)? Т.е. вообще трафик проходит до хостов в интернете сквозь тунель?
Без ruantiblock OpenVPN работает в такой конфигурации (через xray)? Т.е. вообще трафик проходит до хостов в интернете сквозь тунель?
Да, оно и с ruantiblock спокойно работало почти два месяца.
Тогда зачем вам OpenVPN
Я не разобрался, как redsocks+xray заставить работать с UDP, наткнулся на готовый конфиг OpenVPN, который просто всё перенаправляет через socks прокси, и использовал его вместо redsocks.
В принципе, я сейчас поставил sing-box в режиме туннеля, вроде всё работает. Но всё равно хотелось бы понять, почему OpenVPN резко перестал работать с ruantiblock.
Но всё равно хотелось бы понять, почему OpenVPN резко перестал работать с ruantiblock.
Если принять как факт, что роутер вообще не трогали (не меняли настройки, не устанавливали новые приложения и даже не перезагружали) и вдруг перестал работать обход блокировок, то единственное, что мне приходит в голову - это либо изменения на самом proxy/VPN сервере, либо этот сервер попал в реестр или провайдер начал блокировать протокол (что происходит у многих федеральных провайдеров с августа месяца, если следите за новостями).
либо этот сервер попал в реестр или провайдер начал блокировать протокол
Явно не это, сервер свой, плюс с компьютера xray прекрасно работает, проблема именно, в связке ruantiblock+ovpn. Если я сейчас включаю ruantiblock вместе с ovpn, то практически весь трафик сразу начинает идти через ovpn, не зависимо от того, есть ли сайт в списке заблокированных, причём сайт открываться не будет. Исключения составляют google и youtube. Если при этом я делаю tracert на какой-нибудь сайт, то он заглохнет на сервере:
Tracing route to askubuntu.com over a maximum of 30 hops
1 44 ms 38 ms 37 ms 10.0.0.2
2 * * * Request timed out.
3 * * * Request timed out.
4 * * * Request timed out.
Единственное, за что можно зацепиться, - за неделю до того, когда это начало происходить, я поменял хостера. Но я просто перебросил на новую впску старые конфиги и ничего не менял, да и неделю оно как-то проработало.
Ну и оставьте текущую конфигурацию с sing-box, зачем искать приключения? Заворачивать OpenVPN в другой тунель, для простого обхода блокировок, нет никакого смысла (учитывая, что ovpn и сам по себе очень жирный и медленный для роутера).
оставьте текущую конфигурацию с sing-box
Четвёртый день он работает нормально, так что да, оставлю его. Я что-то и не знал, что sing-box есть под openwrt, а он, оказывается, есть прямо в репозитории. Спасибо.
Всё-таки проблема была не в OpenVPN. После обновления блэклиста трафик ходит напрямую, но после того, как я зайду на любой заблокированный сайт из списка, то почти весь трафик начинает идти через vpn. Если заново обновить блэклист, то трафик начинает ходить напрямую до того, как я снова зайду на заблокированный сайт, и так по кругу. Это происходит даже на чистом роутере без установленных OpenVPN/Sing-Box и какого-нибудь дополнительного софта (установлен только ruantiblock). Я пробовал два разных роутера (Redmi_AX6S и TP-Link Archer C6U), и это происходит на обоих.
Я просто долго не замечал, что это происходит, так как у меня канал на 80мбит, а vpn гигабитный.
Покажите содержимое конфига /etc/config/ruantiblock
.
Как вы определяете, что ruantiblock заворачивает весь трафик в VPN? Если ruantiblock отправляет трафик в VPN, то, после открытия сайта в браузере, на странице статистики в таблице "Правила nftables" должен расти один из счётчиков байтов: c (CIDR)
, i (IP)
, d (dnsmasq)
. Когда загружаете незаблокированный сайт счётчики растут?
ruantiblock не будет работать без шифрования DNS. Недостаточно просто заменить провайдерский DNS на другой (8.8.8.8 и т.п.), необходимо шифровать DNS-трафик с помощью https-dns-proxy (или dnscrypt-proxy и т.п.). У вас настроено шифрование DNS?
Некоторые приложения работающие по похожему принципу (adblock, adguard, pbr и т.п.) могут конфликтовать с ruantiblock. Если такие приложения установлены, то попробуйте их удалить.
Переключите ruantiblock в режим ip
, а также отключите проксификацию локального трафика роутера и записи пользователя:
uci set ruantiblock.config.bllist_preset="ruantiblock-ip"
uci set ruantiblock.config.proxy_local_clients="0"
uci set ruantiblock.config.add_user_entries="0"
uci commit ruantiblock
service ruantiblock restart
ruantiblock update
- Как вы определяете, что ruantiblock заворачивает весь трафик в VPN?
Смотрю трейс. Также я просто выключал vpn сервер - после выключения сервера незаблокированные сайты перестают открываться. Ещё, чтобы исключить sing-box и прочий софт, заново перепрошил роутер и поставил на него только ruantiblock и в настройках в качестве интерфейса просто указал wan - результат один и тот же.
- Когда загружаете незаблокированный сайт счётчики растут?
Да, но только после того, когда я в первый раз зайду на заблокированный сайт после обновления блэклиста.
У вас настроено шифрование DNS?
Да, установлен https-dns-proxy, dnsleaktest показывает установленный dns. Пробовал пользоваться ruantiblock без шифрования, пробовал разный dns - результат всё тот же.
- Некоторые приложения работающие по похожему принципу (adblock, adguard, pbr и т.п.) могут конфликтовать с ruantiblock. Если такие приложения установлены, то попробуйте их удалить.
Ничего из перечисленного у меня не установленно, сейчас на роутере только https-dns-proxy и ruantiblock.
5, Переключите ruantiblock в режим ip, а также отключите проксификацию локального трафика роутера и записи пользователя.
Тот же результат, эффекта это не дало.
Покажите вывод команд nft list set ip r d
и nft list chain ip r blacklist
, сначала сразу после обновления блэклиста (когда весь трафик идёт нормально), а потом после захода на заблокированный сайт (когда весь трафик заворачивается в VPN):
ruantiblock restart
ruantiblock update
nft list set ip r d
nft list chain ip r blacklist
зайдите на rutracker.org в браузере
nft list set ip r d
nft list chain ip r blacklist
зайдите на yandex.ru в браузере
nft list set ip r d
nft list chain ip r blacklist
как я зайду на любой заблокированный сайт из списка
Тут я наврал, судя по всему. Заход конкретно на рутрекер никак не отразился на остальном траффике, пока всё ходит нормально.
Однако, если я зайду, например, на e621.net, то вот после захода именно на него трафик начинает идти через vpn. Причём сайты начинают открываться через vpn не сразу, а постепенно, и, например, гугл с яндексом будут ходить напрямую до последнего, а вот всякие сайты из поисковой выдачи уже будут открываться через vpn. Например, через vpn сразу начинает открываться askubuntu.com.
Однако, если я зайду, например, на e621.net, то вот после захода именно на него трафик начинает идти через vpn.
Только трафик к тем IP адресам, в которые резолвится заблокированный e621.net (104.21.32.39, 104.21.50.150, 172.67.163.237, 172.67.182.196). Ко всем остальным IP адресам трафик идёт напрямую. Четыре IP адреса - это не весь трафик, как вы писали ранее.
Например, через vpn сразу начинает открываться askubuntu.com.
Очевидно, что e621.net и askubuntu.com висят на одном IP адресе (на одном хостинге). Сделайте nslookup e621.net
и nslookup askubuntu.com
, они резолвятся в одинаковые IP. IP адрес заблокированного сайта добавляется в сет nftables при резолвинге домена на DNS-сервере роутера (dnsmasq) на срок 3 часа. В этот период времени весь трафик к этому IP идёт через VPN. Так работает режим fqdn
. Можете поиграться с таймаутом в конфиге ruantiblock /etc/ruantiblock/ruantiblock.conf
, параметр NFTSET_DNSMASQ_TIMEOUT="3h"
. Попробуйте 30 минут (30m
).
Причём сайты начинают открываться через vpn не сразу, а постепенно, и, например, гугл с яндексом будут ходить напрямую до последнего, а вот всякие сайты из поисковой выдачи уже будут открываться через vpn.
Через VPN будут открываться только те сайты, IP которых есть в сетах, т.е. это IP адреса заблокированных сайтов, а также тех сайтов, которые висят на этом же IP (обычно, на том же хостинге). Весь трафик полностью, как вы описали, никак не может попасть в VPN при этих правилах. И, например, яндекс никогда в VPN не попадёт, потому что, во-первых, его нет в реестре, а во-вторых, у него свои собственные диапазоны IP адресов на которых нет заблокированных сайтов.
Короче, у вас всё работает нормально. При обходе блокировок есть издержки, некоторое количество незаблокированных сайтов попадают в VPN из-за того, что расположены на одном IP с заблокированным сайтом.
e621.net и askubuntu.com висят на одном IP адресе
Блин, а я и не догадался посмотреть.
Через VPN будут открываться только те сайты, IP которых есть в сетах, т.е. это IP адреса заблокированных сайтов, а также тех сайтов, которые висят на этом же IP (обычно, на том же хостинге). Весь трафик полностью, как вы описали, никак не может попасть в VPN при этих правилах.
У меня впс вырубили, и пока он не работал я гуглил разную фигню (которая, по идее, блокировать не за что), и в выдаче железно не открывалась хотя-бы одна страница. Меня дёрнуло посмотреть трейс, и все сайты, которые я пробовал, шли через впн. Может мне не повезло, что они висели на одном ip с заблокированными на которые я до этого заходил, а может я просто затупил.
Можете поиграться с таймаутом в конфиге ruantiblock
Так и поступлю. Спасибо.
Конфиги OpenVPN:
Клиент
```remote 127.0.0.1 4444 socks-proxy 127.0.0.1 1080 proto tcp-client ifconfig 10.0.0.1 10.0.0.2 verb 3 user nobody group nogroup nobind persist-tun persist-key compress lz4-v2 dev tun dev-type tun keepalive 10 60 resolv-retry infinite route-nopull route-noexec ```Сервер
```local 127.0.0.1 port 4444 proto tcp-server dev tun ifconfig 10.0.0.2 10.0.0.1 verb 3 user nobody group nogroup keepalive 10 60 persist-tun persist-key persist-local-ip compress lz4-v2 auth none cipher none ```OpenVPN прокинут через xray. При запуске ruantiblock весь трафик начинает идти через OpenVPN, причём сайты не загружаются. Tracert показывает, что траффик застревает на сервере. Трафик к google.com при этом всегда идёт напрямую. Это происходит независимо от выбора блэклиста, даже только с пользовательскими записями.
Началось всё около двух недель назад, до этого выборочное проксирование работало без проблем, незаблокированные сайты не прокировались, заблокированные - проксировались и нормально открывались. Началсь это ещё на Openwrt 22.03, обновился до 23.05 - проблема осталась.