需先加载ipv6内核模块并启用全局支持,再根据系统类型选择临时或永久配置:debian/ubuntu用netplan,rhel系修改ifcfg文件,最后验证地址生效。

如果您在Linux系统中需要为网络接口分配IPv6地址,则可能是由于当前接口未启用IPv6或尚未配置有效地址。以下是完成IPv6地址配置的具体步骤:
一、检查IPv6内核模块是否加载
系统必须加载IPv6内核模块才能支持IPv6协议栈。若模块未加载,所有IPv6配置操作将无法生效。
1、执行命令 lsmod | grep ipv6 查看ipv6模块是否已加载。
2、若无输出,说明模块未加载,需手动插入:执行 sudo modprobe ipv6。
3、为确保重启后自动加载,向 /etc/modules 文件末尾追加一行 ipv6。
二、临时配置IPv6地址(重启失效)
该方式适用于测试、调试或临时网络接入,不写入配置文件,系统重启后地址自动丢失。
1、确认目标网络接口名称,执行 ip -br link show | grep -v "lo" 列出活动物理接口。
2、为接口 eth0 添加 IPv6 地址 2001:db8::100/64,执行 sudo ip -6 addr add 2001:db8::100/64 dev eth0。
3、如接口处于 down 状态,执行 sudo ip link set eth0 up 启用接口。
4、验证配置结果:执行 ip -6 addr show dev eth0,确认地址出现在输出中。
三、永久配置IPv6地址(Debian/Ubuntu系统)
通过修改Netplan配置文件实现持久化,适用于使用Netplan作为网络管理器的现代Debian系发行版。
1、定位Netplan配置文件,通常为 /etc/netplan/*.yaml,使用 ls /etc/netplan/ 查看具体文件名。
2、用文本编辑器打开该文件,例如 sudo nano /etc/netplan/01-netcfg.yaml。
3、在对应接口段落中添加IPv6配置块,示例内容如下:
addresses: [2001:db8::100/64]
gateway6: 2001:db8::1
nameservers: {addresses: [2001:4860:4860::8888, 2001:4860:4860::8844]}
4、保存并退出编辑器,执行 sudo netplan apply 应用变更。
四、永久配置IPv6地址(RHEL/CentOS/Rocky Linux系统)
该方法适用于使用传统network-scripts的Red Hat系系统,通过编辑网卡脚本文件实现持久配置。
1、确定网卡配置文件路径,例如 /etc/sysconfig/network-scripts/ifcfg-eth0。
2、使用编辑器打开该文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0。
3、添加或修改以下参数行:
IPV6INIT=yes
IPV6ADDR=2001:db8::100/64
IPV6_DEFAULTGW=2001:db8::1
IPV6_AUTOCONF=no
4、保存文件后,重启网络服务:sudo systemctl restart network。
五、启用全局IPv6支持(如被禁用)
某些系统可能通过sysctl参数显式禁用IPv6,导致接口即使配置了地址也无法通信。
1、检查当前状态:执行 sysctl net.ipv6.conf.all.disable_ipv6,返回值为1表示已禁用。
2、临时启用:执行 sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0。
3、永久启用:编辑 /etc/sysctl.conf,添加或修改行 net.ipv6.conf.all.disable_ipv6 = 0。
4、加载新配置:sudo sysctl -p。










