mirror of
https://github.com/gSpotx2f/ruantiblock_openwrt.git
synced 2026-05-13 14:10:59 +00:00
ruantiblock: Nft chains prio
This commit is contained in:
@@ -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)
|
||||
|
||||
Regular → Executable
+6
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user