36 lines
1.6 KiB
Bash
36 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# Очистка старой цепочки
|
|
iptables -t nat -F MIHOMO_REDIR 2>/dev/null
|
|
iptables -t nat -X MIHOMO_REDIR 2>/dev/null
|
|
iptables -t nat -F OUTPUT 2>/dev/null
|
|
iptables -t nat -X OUTPUT 2>/dev/null
|
|
|
|
# Создание пользовательской цепочки
|
|
iptables -t nat -N MIHOMO_REDIR
|
|
|
|
# Исключаем loopback и локальные подсети
|
|
iptables -t nat -A MIHOMO_REDIR -d 127.0.0.0/8 -j RETURN
|
|
iptables -t nat -A MIHOMO_REDIR -d 10.0.0.0/8 -j RETURN
|
|
iptables -t nat -A MIHOMO_REDIR -d 172.16.0.0/12 -j RETURN
|
|
iptables -t nat -A MIHOMO_REDIR -d 192.168.0.0/16 -j RETURN
|
|
|
|
# Всё остальное TCP → REDIRECT на MIHOMO
|
|
iptables -t nat -A MIHOMO_REDIR -p tcp -j REDIRECT --to-ports 7892
|
|
|
|
# Исключаем трафик MIHOMO по UID
|
|
iptables -t nat -C OUTPUT -m owner --uid-owner mihomo -j RETURN 2>/dev/null || \
|
|
iptables -t nat -I OUTPUT -m owner --uid-owner mihomo -j RETURN
|
|
|
|
# Применяем MIHOMO_REDIR ко всем TCP
|
|
iptables -t nat -C OUTPUT -p tcp -j MIHOMO_REDIR 2>/dev/null || \
|
|
iptables -t nat -A OUTPUT -p tcp -j MIHOMO_REDIR
|
|
|
|
# Редирект вайргарда от Netbird неа порт 7982
|
|
# Перенаправляем трафик от интерфейса netbird в MIHOMO
|
|
iptables -t nat -C PREROUTING -i wt0 -p tcp -j REDIRECT --to-port 7892 2>/dev/null || \
|
|
iptables -t nat -A PREROUTING -i wt0 -p tcp -j REDIRECT --to-port 7892
|
|
|
|
# Перенаправляем трафик от интерфейса wireguard в MIHOMO
|
|
iptables -t nat -C PREROUTING -i wg0 -p tcp -j REDIRECT --to-port 7892 2>/dev/null || \
|
|
iptables -t nat -A PREROUTING -i wg0 -p tcp -j REDIRECT --to-port 7892 |