Man for excluding docker networks from tun interface
Find a file
2026-04-05 21:22:33 +07:00
README.md Update README.md 2026-04-05 21:14:52 +07:00
set-nft-for-throne.sh - fix script 2026-04-05 21:22:33 +07:00

Пример скрипта для включения правил без создания дубликатов set-nft-for-throne.sh

1. Запускаем VPN клиент

2. Проверяем таблицы nftables

sudo nft list tables

На выходе будет чтото такое table <family> <name> Если выдает одну, то все норм, запоминаем семью и название: <table family> <table name> Если выдает несколько, то делаем

sudo nft list table <family> <name>

И смотрим в какой из них встречается tun интерфес твоего VPN клиента

3. Добавляем нужное в исключения

1. Исключаем весь Docker-трафик по интерфейсам (самое надёжное)

sudo nft insert rule <table family> <table name> prerouting index 0 iifname "docker0" accept
sudo nft insert rule <table family> <table name> prerouting index 0 iifname "br-*" accept

sudo nft insert rule <table family> <table name> output index 0 oifname "docker0" accept
sudo nft insert rule <table family> <table name> output index 0 oifname "br-*" accept

2. Дополнительно — по подсети Docker

sudo nft insert rule <table family> <table name> prerouting index 0 ip saddr 172.XX.0.0/16 accept
sudo nft insert rule <table family> <table name> output index 0 ip daddr 172.XX.0.0/16 accept

3. Если нужно исключить только один контейнер (по его IP)

sudo nft insert rule <table family> <table name> prerouting index 0 ip saddr 172.18.0.XX accept

Для того чтобы узнать ip контейнера

docker inspect curl | grep 'IPAddress'

4. Проверяем

5. Настраиваем так чтобы эти команды запускались при старте VPN клиента