如何从 badvpn 设置 tun2socks?

如何从 badvpn 设置 tun2socks?

我正在尝试使用 tun2socks/badvpn 强制所有流量通过 tun 设备,但遇到了一些问题。从wireshark来看,流量确实正常流出,但没有回来。我的意思是我可以看到来自目标服务器的ACK,但似乎该ACK没有得到处理。

我还在 badvpn 命令输出中看到回复不成功,socks 错误。我尝试使用更详细的日志级别再次运行它,看看它是否输出任何有用的内容。

  1. 完全空的 iptables 规则集,INPUT、OUTPUT 和 FORWARD 都是 ACCEPT
  2. 为所有接口启用 ip 转发,并明确为 tun 设备以及我的工作站接口启用 ip 转发
  3. 使用 ip 10.0.0.1 创建隧道设备
  4. 在 10.0.0.2 上设置 tun2socks,socks 服务器为 127.0.0.1
  5. 设置路线:a.路由添加 127.0.0.1 gw <192.168.1.1> 度量 50路由添加默认网关 10.0.0.2 指标 75

关于我在这里可能缺少什么有什么想法吗?

谢谢,

沃尔特

答案1

以下是正确的步骤:

  1. 首先检查您的 DNS 是远程 DNS 还是本地 DNS,cat /etc/resolv.conf如果是本地 DNS,则192.168.1.1无所谓,但如果 DNS 是远程 DNS,则208.67.222.222您需要为其添加一条路由(见下文)

  2. 连接到您的 ssh 服务器

    ssh -N -C -D 8080 [email protected]

  3. 添加tun接口

    ip tuntap add dev tun0 mode tun user <someuser>

  4. 设置tun接口

    sudo ifconfig tun0 10.0.0.1 netmask 255.255.255.0

  5. 运行 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

  6. 如果您的 DNS 是远程 DNS添加一条路由,其度量值低于 tun 的度量值(低于步骤 8 中的度量值)

    route add 208.67.222.222 gw 192.168.1.1 metric 4

  7. 为您的 ssh 服务器添加路由不是 127.0.0.1

    route add 222.x.x.222 gw 192.168.1.1 metric 4

  8. 添加默认路由以将所有内容转发到 tun

    route add default gw 10.0.0.2 metric 6

你的错误是127.0.0.1我猜你的 ssh 服务器是远程的,没有运行在127.0.0.1...

相关内容