linux – 在路由IPv6时NATing IPv4
我有以下设置:
client(s) <---> (eth0) router (eth1) <---> wan 我有一个静态IPv4地址和一个/ 48 IPv6地址块. IPv4相关的一切和NAT都运行良好.到/来自(eth0)< - >(客户端)的IPv6通信>工作正常,来自(eth1)< - >(wan)的IPv6通信工作正常. 为了向所有客户提供IPv6,我想到了太多的选择: >将路由器作为网关,每个接口上有不同的IP.这听起来像我需要告诉我的ISP通过单个IP路由整个块,所以它不是一个真正的选择. 因此,由于我选择了第二种选择,我有疑问:如何透明地将所有IPv6流量从eth0传递到eth1?我需要的是3级桥接器,但linux的bridgeutils创建了一个2级桥接器(它也将桥接ipv4,我不能拥有它). 这是一个DD-WRT设备,但它几乎是一个嵌入式Linux,所以大多数可以在linux上工作的建议都是受欢迎的. 谢谢. 解决方法
你可以用代理ARP实现,如果我试图伪桥ipv4我会这样做:
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp echo 1 > /proc/sys/net/ipv4/ip_forward 您需要使用完全相同的信息(ip_address,网络掩码和网关)设置两个NIC,不确定DD-WRT是否允许这样做,确定它不会在Web上使用,但它可能允许您从控制台,然后重新检查您的网关,确保您只有网关指向进入ISP的接口,如下所示: ip route del default dev eth0 ip route del default dev eth1 ip route del $LAN_NETWORK dev eth0 ip route del $LAN_NETWORK dev eth1 ip route add $DEFAULT_GATEWAY dev eth0 ip route add $LAN_NETWORK dev eth1 ip route add default via $DEFAULT_GATEWAY dev eth0 这是针对使用Proxy-ARP的IPv4伪桥,我猜你可以使用IPv6做同样的事情. 另一方面,正如我在另一个问题上所说,即使它在第2层中桥接,你仍然可以使用NAT IPv4. 你需要在BR0接口上设置你的IPv4公共地址和IPv4 lan地址,然后像我之前告诉你的那样对它们进行NAT iptables -t nat -A POSTROUTING -j SNAT -s $LAN_NETWORK --to-source $WAN_IP_ADDRESS 这样可以解决您的问题,而无需代理arp的麻烦.问题是这些东西大多数都不能用于DD-WRT的界面. 作为更好和更清洁的替代方案,您可以在桥接器上添加子接口到LAN端,类似于 ifconfig br0:1 192.168.1.1 netmask 255.255.255.0 并使用我上面说过的相同NAT线 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |