Files
clash-rules/scripts/iptables-clash-setup.sh

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