我有一台 Raspberry Pi,通过 Wi-Fi 连接到我的路由器(由我的 ISP 管理),我想从互联网访问它。这台路由器包含一个防火墙,我最好让它保持活动状态,只在我的 Raspberry Pi 上留出一些端口。遗憾的是,它不支持通过 UPnP 访问,所以我需要在我的 Raspberry Pi 上设置一个固定地址来手动配置防火墙。
我已经将 Raspberry Pi 正常连接到 Wi-Fi(通过 GUI),但它只有一个全局可路由的 IPv6 地址,有效期为一周,首选有效期为一天。我假设这是一个隐私扩展地址,明天我会得到一个新的。但是,互联网上的所有来源似乎都说我还应该有一个“正常”的自动配置地址(中间带有 ff:fe 的 MAC)。我该如何启用它?
我使用的是 Raspbian 8.0 (jessie)。/proc/sys/net/ipv6/conf/wlan0/autoconf 为 0,这似乎与问题有关。但是,尝试在 /etc/sysctl.conf 中覆盖此值不起作用,重启并重新连接到 Wi-Fi 后它仍为 0。
答案1
您还需要 net.ipv6.conf.wlan0.accept_ra=1。
我不知道为什么在最近的 Raspbian 图像中他们将该参数更改为 0,而多年来它一直是 1。
答案2
要以您需要的 EUI-64 方式配置地址,请启用指令slaac hwaddr
并禁用slaac private
指令/etc/dhcpcd.conf
:
#slaac private
slaac hwaddr
我做了一些测试(Raspbian Buster)甚至在我坚持的地方:
net.ipv6.conf.default.use_tempaddr=1
...在 中/etc/sysctl.conf
,重启后配置的地址是 EUI-64 格式,使用FF:FE
中间带有东西的 MAC 地址。因此看起来/etc/dhcpcd.conf
设置得到尊重并且设置sysctl
被覆盖。
答案3
几天后,IPv6 连接再次中断。看来我们需要编辑 /etc/dhcpcd.conf,将“slaac private”替换为“slaac hardware”。在此处找到此信息:https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=171508
目前,它还能正常工作。