不幸的是,有很多 IPv6 隧道代理,他们的文档经常会使如何设置您自己的 IPv6 隧道的搜索结果变得混乱。
我有一台具有 IPv6 连接的 Linux 服务器。我想为我的 Windows 7 x64 计算机建立自己的隧道(尽可能通过 SSH SOCKS 或类似方式,非常安全),以便用于所有 IPv6 用途,同时使用我自己的 ISP 提供的 IPv4 地址用于其他所有用途。
如何进行此项设置?
这和我发布的内容非常相似这里,但我非常感激 Windows 级别或 Chrome 级别的解决方案。
答案1
创建 6in4 网关:
注(2015 年 2 月 25 日):我正在审查这些说明,并且我认为您可以跳过
addr add
和route del
步骤,但我还不太确定。需要测试。
创建 IPv6 隧道接口:
# ip tunnel add tun6in4 mode sit local <gwaddr> remote any # ip link set tun6in4 up
<gwaddr>
您的服务器的公共 IPv4 地址在哪里;将新子网的 IPv6 地址分配给隧道:
# ip addr add 2001:db8:e3af:666::1/64 dev tun6in4
将子网路由到您自己的 IP 地址,首先删除自动路由:
# ip route del 2001:db8:e3af:666::/64 dev tun6in4 # ip route add 2001:db8:e3af:666::/64 via ::78.260.211.195 dev tun6in4
启用 IPv6 转发:
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
客户端
在您的 PC 上,按照标准 6in4 隧道说明进行操作,为自己分配一个与上述位于同一子网的地址。
添加隧道:
C:\> netsh netsh> int ipv6 netsh interface ipv6> add v6v4tunnel Myserver <locaddr> <gwaddr>
其中,
<gwaddr>
是网关服务器的 IPv4 地址,<locaddr>
是 PC 网络接口的本地地址(不一定是公共地址)。如果你有電視在网关上设置后,您还可以附加
enable
以通过隧道启用 IPv6 自动配置。对于手动配置,添加地址...
netsh interface ipv6> add addr Myserver 2001:db8:e3af:666::2
和一条路线:
netsh interface ipv6> add route ::/0 Myserver netsh interface ipv6> show route
如果您希望 Windows 向您的 LAN 通告 IPv6 连接(例如電視在 Linux 上,您也可以这么做。
netsh interface ipv6> add route 2001:db8:e3af:666::/64 eth0 pub=yes netsh interface ipv6> set route ::/0 Myserver pub=yes netsh interface ipv6> show route netsh interface ipv6> set interface eth0 forward=enable advertise=enable netsh interface ipv6> show interface eth0
eth0
用您的 LAN 接口的名称或数字索引替换– 可能"Local Area Connection"
...我已重命名它以节省输入。
仅保护 IPv6 隧道是没有意义的,因为 1)网关和目的地之间的流量无论如何都是公开的,2)你永远不知道连接是普通 IPv4 还是“安全”的 IPv6。
但是,您可以尝试在两台计算机之间设置 IPsec 来保护 6in4 流量,或者创建合适的 VPN,例如 OpenVPN 或 L2TP/IPsec。