Updated

gSpot
2024-01-03 21:12:54 +03:00
parent 6656559487
commit 5107f59c3c
3 changed files with 94 additions and 19 deletions
@@ -3,7 +3,47 @@
## Начальные требования ## Начальные требования
+ Для VPN конфигурации необходимо настроенное и работающее VPN-соединение. В случае OpenVPN, помимо конфигурирования самого клиента, в настройках сети нужно создать интерфейс (например, с названием `VPN`) для устройства `tun0` и добавить его в зону `wan` межсетевого экрана. При использовании Wireguard или PPTP необходимо, чтобы VPN-интерфейс был добавлен в зону `wan` межсетевого экрана. + Для VPN конфигурации необходимо настроенное и работающее VPN-соединение.
+ В настройках сети OpenWrt нужно создать интерфейс с названием `VPN`. Протокол интерфейса зависит от типа вашего VPN: для некоторых популярных (Wireguard, OpenConnect, PPTP и др.) присутствуют соответствующие варианты в списке выбора; в случае OpenVPN - неуправляемый интерфейс, к котому привязано сетевое устройство `tun0`.
Пример создания неуправляемого интерфейса для OpenVPN (сетевое устройство `tun0`) из консоли с помощью UCI:
uci batch << EOI
set network.VPN='interface'
set network.VPN.proto='none'
set network.VPN.device='tun0'
set network.VPN.defaultroute='0'
set network.VPN.delegate='0'
EOI
uci commit network
service network restart
+ Далее нужно добавить новую зону межсетевого экрана под названием `vpn` (разрешить исходящий трафик и маскарадинг, запретить входящий и перенаправление) и добавить в неё созданный ранее интерфейс OpenWrt `VPN`:
section_name=$(uci add firewall zone)
uci batch << EOI
set firewall.${section_name}.name='vpn'
set firewall.${section_name}.input='REJECT'
set firewall.${section_name}.output='ACCEPT'
set firewall.${section_name}.forward='REJECT'
set firewall.${section_name}.masq='1'
add_list firewall.${section_name}.network='VPN'
EOI
section_name=$(uci add firewall forwarding)
uci batch << EOI
set firewall.${section_name}.src='lan'
set firewall.${section_name}.dest='vpn'
EOI
uci commit firewall
service firewall restart
+ Для всех видов VPN необходимо отключить маршрут по умолчанию в VPN-туннель (иначе весь трафик полностью будет заворачиваться в VPN) и использование DNS получаемых от VPN-сервера:
uci set network.VPN.defaultroute=0
uci set network.VPN.peerdns=0`
uci commit network
+ При использовании OpenVPN, в конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN будет добавлять правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него.
+ В стандартной конфигурации конфиги nftset и dnsmasq со списками блокировок пишутся при обновлении в tmpfs, т.е. в оперативную память (`/tmp/ruantiblock` и `/tmp/dnsmasq.d` соответственно). При старте системы после перезагрузки происходит автоматическое обновление блэклиста. При недостаточном количестве памяти (128Мб и менее) или просто для удобства, можно [перенести директории с данными на внешний носитель](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81-%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9-%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C) после установки. + В стандартной конфигурации конфиги nftset и dnsmasq со списками блокировок пишутся при обновлении в tmpfs, т.е. в оперативную память (`/tmp/ruantiblock` и `/tmp/dnsmasq.d` соответственно). При старте системы после перезагрузки происходит автоматическое обновление блэклиста. При недостаточном количестве памяти (128Мб и менее) или просто для удобства, можно [перенести директории с данными на внешний носитель](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81-%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9-%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C) после установки.
@@ -47,14 +87,12 @@
/etc/init.d/tor start /etc/init.d/tor start
+ В VPN конфигурации - задайте имя VPN-интерфейса (для OpenVPN обычно `tun0`, для PPTP и WireGuard имя определяет сам пользователь при создании интерфейса): + В VPN конфигурации - задайте имя VPN-интерфейса (для OpenVPN обычно `tun0`, для Wireguard, OpenConnect, PPTP и пр. имя определяет сам пользователь при создании интерфейса):
uci set ruantiblock.config.if_vpn='tun0' uci set ruantiblock.config.if_vpn='tun0'
uci commit ruantiblock uci commit ruantiblock
_VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `VPN` (вкладка `VPN` доступна только при выключенной службе Ruantiblock!)._ _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `Режим VPN`._
В конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN добавит правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него. Для PPTP и WireGuard необходимо отключить маршрут по умолчанию (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.defaultroute=0`) и использование получаемых DNS-серверов (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.peerdns=0`).
+ В конфигурации прозрачного прокси - задайте значение TCP-порта на котором принимает соединения прозрачный прокси: + В конфигурации прозрачного прокси - задайте значение TCP-порта на котором принимает соединения прозрачный прокси:
@@ -79,17 +79,17 @@
section_name=$(uci add firewall zone) section_name=$(uci add firewall zone)
uci batch << EOI uci batch << EOI
set firewall.$section_name.name='sing_box' set firewall.${section_name}.name='sing_box'
set firewall.$section_name.input='ACCEPT' set firewall.${section_name}.input='ACCEPT'
set firewall.$section_name.output='ACCEPT' set firewall.${section_name}.output='ACCEPT'
set firewall.$section_name.forward='ACCEPT' set firewall.${section_name}.forward='ACCEPT'
set firewall.$section_name.masq='1' set firewall.${section_name}.masq='1'
add_list firewall.$section_name.network='SING_BOX_TUN' add_list firewall.${section_name}.network='SING_BOX_TUN'
EOI EOI
section_name=$(uci add firewall forwarding) section_name=$(uci add firewall forwarding)
uci batch << EOI uci batch << EOI
set firewall.$section_name.src='lan' set firewall.${section_name}.src='lan'
set firewall.$section_name.dest='sing_box' set firewall.${section_name}.dest='sing_box'
EOI EOI
uci commit firewall uci commit firewall
service firewall restart service firewall restart
@@ -1,6 +1,46 @@
## Начальные требования ## Начальные требования
+ Для VPN конфигурации необходимо настроенное и работающее VPN-соединение. В случае OpenVPN, помимо конфигурирования самого клиента, в настройках сети нужно создать интерфейс (например, с названием `VPN`) для устройства `tun0` и добавить его в зону `wan` межсетевого экрана. При использовании Wireguard или PPTP необходимо, чтобы VPN-интерфейс был добавлен в зону `wan` межсетевого экрана. + Для VPN конфигурации необходимо настроенное и работающее VPN-соединение.
+ В настройках сети OpenWrt нужно создать интерфейс с названием `VPN`. Протокол интерфейса зависит от типа вашего VPN: для некоторых популярных (Wireguard, OpenConnect, PPTP и др.) присутствуют соответствующие варианты в списке выбора; в случае OpenVPN - неуправляемый интерфейс, к котому привязано сетевое устройство `tun0`.
Пример создания неуправляемого интерфейса для OpenVPN (сетевое устройство `tun0`) из консоли с помощью UCI:
uci batch << EOI
set network.VPN='interface'
set network.VPN.proto='none'
set network.VPN.device='tun0'
set network.VPN.defaultroute='0'
set network.VPN.delegate='0'
EOI
uci commit network
service network restart
+ Далее нужно добавить новую зону межсетевого экрана под названием `vpn` (разрешить исходящий трафик и маскарадинг, запретить входящий и перенаправление) и добавить в неё созданный ранее интерфейс OpenWrt `VPN`:
section_name=$(uci add firewall zone)
uci batch << EOI
set firewall.${section_name}.name='vpn'
set firewall.${section_name}.input='REJECT'
set firewall.${section_name}.output='ACCEPT'
set firewall.${section_name}.forward='REJECT'
set firewall.${section_name}.masq='1'
add_list firewall.${section_name}.network='VPN'
EOI
section_name=$(uci add firewall forwarding)
uci batch << EOI
set firewall.${section_name}.src='lan'
set firewall.${section_name}.dest='vpn'
EOI
uci commit firewall
service firewall restart
+ Для всех видов VPN необходимо отключить маршрут по умолчанию в VPN-туннель (иначе весь трафик полностью будет заворачиваться в VPN) и использование DNS получаемых от VPN-сервера:
uci set network.VPN.defaultroute=0
uci set network.VPN.peerdns=0`
uci commit network
+ При использовании OpenVPN, в конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN будет добавлять правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него.
+ В стандартной конфигурации конфиги nftset и dnsmasq со списками блокировок пишутся при обновлении в tmpfs, т.е. в оперативную память (`/tmp/ruantiblock` и `/tmp/dnsmasq.d` соответственно). При старте системы после перезагрузки происходит автоматическое обновление блэклиста. При недостаточном количестве памяти (128Мб и менее) или просто для удобства, можно [перенести директории с данными на внешний носитель](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81-%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9-%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C) после установки. + В стандартной конфигурации конфиги nftset и dnsmasq со списками блокировок пишутся при обновлении в tmpfs, т.е. в оперативную память (`/tmp/ruantiblock` и `/tmp/dnsmasq.d` соответственно). При старте системы после перезагрузки происходит автоматическое обновление блэклиста. При недостаточном количестве памяти (128Мб и менее) или просто для удобства, можно [перенести директории с данными на внешний носитель](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81-%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9-%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C) после установки.
@@ -107,15 +147,12 @@
uci set ruantiblock.config.proxy_mode='2' uci set ruantiblock.config.proxy_mode='2'
+ Установка параметра с именем VPN-интерфейса (для OpenVPN обычно `tun0`, для PPTP и WireGuard имя определяет сам пользователь при создании интерфейса): + Установка параметра с именем VPN-интерфейса (для OpenVPN обычно `tun0`, для Wireguard, OpenConnect, PPTP и пр. имя определяет сам пользователь при создании интерфейса):
uci set ruantiblock.config.if_vpn='tun0' uci set ruantiblock.config.if_vpn='tun0'
uci commit ruantiblock uci commit ruantiblock
_VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `VPN`._ _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `Режим VPN`._
В конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN добавит правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него. Для PPTP и WireGuard необходимо отключить маршрут по умолчанию (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.defaultroute=0`) и использование получаемых DNS-серверов (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.peerdns=0`).
**5.3 Настройка конфигурации прозрачного прокси** **5.3 Настройка конфигурации прозрачного прокси**