heiher/hev-socks5-tunnel

trojan-go作为socks5-server,hev-socks5-tunnel建立虚拟网卡然后代理trojan-go端口,不能正常ping 通外网,go-tun2socks没问题

Closed this issue · 7 comments

lkxlzx commented

如上
一个系统下,我分别用hev-socks5-tunnel和[go-tun2socks建立虚拟网卡都是代理一个端口,分别测试,go-tun2socks的网卡能ping通外网,hev-socks5-tunnel不行
配置分别如下
hev-socks5-tunnel
tunnel:
name: trojan-go
mtu: 9000
ipv4:
address: 192.168.254.2
gateway: 192.168.251.1
prefix: 30

socks5:
port: 1080 # socks5服务器端口
address: 127.0.0.1 # socks5服务器地址

go-tun2socks
/usr/local/bin/tun2socks-linux-arm64 -tunGw 192.168.255.253/32 -proxyServer 127.0.0.1:1080 -tunDns 8.8.8.8,8.8.4.4 -tunName trojan-go
go-tun2socks执行了如下命令
ip tuntap add dev trojan-go mode tun
ip addr add 192.168.255.253/32 dev trojan-go
ip link set dev trojan-go up

因为hev-socks5-tunnel会自动建立网卡所以没有上面命令,但是我手动执行了一条
ip addr add 192.168.254.2/32 dev trojan-go
还是没效果
不知道什么原因

heiher commented
  1. 哪个版本 hev-socks5-tunnel?
  2. 具体测试方法是什么?(tun2socks本身就不支持icmp的ping
lkxlzx commented

最新的版本,
我是在内网用Linux,然后docker运行了一个trojan-go 客户端,然后用tun2socks建立了一个虚拟网卡走trojan-go代理出去
我用go-tun2socks正常
但是用hev-socks5-tunnel就不能正常ping外网
go-tun2socks能ping 通外网

lkxlzx commented

我的环境有点复杂,因为mikrotik路由器没有出墙协议,我使用mikrotik的BGP协议路由到内网的192.168.1.3主机,主机接管流量通过本地我虚拟的网卡就是trojan-go出去。这套方案开始我是使用go-tun2socks运行的,后来看见你的库,我就打算换成你的方案,但是遇到上面的问题

heiher commented

所以不能正常ping外网,具体是用什么方法测试访问什么地址?

lkxlzx commented

测试方法就是在路由下面的主机ping 8.8.8.8或者其他外网IP
用go-tun2socks作为核心没问题,但是你的就是不通,可是我想换你的方案作为核心可是遇到问题了

lkxlzx commented

方便加电报交流吗,我给你截图,和详细交流,也可以给你提供运行环境检查

heiher commented

邮件给我你的tg号,晚点看看