ipv6 转发会终止 ipv6 连接吗?

ipv6 转发会终止 ipv6 连接吗?

你好,我正在尝试在公共 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

net.ipv6.conf.all.forwarding = 1我可以从客户虚拟机 ping 主机时。但是主机不再具有公共 ipv6 连接。

答案1

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

这记录在Linux IPv6 指南

以下是相关部分:

转发

类型:BOOLEAN

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

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

注意:建议在所有接口上采用相同的设置;混合路由器/主机场景并不常见。

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

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

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

  • IsRouter 标志在邻居广告中设置。
  • 路由器请求未发送。
  • 路由器通告被忽略。
  • 重定向将被忽略。

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

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

accept_ra

类型:BOOLEAN

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

可能的值包括:

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

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

答案2

启用转发将清除默认路由。您可以使用以下命令将其重新添加:

ip -6 route add default via <ipv6 gateway address> dev <interface>

一旦添加,IPv6 连接应该就可以再次正常使用了。

就我而言,我必须通过在我的电缆调制解调器中四处窥探来找到网关地址http://192.168.100.1

相关内容