Files
clash-rules/scripts/iptables-clash-setup.sh
2025-07-30 22:09:43 +03:00

35 lines
1.6 KiB
Bash

#!/bin/bash
# Очистка старой цепочки
iptables -t nat -F CLASH_REDIR 2>/dev/null
iptables -t nat -X CLASH_REDIR 2>/dev/null
iptables -t nat -F OUTPUT 2>/dev/null
iptables -t nat -X OUTPUT 2>/dev/null
# Создание пользовательской цепочки
iptables -t nat -N CLASH_REDIR
# Исключаем loopback и локальные подсети
iptables -t nat -A CLASH_REDIR -d 127.0.0.0/8 -j RETURN
iptables -t nat -A CLASH_REDIR -d 10.0.0.0/8 -j RETURN
iptables -t nat -A CLASH_REDIR -d 172.16.0.0/12 -j RETURN
iptables -t nat -A CLASH_REDIR -d 192.168.0.0/16 -j RETURN
# Всё остальное TCP → REDIRECT на Clash
iptables -t nat -A CLASH_REDIR -p tcp -j REDIRECT --to-ports 7892
# Исключаем трафик Clash по UID
iptables -t nat -C OUTPUT -m owner --uid-owner clash -j RETURN 2>/dev/null || \
iptables -t nat -I OUTPUT -m owner --uid-owner clash -j RETURN
# Применяем CLASH_REDIR ко всем TCP
iptables -t nat -C OUTPUT -p tcp -j CLASH_REDIR 2>/dev/null || \
iptables -t nat -A OUTPUT -p tcp -j CLASH_REDIR
# Перенаправляем трафик от интерфейса netbird в clash
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 в clash
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