IPv6无状态自动configuration路由通告

在我们的networking中,我们有一台Cisco路由器作为核心路由器,将我们所有的站点连接到主站点。 我们也有一个Linux防火墙连接到互联网。

Site 1 --\ +-------+ LAN +----------------+ Site 2 --| Cisco |---------| Linux Firewall | ------ Internet +-------+ | +----------------+ Site 3 --/ | wksta 

思科和防火墙之间的局域网(例如,不是实际的) 2001:DB8::/64 ,其余的2001:DB8::/48分布在其他站点之间。

目前,Cisco路由器在局域网上广告2001:DB8::/64 ,Linux防火墙没有广告。 因此,思科宣称自己是默认网关, wksta将任何Internet连接的stream量发送到Cisco路由器,然后由Cisco路由器redirect到防火墙。

有一个更好的方法吗? 我希望能够向局域网广告2001:DB8::/48应该指向Cisco路由器,但默认网关应该是Linux防火墙。 这是可能的无状态autoconfig?

Cisco路由器的当前接口configuration:

 interface FastEthernet0/0 ipv6 address 2001:DB8::1/64 ipv6 enable ! 

我不认为你可以用路由器广告来做到这一点。

我的理解是你想要下面的设置:

 2001:DB8::/48 via cisco default via linux 

问题是路由器通告不允许你指定静态路由。 他们只是告诉所有的主机在本地networking上有哪些子网可用(这意味着他们可以直接到达,没有网关)。 您的远程站点不在本地networking中,因此它们不能直接访问,所以路由器广告将无济于事。

你可以通过在你所有的本地机器上添加静态路由来达到这个目的,但是这很快就会变得烦人。

我build议禁用思科设备上的路由器通告,并在Linux机器上configuration它们。 然后,在您的Linux机器上通过思科设备添加2001:DB8 :: / 48的静态路由。

你的内部stream量仍然会首先到达Linux机器,但是你只能通过路由器广告来避免这种情况。

可以使用某种IPv6邻居代理来实现这一点(这将使所有的远程主机与你的工作站在同一个局域网上),但是除非你没有别的select,否则我不会build议。

Linux防火墙应该宣布自己是路由器生命期大于0的默认网关。如果cisco路由器仍然作为默认网关发布,请尝试将防火墙的radvd.conf中的AdvDefaultPreference参数设置为High。 共享局域网段上的客户端应该自动selectLinux防火墙作为默认网关。