ruantiblock: Nft chains prio

This commit is contained in:
gSpot
2023-07-10 17:14:46 +03:00
parent e9be3a0732
commit 6d6bed7903
4 changed files with 18 additions and 6 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ruantiblock
PKG_VERSION:=1.1
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
include $(INCLUDE_DIR)/package.mk
@@ -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)
+6
View File
@@ -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)
@@ -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
}