zfl9 / ipt2socks

将 iptables/nftables 传入的透明代理流量转为 socks5 流量的实用工具

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TCP可以正常連,但UDP無回應。

kousyougi opened this issue · comments

區網的電腦,TCP可以正常連出去。但UDP發出去都沒有回應。無法nslookup。

平台是OpenWrt X86-64
socks5 用的是NaiveProxy
ipt2socks設定跟iptable設定如下。
ipt2socks跟iptable設定看起來都很單純。還是問題出在OpenWrt的TPROXY?

config ipt2socks
option enable '1'
option server_addr '127.0.0.1'
option server_port '1080'
option auth_username ''
option auth_password ''
option listen_addr4 '0.0.0.0'
option listen_addr6 '::1'
option listen_port '1234'
option thread_nums '1'
option nofile_limit '65535'
option udp_timeout '300'
option cache_size '256'
option buffer_size '8192'
option graceful '0'
option redirect '0'
option tcp_only '0'
option udp_only '0'
option ipv4_only '0'
option ipv6_only '0'

设置策略路由
ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100

代理局域网设备
iptables -t mangle -N NAIVE
iptables -t mangle -A NAIVE -d 127.0.0.1/32 -j RETURN
iptables -t mangle -A NAIVE -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A NAIVE -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A NAIVE -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A NAIVE -p udp -j TPROXY --on-port 1234 --tproxy-mark 1
iptables -t mangle -A NAIVE -p tcp -j TPROXY --on-port 1234 --tproxy-mark 1
iptables -t mangle -A PREROUTING -j NAIVE

commented

看你提供的资料,tcp和udp的tproxy规则是一样的,如果tcp正常被导入到后端的socks5代理,而udp不行,我认为是后端的socks5代理不支持udp请求导致的,具体还请检查后端socks5代理的详细日志。

commented

另外,最好带上测试tcp和测试udp时的ipt2socks日志以及后端socks5代理的运行日志。

我測試用trojan架的socks5,可以正常傳udp。可能是naiveproxy的socks5穿透不過去。我聯絡一下naiveproxy的作者。
謝謝