diff --git a/ruantiblock/Makefile b/ruantiblock/Makefile index 556b4b8..8be786b 100644 --- a/ruantiblock/Makefile +++ b/ruantiblock/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock PKG_VERSION:=1.1 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=gSpot include $(INCLUDE_DIR)/package.mk diff --git a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf index 95bad3c..e82bb7d 100644 --- a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf +++ b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf @@ -32,12 +32,18 @@ TOR_ALLOW_UDP=0 ONION_DNS_ADDR="127.0.0.1#9053" ### --set-mark для отбора пакетов в VPN туннель VPN_PKTS_MARK=8 +### Приоритет правила отбора пакетов при маршрутизации в VPN-интерфейс +VPN_RULE_PRIO=1000 ### TCP порт прокси в режиме прозрачного прокси T_PROXY_PORT_TCP=1100 ### UDP порт прокси в режиме прозрачного прокси T_PROXY_PORT_UDP=1100 ### Отправлять в прозрачный прокси UDP-трафик (0 - вкл, 1 - выкл) T_PROXY_ALLOW_UDP=0 +### Приоритет правила отбора пакетов nftables для конфигупации Tor или прозрачного прокси +NFT_PRIO_NAT="dstnat - 10" +### Приоритет правила отбора пакетов nftables для VPN-конфигурации +NFT_PRIO_ROUTE="mangle + 10" ### Добавление в список блокировок пользовательских записей из файла $USER_ENTRIES_FILE (0 - выкл, 1 - вкл) ### В $DATA_DIR можно создать текстовый файл user_entries с записями IP, CIDR или FQDN (одна на строку). Эти записи будут добавлены в список блокировок ### В записях FQDN можно задать DNS-сервер для разрешения данного домена, через пробел (прим.: domain.com 8.8.8.8) diff --git a/ruantiblock/files/usr/bin/ruantiblock b/ruantiblock/files/usr/bin/ruantiblock old mode 100644 new mode 100755 index a01e809..23263ae --- a/ruantiblock/files/usr/bin/ruantiblock +++ b/ruantiblock/files/usr/bin/ruantiblock @@ -47,12 +47,18 @@ export TOR_ALLOW_UDP=0 export ONION_DNS_ADDR="127.0.0.1#9053" ### --set-mark для отбора пакетов в VPN туннель export VPN_PKTS_MARK=8 +### Приоритет правила отбора пакетов при маршрутизации в VPN-интерфейс +export VPN_RULE_PRIO=1000 ### TCP порт прокси в режиме прозрачного прокси export T_PROXY_PORT_TCP=1100 ### UDP порт прокси в режиме прозрачного прокси export T_PROXY_PORT_UDP=1100 ### Отправлять в прозрачный прокси UDP-трафик (0 - выкл, 1 - вкл) export T_PROXY_ALLOW_UDP=0 +### Приоритет правила отбора пакетов nftables для конфигупации Tor или прозрачного прокси +export NFT_PRIO_NAT="dstnat - 10" +### Приоритет правила отбора пакетов nftables для VPN-конфигурации +export NFT_PRIO_ROUTE="mangle + 10" ### Добавление в список блокировок пользовательских записей из файла $USER_ENTRIES_FILE (0 - выкл, 1 - вкл) ### В $DATA_DIR можно создать текстовый файл user_entries с записями IP, CIDR или FQDN (одна на строку). Эти записи будут добавлены в список блокировок ### В записях FQDN можно задать DNS-сервер для разрешения данного домена, через пробел (прим.: domain.com 8.8.8.8) diff --git a/ruantiblock/files/usr/share/ruantiblock/nft_functions b/ruantiblock/files/usr/share/ruantiblock/nft_functions index 0ae69a5..b7c02a8 100644 --- a/ruantiblock/files/usr/share/ruantiblock/nft_functions +++ b/ruantiblock/files/usr/share/ruantiblock/nft_functions @@ -6,11 +6,11 @@ NFT_LOCAL_CLIENTS_CHAIN="local_clients" VPN_ROUTE_TABLE_ID=99 if [ "$PROXY_MODE" = "2" ]; then - MAIN_CHAIN_TYPE="type filter hook prerouting priority -160; policy accept;" - LOCAL_CLIENTS_CHAIN_TYPE="type route hook output priority -160; policy accept;" + MAIN_CHAIN_TYPE="type filter hook prerouting priority ${NFT_PRIO_ROUTE}; policy accept;" + LOCAL_CLIENTS_CHAIN_TYPE="type route hook output priority ${NFT_PRIO_ROUTE}; policy accept;" else - MAIN_CHAIN_TYPE="type nat hook prerouting priority -110; policy accept;" - LOCAL_CLIENTS_CHAIN_TYPE="type nat hook output priority -110; policy accept;" + MAIN_CHAIN_TYPE="type nat hook prerouting priority ${NFT_PRIO_NAT}; policy accept;" + LOCAL_CLIENTS_CHAIN_TYPE="type nat hook output priority ${NFT_PRIO_NAT}; policy accept;" fi case "$ALLOWED_HOSTS_MODE" in @@ -48,7 +48,7 @@ NftVpnRouteAdd() { if [ -n "$VPN_IP" ]; then echo 0 > /proc/sys/net/ipv4/conf/$IF_VPN/rp_filter NftVpnRouteDelete 2> /dev/null - $IP_CMD rule add fwmark $VPN_PKTS_MARK table $VPN_ROUTE_TABLE_ID priority 1000 + $IP_CMD rule add fwmark $VPN_PKTS_MARK table $VPN_ROUTE_TABLE_ID priority $VPN_RULE_PRIO $IP_CMD route add default via $VPN_IP table $VPN_ROUTE_TABLE_ID fi }