- 4
Не работает TProxy на ipv4
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.
Вопрос
avn
Добрый вечер! Пришло время разобраться с TProxy для ipv4.
Беру любой сервис (например v2ray,ss,squid и т.д.), который слушает определенный порт на роутере, например 9172, и пересылает траффик в режиме tproxy на удаленный сервер.
Пишу симметричные скрипты для ipv4 и для ipv6 траффика.
/opt/etc/ndm/netfilter.d/10m-ss4.sh
#!/bin/sh [ "$type" != "iptables" ] && exit 0 [ "$table" != "mangle" ] && exit 0 ip4t() { if ! iptables -C "$@" &>/dev/null; then iptables -A "$@" || exit 0 fi } # V2Ray ip -4 route add local default dev lo table 233 2>/dev/null ip -4 route show table main |grep -Ev ^default |while read ROUTE; do ip -4 route add table 233 $ROUTE 2>/dev/null; done ip -4 rule add fwmark 0x2333 table 233 priority 233 2>/dev/null iptables -N SSREDIR -t mangle 2>/dev/null #iptables -F SSREDIR -t mangle 2>/dev/null # connection-mark -> packet-mark ip4t SSREDIR -t mangle -m mark --mark 0x2334 -j RETURN ip4t SSREDIR -t mangle -j CONNMARK --restore-mark ip4t SSREDIR -t mangle -m mark --mark 0x2333 -j RETURN ip4t SSREDIR -t mangle -d 0.0.0.0/8 -j RETURN ip4t SSREDIR -t mangle -d 10.0.0.0/8 -j RETURN ip4t SSREDIR -t mangle -d 100.64.0.0/10 -j RETURN ip4t SSREDIR -t mangle -d 127.0.0.0/8 -j RETURN ip4t SSREDIR -t mangle -d 169.254.0.0/16 -j RETURN ip4t SSREDIR -t mangle -d 172.16.0.0/12 -j RETURN ip4t SSREDIR -t mangle -d 192.0.0.0/24 -j RETURN ip4t SSREDIR -t mangle -d 192.0.2.0/24 -j RETURN ip4t SSREDIR -t mangle -d 192.168.0.0/16 -j RETURN ip4t SSREDIR -t mangle -d 198.18.0.0/15 -j RETURN ip4t SSREDIR -t mangle -d 198.51.100.0/24 -j RETURN ip4t SSREDIR -t mangle -d 203.0.113.0/24 -j RETURN ip4t SSREDIR -t mangle -d 224.0.0.0/3 -j RETURN ip4t SSREDIR -t mangle -p tcp --syn -j MARK --set-mark 0x2333 ip4t SSREDIR -t mangle -p udp -m conntrack --ctstate NEW -j MARK --set-mark 0x2333 ip4t SSREDIR -t mangle -j CONNMARK --save-mark ip4t PREROUTING -t mangle -i br0 -p tcp -d 34.160.111.145 -j SSREDIR ip4t PREROUTING -t mangle -i br0 -p tcp -m mark --mark 0x2333 -j TPROXY --on-port 9172 ip4t PREROUTING -t mangle -i br0 -p udp -d 34.160.111.145 -j SSREDIR ip4t PREROUTING -t mangle -i br0 -p udp -m mark --mark 0x2333 -j TPROXY --on-port 9172 exit 0
/opt/etc/ndm/netfilter.d/10m-ss6.sh
#!/bin/sh [ "$type" != "ip6tables" ] && exit 0 [ "$table" != "mangle" ] && exit 0 ip6t() { if ! ip6tables -C "$@" &>/dev/null; then ip6tables -A "$@" || exit 0 fi } # V2Ray ip -6 route add local default dev lo table 233 2>/dev/null ip -6 route show table main |grep -Ev ^default |while read ROUTE; do ip -6 route add table 233 $ROUTE 2>/dev/null; done ip -6 rule add fwmark 0x2333 table 233 priority 233 2>/dev/null ip6tables -N SSREDIR -t mangle 2>/dev/null #ip6tables -F SSREDIR -t mangle 2>/dev/null # connection-mark -> packet-mark ip6t SSREDIR -t mangle -m mark --mark 0x2334 -j RETURN ip6t SSREDIR -t mangle -j CONNMARK --restore-mark ip6t SSREDIR -t mangle -m mark --mark 0x2333 -j RETURN ip6t SSREDIR -t mangle -d 0000::/8 -j RETURN ip6t SSREDIR -t mangle -d 0100::/64 -j RETURN ip6t SSREDIR -t mangle -d 0200::/7 -j RETURN ip6t SSREDIR -t mangle -d 2001:0002::/48 -j RETURN ip6t SSREDIR -t mangle -d 2001:0010::/28 -j RETURN ip6t SSREDIR -t mangle -d 2001:0db8::/32 -j RETURN ip6t SSREDIR -t mangle -d 2002::/16 -j RETURN ip6t SSREDIR -t mangle -d 3ffe::/16 -j RETURN ip6t SSREDIR -t mangle -d fc00::/7 -j RETURN ip6t SSREDIR -t mangle -d fe80::/10 -j RETURN ip6t SSREDIR -t mangle -d fec0::/10 -j RETURN ip6t SSREDIR -t mangle -d ff00::/8 -j RETURN ip6t SSREDIR -t mangle -p tcp --syn -j MARK --set-mark 0x2333 ip6t SSREDIR -t mangle -p udp -m conntrack --ctstate NEW -j MARK --set-mark 0x2333 ip6t SSREDIR -t mangle -j CONNMARK --save-mark ip6t PREROUTING -t mangle -i br0 -p tcp -d 2600:1901:0:b2bd:: -j SSREDIR ip6t PREROUTING -t mangle -i br0 -p tcp -m mark --mark 0x2333 -j TPROXY --on-port 9172 ip6t PREROUTING -t mangle -i br0 -p udp -d 2600:1901:0:b2bd:: -j SSREDIR ip6t PREROUTING -t mangle -i br0 -p udp -m mark --mark 0x2333 -j TPROXY --on-port 9172 exit 0
Так же сделаны настройки роутера
system set net.ipv4.ip_forward 1 set net.ipv6.conf.all.forwarding 1 set net.ipv4.tcp_fwmark_accept 1 !
Тесты:
curl -4v https://ipecho.net/plain -- не работает
curl -6v https://ipecho.net/plain -- работает
Что не так для ipv4? Уже все ядро перелопатил, все должно работать.
20 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.