首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何桥接IPv4而同时路由IPv6呢?

我如何桥接IPv4而同时路由IPv6呢?
EN

Unix & Linux用户
提问于 2018-03-22 23:31:23
回答 1查看 3.8K关注 0票数 2

我的ISP给我一个IPv4地址和一个IPv6前缀,这个前缀被细分为几个网络。

代码语言:javascript
复制
              +--------------+
              |              | eth1
              |              |---------- <IPv6 network>
              |              |
         eth0 | Linux Router | eth2
ISP ----------|              |---------- <IPv6 network>
              |              |
              |              | eth3
              |              |---------- <IPv6 network>
              +--------------+

碰巧的是,连接到IPv6网络的eth1网络中的一个节点将受益于拥有IPv4地址。

我似乎希望路由器桥接IPv4流量,并路由IPv6流量。不是吗?

我听说过proxy-ARP,但据我所知,路由器需要另一个IPv4地址,否则它不会尝试与ISP的v4流量交互,对吗?同样,我只有一个v4地址。

我认为,普通桥接也不是一种选择,因为这是第二层,它无法区分IPv4流量和IPv6流量。如果我桥接IPv4,也可以桥接IPv6,这会破坏当前的IPv6设置。

我是否被迫将流量NAT到专用网络,并从该网络为节点分配另一个地址?还有更直接的选择吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-23 22:17:14

(所有这些命令都应该在Linux路由器上执行。)

步骤1:正常创建桥接器,就像要在两个接口之间路由所有通信量一样。

代码语言:javascript
复制
ip link add name br0 type bridge
ip link set br0 up
ip link set eth0 master br0
ip link set eth1 master br0

第二步:通过退潮规则,告诉内核IPv4流量应该被桥接,IPv6流量应该被路由。

代码语言:javascript
复制
ebtables -t broute -A BROUTING -p ipv4 -j ACCEPT
ebtables -t broute -A BROUTING -p ipv6 -j DROP

(在BROUTING链中,“接受”表示桥,"DROP“表示忽略桥)。

Linux路由器的任何接口都不需要IPv4地址。

这个解决方案不应该在Virtualbox VM上进行测试,因为在某个地方有一些桥接虫会阻止br0工作。

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/432967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档