我有以下设置:
client(s) <---> (eth0) router (eth1) <---> wan
Run Code Online (Sandbox Code Playgroud)
我有一个静态 IPv4 地址和一个 /48 IPv6 地址块。我需要将所有客户端连接到 (wan)。每个客户端都将拥有自己的公共 IPv6。同时,我需要将这些相同的客户端 NAT 到 (wan)。
所有与 IPv4 相关的内容和 NAT 都运行良好。与 (eth0)<->(clients)> 的 IPv6 通信工作正常,来自 (eth1)<->(wan) 的 IPv6 通信工作正常。
为了给我所有的客户提供 IPv6,我想了太多的选择:
将路由器作为网关,每个接口上都有不同的IP。这听起来像是我需要告诉我的 ISP 通过该单个 IP 路由整个块,所以这不是一个真正的选择。
向/从 eth0<->eth1 透明地传递 IPv6 数据包,因此所有客户端都可以与上游网关通信(如果不是需要保持 IPv4 兼容,我实际上会在这里有一个交换机)。
所以,既然我选择了第二个选择,我有疑问:如何透明地将所有 IPv6 流量从 eth0 传递到 eth1?我需要的是一个 3 级桥,但是 linux 的 bridgeutils 创建了一个 2 级桥(它也可以桥接 ipv4,我不能拥有它)。
这是一个 DD-WRT 设备,但它几乎是一个嵌入式 linux,因此欢迎大多数适用于 linux 的建议。
谢谢。
我正在尝试将 linux 服务器配置为网关/路由器,但我无法让它工作,而且我设法找到的所有信息都与 NAT 相关。
我有一个用于网关和它后面的设备的公共 IP 块,所以我希望网关简单地将数据包路由到互联网 - 再次:没有 NAT!
我已经设法让网关成功访问互联网(这只是配置 IP 和 GW 的问题),并且它后面的计算机可以与其通信。
[编辑:更多信息]
这实际上是一个 IPv6 块 ( 2800:40:403::0/48)(但我发现大多数实用程序和指令都可以轻松地从 IPv4 适应到 IPv6)。
服务器有太多端口:
2800:40:403::1/482800:40:403::3/48它后面的一台计算机通过交换机连接到它;
2800:40:403::7/48服务器上的 wan 接口可以 ping6 www.google.com 没有问题。服务器和客户端上的 LAN 接口可以相互 ping 没有问题(以及 SSH 等)。
我尝试将服务器设置为客户端的默认网关,但没有运气:
client # route -A inet6 add default gw 2800:40:403::3 dev eth1
server # cat /proc/sys/net/ipv6/conf/all/forwarding
1
Run Code Online (Sandbox Code Playgroud)
我不想要任何过滤/防火墙/等,只是简单的路由。
谢谢。