linux中实现ipv6仅链路本地模式的关键是设ipv6.method ignore,禁用slaac/dhcpv6、路由通告与转发,使接口仅保留自动产生的fe80::/64地址。

确认当前 IPv6 链路本地地址已存在
所有启用 IPv6 的接口默认都会自动生成一个 fe80::/64 地址(即使未配全局地址):
- 运行 ip -6 addr show dev eth0 | grep 'inet6 fe80',应看到类似
inet6 fe80::20c:29ff:fe84:2362/64 scope link noprefixroute - 若无输出,说明该接口 IPv6 已被完全禁用(需先启用)
关闭 IPv6 全局地址自动配置
链路本地地址不受影响,但需阻止 SLAAC(无状态地址自动配置)和 DHCPv6 分配全局地址:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- nmcli connection modify eth0 ipv6.ignore-auto-routes yes
- nmcli connection modify eth0 ipv6.ignore-auto-dns yes
- nmcli connection modify eth0 ipv6.never-default yes
-
nmcli connection modify eth0 ipv6.method ignore —— 关键:设为
ignore表示不配置任何 IPv6 地址(除系统自动生成的 fe80::)
禁用 IPv6 路由与转发(可选但推荐)
防止接口参与 IPv6 路由或被用作网关,进一步限定其仅用于链路内通信:
- 临时禁用:sudo sysctl -w net.ipv6.conf.eth0.forwarding=0
- 永久禁用:在 /etc/sysctl.conf 中添加
net.ipv6.conf.eth0.forwarding = 0 - 同时建议设
net.ipv6.conf.eth0.accept_ra = 0(拒绝路由器通告),避免 SLAAC 激活
重新加载连接并验证
应用变更后重启连接,检查结果是否符合“仅链路本地”预期:
- nmcli connection down eth0 && nmcli connection up eth0
-
ip -6 addr show dev eth0 —— 应仅显示一条
fe80::...,无其他 inet6 行 -
ip -6 route show dev eth0 —— 应仅含
fe80::/64 proto kernel metric 256 linkdown和ff00::/8组播路由,无默认路由
ipv6.method ignore 是实现“仅链路本地”的最直接方式。










