6to4 后置 NAT

6to4 后置 NAT

我在 Ubuntu 上使用 6to4 隧道时遇到问题。
我的 PC 的公共地址是178.42.231.125,我的私人地址是192.168.100.10 隧道配置:

ip tunnel add 6to4 mode sit ttl remote any local 178.42.231.125
ip link set dev 6to4 up
ip -6 addr add 2002:b22a:e77d::1/16 dev 6to4 # I used public address to calculate b22a:e77d
ip -6 route add 2000::/3 via ::192.88.99.1 dev 6to4 metric 1

现在我尝试ping6 ipv6.google.com但目的地无法到达

怎么了?

答案1

要使 6to4 在 NAT 后工作,您需要让 NAT 路由器将所有“协议 41”(6to4)流量转发到您的 Ubuntu 计算机。具体如何设置取决于路由器。

因此,您也无法让多台计算机在路由器后面使用 6to4。但如果需要,该计算机可以在本地网络上宣布其 6to4 前缀并将其路由到那里的其他计算机。

你可能还想注意到,很大一部分运营商社区认为 6to4 有问题,并希望它已弃用并“关闭”。你最好使用“真正的”IPv6 隧道,如果您无法获得本机。设置此类隧道时,您仍需要在路由器中设置 proto 41 转发。

答案2

正如其他答案所说,您必须为您的 Ubuntu 制定协议 41 的 NAT 规则。我只想补充一点,这可能不是最好的主意。有专门设计用于 NAT 设备后面的 IPv6 转换协议,可自动为您提供可路由的 IPv6 地址。

查看泰雷多和软件米雷多适用于您的 Linux。

答案3

好吧,别在意那个样子http://imageshack.us/photo/my-images/19/10335694.jpg/。我用 Ubuntu 创建了 4 个 VM。两个是路由器,两个是主机。主机尝试连接。

Config R1:

ip -4 addr add 1.1.1.1/24 dev eth0

ip tunnel add tun6to4 mode sit ttl 64 remote any local 1.1.1.1 ip link set dev tun6to4 up ip -f inet6 addr add 2002:101:101::1/16 dev tun6to4 ip -f inet6 route add 2002::/16 dev tun6to4 metric 1

echo 1 >/pros/sys/net/ipv4/ip_forward

echo 1 >/pros/sys/net/ipv6/conf/all/forwarding

Config R2:

ip -4 addr add 1.1.1.2/24 dev eth0

ip tunnel add tun6to4 mode sit ttl 64 remote any local 1.1.1.2 ip link set dev tun6to4 up ip -f inet6 addr add 2002:101:102::1/16 dev tun6to4 ip -f inet6 route add 2002::/16 dev tun6to4 metric 1

echo 1 >/pros/sys/net/ipv4/ip_forward

echo 1 >/pros/sys/net/ipv6/conf/all/forwarding

Config A:

ip -6 addr add 2002:101:101::3/48 dev eth0

Config B:

ip -6 addr add 2002:101:102::3/48 dev eth0

我尝试在虚拟机上使用主机 A ping 主机 B,但无法 ping 通。可能是什么问题?

相关内容