Установка на роутер с OpenWrt

По итогу получился отличный гайд. Спасибо большое!

Может быть кому-то помогу. Напишу свои ошибки:

  1. Если сделали по гайду, но на пк не работает, то проверьте другие устройства (например, через WIFI). Мб у них всё будет хорошо)
  2. Если ставите VPN на второй роутер в сети (например, у меня главный - это ISP (МГТС) роутер, который я не могу убрать), то не забудьте поменять ему IP LAN, чтобы юзать другую сеть. Например, у меня главный роутер был на 192.168.1.254, а второй поставил на 192.168.2.1 (чтобы второе число с конца было другое).

Гораздо лучшим решением будет перевести железку от ADSL или PON в режим моста
Чтобы не было лишних NATов

На фопде давно есть гайд
https://4pda.to/forum/index.php?showtopic=911457&st=0#Spoil-75782612-1

А зачем там просят веб-интерфейс LuCi если все равно все через консоль делают? Ничего же не понятно.

Мне нужен был гайд именно для графического интерфейса.

Там нет ни одного действия в консоли. Всё делается через веб-интерфейс, два раза редактируются файлы (это вполне можно сделать через WinSCP или любым другим SCP-клиентом без всякой консоли).

Единственное, там нет скриншотов, но если пользователь OpenWrt не может найти в веб-интерфейсе “System → Software → Update lists”… я таких пользователей пока не встречал.

Конечно не смогу, ведь надо искать “Система → Software → Update lists”

Достаточно переключить язык на английский. Русского в OpenWrt в официальных сборках “из коробки”, вроде бы, нет, поэтому в инструкции используется английский, как дефолтный.

(вкусовщина, конечно, но лучше английский, чем английский с вкраплениями русского :slight_smile: )

хочется же хоть примерно понимать что ты делаешь. а не волшебные заклинания заучивать которые потом без инструкции не повторишь.

Спасибо автору!!!
Заработало и на рутрекер заходит :slight_smile:

Я думал, что разблокирую много чего :slight_smile: жена сможет без VPN инстаграмм свой смотреть :slight_smile: Видимо уже это пофиксили.

Поработало часик и перестало :slight_smile: ничего не трогал. Просто перестало заходить на рутрекер и всё.

Подскажите, что может быть не так?
Пакеты через интерфейс идут.
Может какие-то pac скрипты не подгружаются?
image

Через плагин браузера все работает отлично!


Вот что в системном логе

Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: block-outside-dns (2.6.8)
Смущает вот это. Как это лечится?

Видимо я скачал неверный antizapret-tcp.ovpn
Может кто поделиться?

Если в логе
UDP link local: (not bound)

