ipv6 转发会杀死 ipv6 连接?

kev*_*ler 1 server ipv6 networking 14.04 docker

嗨,我正在尝试在公共 ipv6 地址上启动虚拟机。

当我net.ipv6.conf.all.forwarding = 1在主机上启用时,它似乎会终止 ipv6 连接

root@li166-218:~# ip -6 route show dev eth0
2600:3c01::/64  proto kernel  metric 256  expires 2591994sec
fe80::/64  proto kernel  metric 256
default via fe80::1  proto ra  metric 1024  expires 84sec
root@li166-218:~# traceroute -6 google.com
traceroute to google.com (2607:f8b0:4010:801::1000), 30 hops max, 80 byte packets
 1  2600:3c01::8678:acff:fe0d:79c1 (2600:3c01::8678:acff:fe0d:79c1)  0.860 ms  0.915 ms  1.005 ms
 2  10gigabitethernet8-2.core3.fmt2.he.net (2001:470:1:3b8::1)  10.615 ms  10.608 ms  7.144 ms
 3  10ge5-4.core1.pao1.he.net (2001:470:0:263::2)  6.539 ms  6.601 ms  6.653 ms
 4  google-as15169.10gigabitethernet8-2.core1.pao1.he.net (2001:470:0:244::2)  0.937 ms  0.905 ms  0.882 ms
 5  2001:4860::1:0:21 (2001:4860::1:0:21)  9.843 ms  9.812 ms  9.740 ms
 6  2001:4860:0:1::3d5 (2001:4860:0:1::3d5)  1.974 ms  1.712 ms  1.979 ms
 7  2607:f8b0:8000:24::2 (2607:f8b0:8000:24::2)  1.575 ms 2607:f8b0:8000:24::7 (2607:f8b0:8000:24::7)  1.637 ms 2607:f8b0:8000:24::1 (2607:f8b0:8000:24::1)  1.684 ms
root@li166-218:~# sysctl net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1
root@li166-218:~# traceroute -6 google.com
traceroute to google.com (2607:f8b0:4010:801::1000), 30 hops max, 80 byte packets
connect: Network is unreachable
Run Code Online (Sandbox Code Playgroud)

net.ipv6.conf.all.forwarding = 1我可以从来宾虚拟机 ping 主机时。然而主机不再具有公共 ipv6 连接。

San*_*ann 5

启用 IPv6 转发将禁用 IPv6 自动配置。通常您希望路由器(转发的设备)具有静态地址。

这记录在Linux IPv6 HOWTO 中

这是相关部分:

转发

类型:布尔型

默认值:如果全局转发被禁用(默认值),则为 FALSE,否则为 TRUE

配置特定于接口的主机/路由器行为。

注意:建议所有接口都设置相同;混合路由器/主机方案是相当罕见的。

值 FALSE:默认情况下,假定主机行为。这意味着:

  • 邻居广告中未设置 IsRouter 标志。
  • 必要时发送路由器请求。
  • 如果accept_ra 为TRUE(默认),则接受Router Advertisements(并进行自动配置)。
  • 如果 accept_redirects 为 TRUE(默认),则接受重定向。

值 TRUE:如果启用本地转发,则假定路由器行为。这意味着与上述完全相反:

  • IsRouter 标志在 Neighbor Advertisements 中设置。
  • 不发送路由器请求。
  • 路由器广告被忽略。
  • 重定向被忽略。

通过将 forwarding 设置为 TRUE,您的机器将像路由器一样运行。您要么需要强制它接受路由器广告 (RA),要么需要手动配置您的地址和路由。

即使在使用转发时也要启用 autoconf,请使用以下命令:

接受_ra

类型:布尔型

接受路由器广告;使用它们进行自动配置。

可能的值为:

  • 0:不接受路由器广告。
  • 1:如果转发被禁用,则接受路由器广告。
  • 2:否决转发行为。即使启用了转发,也接受路由器广告。

是的,它是一个值为 0、1 和 2 的布尔值 :)