From 5107f59c3c1dd34faae6610237508de1a13ce468 Mon Sep 17 00:00:00 2001 From: gSpot Date: Wed, 3 Jan 2024 21:12:54 +0300 Subject: [PATCH] Updated --- Автоматическая-установка-с-помощью-скрипта.md | 48 ++++++++++++++++-- ...для-совместной-работы-с-прокси-сервером-sing‑box.md | 16 +++--- Самостоятельная-установка-и-настройка.md | 49 ++++++++++++++++--- 3 files changed, 94 insertions(+), 19 deletions(-) diff --git a/Автоматическая-установка-с-помощью-скрипта.md b/Автоматическая-установка-с-помощью-скрипта.md index 7e9a64b..baad7e2 100644 --- a/Автоматическая-установка-с-помощью-скрипта.md +++ b/Автоматическая-установка-с-помощью-скрипта.md @@ -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) после установки. @@ -47,14 +87,12 @@ /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 commit ruantiblock - _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `VPN` (вкладка `VPN` доступна только при выключенной службе Ruantiblock!)._ - - В конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN добавит правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него. Для PPTP и WireGuard необходимо отключить маршрут по умолчанию (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.defaultroute=0`) и использование получаемых DNS-серверов (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.peerdns=0`). + _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `Режим VPN`._ + В конфигурации прозрачного прокси - задайте значение TCP-порта на котором принимает соединения прозрачный прокси: diff --git a/Настройка-ruantiblock-для-совместной-работы-с-прокси-сервером-sing‑box.md b/Настройка-ruantiblock-для-совместной-работы-с-прокси-сервером-sing‑box.md index 8c315fb..28aa06a 100644 --- a/Настройка-ruantiblock-для-совместной-работы-с-прокси-сервером-sing‑box.md +++ b/Настройка-ruantiblock-для-совместной-работы-с-прокси-сервером-sing‑box.md @@ -79,17 +79,17 @@ section_name=$(uci add firewall zone) uci batch << EOI - set firewall.$section_name.name='sing_box' - set firewall.$section_name.input='ACCEPT' - set firewall.$section_name.output='ACCEPT' - set firewall.$section_name.forward='ACCEPT' - set firewall.$section_name.masq='1' - add_list firewall.$section_name.network='SING_BOX_TUN' + set firewall.${section_name}.name='sing_box' + set firewall.${section_name}.input='ACCEPT' + set firewall.${section_name}.output='ACCEPT' + set firewall.${section_name}.forward='ACCEPT' + set firewall.${section_name}.masq='1' + add_list firewall.${section_name}.network='SING_BOX_TUN' EOI section_name=$(uci add firewall forwarding) uci batch << EOI - set firewall.$section_name.src='lan' - set firewall.$section_name.dest='sing_box' + set firewall.${section_name}.src='lan' + set firewall.${section_name}.dest='sing_box' EOI uci commit firewall service firewall restart diff --git a/Самостоятельная-установка-и-настройка.md b/Самостоятельная-установка-и-настройка.md index d43f945..8322366 100644 --- a/Самостоятельная-установка-и-настройка.md +++ b/Самостоятельная-установка-и-настройка.md @@ -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) после установки. @@ -107,15 +147,12 @@ 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 commit ruantiblock - _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `VPN`._ - -В конфигурационном файле OpenVPN-клиента обязательно должен присутствовать параметр `route-noexec`, иначе OpenVPN добавит правило маршрутизации по умолчанию на свой интерфейс и весь трафик пойдет через него. Для PPTP и WireGuard необходимо отключить маршрут по умолчанию (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.defaultroute=0`) и использование получаемых DNS-серверов (`uci set network.ИМЯ_VPN_ИНТЕРФЕЙСА.peerdns=0`). - + _VPN-интерфейс можно задать и в веб-приложении: `Ruantiblock` -> `Настройки` -> `Режим VPN`._ **5.3 Настройка конфигурации прозрачного прокси**