IPv6 到 IPv4 代理隧道

IPv6 到 IPv4 代理隧道

我是 IPv6 新手。

我有一个仅支持 IPv6 的 VPS。由于该 VPS 仅有 IPv6 地址,因此我无法访问 github 等基本网站(没有 IPv6 地址)以及其他 repo 网站。

我尝试使用 sshuttle 通过另一个适用于 IPv6 和 IPv4 的系统路由所有流量。但它也不起作用。sshuttle 日志显示

root@bh01:~/sshuttle# sshuttle -v 0/0 -NHr user@host
Starting sshuttle proxy.
firewall manager: Starting firewall with Python version 2.7.3
firewall manager: ready method name nat.
IPv6 enabled: False
UDP enabled: False
DNS enabled: False
User enabled: False
TCP redirector listening on ('127.0.0.1', 12300).
Starting client with Python version 2.7.3
c : connecting to server...
Starting server with Python version 3.5.3
 s: latency control setting = True
 s: available routes:
c : Connected.
 s:   2/178.251.25.0/24
c : seed_hosts: []
firewall manager: setting up.

该批次说

已启用 IPv6:否

我没有看到任何强制为 sshuttle 启用 IPv6 的选项。有什么方法可以启用它吗?

或者有任何其他方法可以设置从 IPv6 到 IPv4 的隧道,以便我的 vps 可以像普通主机一样使用?

答案1

您可以更新您的 ssh_confighttps://linux.die.net/man/5/ssh_config仅使用 ipv4。由于 sshuttle 使用您本地安装的 ssh,因此它也将被强制遵循您的配置。

#    ...
#    CheckHostIP yes
#    AddressFamily any
#    ConnectTimeout 0
#    ...

上面注释掉的是默认配置。您可以取消注释并将其更改为 inet(对于 ipv4)或 inet6(对于 ipv6)。

#    ...
#    CheckHostIP yes
     AddressFamily inet
#    ConnectTimeout 0
#    ...

此后,任何使用 ssh 的程序都将被强制遵循此配置,除非您在命令行中使用 -4 或 -6 ssh 选项执行时指定了不同的配置。

相关内容