Это значит не удалось подключиться?
Со вчерашнего дня чтото перестало работать(

Если на компе клиент OpenVPN запустить с файлом antizapret-tcp.ovpn, все работает нормально, а на роутере - нет((

Добавьте в конфиг verb 5 и OpenVPN станет намного больше сведений писать в журнал.

Вставил verb 5, посмотрел лог. Вроде все нормально проходит при подключении, но перестало работать(( до этого все нормально было, работало пару лет наверное. С компа проверяю, нормально подключается клиент OpenVPN к серверу и работает. На роутера перестало почему-то( Пробовал протокол менять на TCP, потом обратно вернул UDP, результата нет.

Из перемен в конфигурации сети, за сутки до этого, провайдер перестал давать белый статичный IP, теперь стал серый динамический выдаваться, может в этом проблема быть?

Лог
Mon Feb 19 21:25:42 2024 daemon.notice openvpn(antizapret)[32041]: OpenVPN 2.4.11 mipsel-openwrt-linux-gnu [SSL (mbed TLS)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
Mon Feb 19 21:25:42 2024 daemon.notice openvpn(antizapret)[32041]: library versions: mbed TLS 2.16.12, LZO 2.10
Mon Feb 19 21:25:42 2024 daemon.notice openvpn(antizapret)[32041]: LZO compression initializing
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Control Channel MTU parms [ L:1622 D:1212 EF:38 EB:0 ET:0 EL:3 ]
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Data Channel MTU parms [ L:1622 D:1450 EF:122 EB:406 ET:0 EL:3 ]
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Local Options String (VER=V4): 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Expected Remote Options String (VER=V4): 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: TCP/UDP: Preserving recently used remote address: [AF_INET]51.158.187.25:1194
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Socket Buffers: R=[163840->163840] S=[163840->163840]
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: UDP link local: (not bound)
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: UDP link remote: [AF_INET]51.158.187.25:1194
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: TLS: Initial packet from [AF_INET]51.158.187.25:1194, sid=0a3689d9 2d76a349
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: VERIFY OK: depth=1, CN=AntiZapret CA2
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Validating certificate key usage
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: VERIFY KU OK
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: Validating certificate extended key usage
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: VERIFY EKU OK
Mon Feb 19 21:25:43 2024 daemon.notice openvpn(antizapret)[32041]: VERIFY OK: depth=0, CN=antizapret-server-shared
Mon Feb 19 21:25:44 2024 daemon.notice openvpn(antizapret)[32041]: Control Channel: TLSv1.2, cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384, 2048 bit key
Mon Feb 19 21:25:44 2024 daemon.notice openvpn(antizapret)[32041]: [antizapret-server-shared] Peer Connection Initiated with [AF_INET]51.158.187.25:1194
Mon Feb 19 21:25:45 2024 daemon.notice openvpn(antizapret)[32041]: SENT CONTROL [antizapret-server-shared]: 'PUSH_REQUEST' (status=1)
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: PUSH: Received control message: 'PUSH_REPLY,route 10.224.0.0 255.254.0.0,dhcp-option DNS 192.168.100.1,block-outside-dns,route-gateway 192.168.100.1,topology subnet,ping 25,ping-restart 60,route 103.246.200.0 255.255.252.0,route 178.239.88.0 255.255.248.0,route 185.104.45.0 255.255.255.0,route 193.105.213.36 255.255.255.252,route 203.104.128.0 255.255.240.0,route 203.104.144.0 255.255.248.0,route 203.104.152.0 255.255.252.0,route 68.171.224.0 255.255.224.0,route 74.82.64.0 255.255.224.0,ifconfig 192.168.100.10 255.255.252.0,peer-id 42,cipher AES-128-GCM'
Mon Feb 19 21:25:46 2024 daemon.err openvpn(antizapret)[32041]: Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:3: block-outside-dns (2.4.11)
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: timers and/or timeouts modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: --ifconfig/up options modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: route options modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: route-related options modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: peer-id set
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: adjusting link_mtu to 1625
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: OPTIONS IMPORT: data channel crypto options modified
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: Data Channel: using negotiated cipher 'AES-128-GCM'
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: Data Channel MTU parms [ L:1553 D:1450 EF:53 EB:406 ET:0 EL:3 ]
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: Outgoing Data Channel: Cipher 'AES-128-GCM' initialized with 128 bit key
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: Incoming Data Channel: Cipher 'AES-128-GCM' initialized with 128 bit key
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: TUN/TAP device tun0 opened
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: TUN/TAP TX queue length set to 100
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/ifconfig tun0 192.168.100.10 netmask 255.255.252.0 mtu 1500 broadcast 192.168.103.255
Mon Feb 19 21:25:46 2024 daemon.notice netifd: Interface 'openvpn' is enabled
Mon Feb 19 21:25:46 2024 daemon.notice netifd: Network device 'tun0' link is up
Mon Feb 19 21:25:46 2024 daemon.notice netifd: Interface 'openvpn' has link connectivity
Mon Feb 19 21:25:46 2024 daemon.notice netifd: Interface 'openvpn' is setting up now
Mon Feb 19 21:25:46 2024 daemon.notice netifd: Interface 'openvpn' is now up
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 1.1.1.1 netmask 255.255.255.255 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 8.8.8.8 netmask 255.255.255.255 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 77.88.8.8 netmask 255.255.255.255 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 10.224.0.0 netmask 255.254.0.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 103.246.200.0 netmask 255.255.252.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 178.239.88.0 netmask 255.255.248.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 185.104.45.0 netmask 255.255.255.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 193.105.213.36 netmask 255.255.255.252 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 203.104.128.0 netmask 255.255.240.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 203.104.144.0 netmask 255.255.248.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 203.104.152.0 netmask 255.255.252.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 68.171.224.0 netmask 255.255.224.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: /sbin/route add -net 74.82.64.0 netmask 255.255.224.0 gw 192.168.100.1
Mon Feb 19 21:25:46 2024 daemon.warn openvpn(antizapret)[32041]: WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Mon Feb 19 21:25:46 2024 daemon.notice openvpn(antizapret)[32041]: Initialization Sequence Completed
Mon Feb 19 21:25:49 2024 user.notice firewall: Reloading firewall due to ifup of openvpn (tun0)
Лог скриншотом

Подключайтесь только по TCP.
Если после подключения у вас проходит ping на адрес 192.168.104.1, то ищите проблему на стороне роутера. Возможно, у вас не применяются настройки DNS.

Хорошо, спасибо, проверю. Где-то видел, что рекомендовали UDP протокол включить, так как он требует меньше ресурсов роутера, но Вы настоятельно рекомендуете только TCP?

UDP раньше был основным протоколом, но уже несколько лет как Antizapret перешёл на TCP.

Кроме того, о какой экономии ресурсов может идти речь, если через VPN идёт лишь трафик до заблокированных сайтов? Я сомневаюсь, что вы эту экономию даже измерить сможете на таком мизерном трафике.

Спасибо за разъяснение, теперь все стало понятно.
Решил свою проблему. Оказалось, после того как провайдер сменил публичный статический адрес роутера на серый динамический, перестал работать Антизапрет в схеме с Pi-Hole, когда устройства получали в качестве адреса DNS ip роутера, роутер в свою очередь отправлял запрос к Pi-Hole, если имя не заблокировано, запрос шел к 1.1.1.1, 8.8.8.8, 78.88.8.8. Работало все отлично до смены, после - не проходили запросы к Антизапрет сайтам. Решил проблему снятием галочки в “Network” → “Interfaces” → “WAN” → “Advanced Settings” → “Use DNS servers advertised by peer”. Сразу все заработало как раньше)

Если у вас OpenVPN соединяется с сервером по имени домена, то при перезагрузке роутера может быть сюрприз. Потому что отрезолвить домен VPN-сервера ему теперь стало нечем после того, как провайдерских DNS вы его лишили. Тоннель попросту не поднимется.

Я не знаю ваш сетап (кто на ком стоит) и в глаза не видел Pi-Hole (думаю, он в общих чертах не отличается от AdGuardHome), но я бы сделал так: в настройках WAN указал Pi-Hole в качестве DNS, в настройках Pi-Hole указал апстримом несколько публичных DNS (те самые 1.1.1.1, 8.8.8.8, 78.88.8.8), а в ovpn-конфиге пустил трафик до этих публичных серверов в туннель (route 1.1.1.1, route 8.8.8.8, route 78.88.8.8). Главное, чтобы эти публичные адреса везде совпадали.

Тогда, пока туннель ещё не поднят (например, роутер только что загрузился), будут использоваться эти публичные серверы, роутер сможет отрезолвить домен, поднимет туннель и дальше уже OpenVPN создаст маршруты и все DNS-запросы будут резолвиться через Antizapret.