我正在尝试使用 tun2socks/badvpn 强制所有流量通过 tun 设备,但遇到了一些问题。从wireshark来看,流量确实正常流出,但没有回来。我的意思是我可以看到来自目标服务器的ACK,但似乎该ACK没有得到处理。
我还在 badvpn 命令输出中看到回复不成功,socks 错误。我尝试使用更详细的日志级别再次运行它,看看它是否输出任何有用的内容。
- 完全空的 iptables 规则集,INPUT、OUTPUT 和 FORWARD 都是 ACCEPT
- 为所有接口启用 ip 转发,并明确为 tun 设备以及我的工作站接口启用 ip 转发
- 使用 ip 10.0.0.1 创建隧道设备
- 在 10.0.0.2 上设置 tun2socks,socks 服务器为 127.0.0.1
- 设置路线:a.路由添加 127.0.0.1 gw <192.168.1.1> 度量 50路由添加默认网关 10.0.0.2 指标 75
关于我在这里可能缺少什么有什么想法吗?
谢谢,
沃尔特
答案1
以下是正确的步骤:
首先检查您的 DNS 是远程 DNS 还是本地 DNS,
cat /etc/resolv.conf
如果是本地 DNS,则192.168.1.1
无所谓,但如果 DNS 是远程 DNS,则208.67.222.222
您需要为其添加一条路由(见下文)连接到您的 ssh 服务器
ssh -N -C -D 8080 [email protected]
添加tun接口
ip tuntap add dev tun0 mode tun user <someuser>
设置tun接口
sudo ifconfig tun0 10.0.0.1 netmask 255.255.255.0
运行 tun2socks
badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080
如果您的 DNS 是远程 DNS添加一条路由,其度量值低于 tun 的度量值(低于步骤 8 中的度量值)
route add 208.67.222.222 gw 192.168.1.1 metric 4
为您的 ssh 服务器添加路由不是 127.0.0.1
route add 222.x.x.222 gw 192.168.1.1 metric 4
添加默认路由以将所有内容转发到 tun
route add default gw 10.0.0.2 metric 6
你的错误是127.0.0.1
我猜你的 ssh 服务器是远程的,没有运行在127.0.0.1
...