CentOS 系統(tǒng) IPv6 報錯問題分析與解決
問題場景
在 CentOS 系統(tǒng)中,IPv6 報錯通常表現(xiàn)為網(wǎng)絡(luò)服務(wù)無法通過 IPv6 協(xié)議通信,例如出現(xiàn) Cannot assign requested address
、Network is unreachable
或 Address family not supported
等錯誤提示。
常見原因與解決方案
1. 網(wǎng)絡(luò)接口未啟用 IPv6
現(xiàn)象:ip -6 addr
命令顯示無 IPv6 地址。
解決方法:
- 編輯網(wǎng)絡(luò)配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
- 添加配置項:
IPV6INIT=yes
和IPV6_AUTOCONF=yes
- 重啟網(wǎng)絡(luò)服務(wù):
systemctl restart network
2. IPv6 路由配置錯誤
現(xiàn)象:執(zhí)行 ip -6 route show
顯示無默認(rèn)路由。
解決方法:
# 添加默認(rèn)路由
ip -6 route add default via fe80::1 dev eth0
# 永久生效需修改網(wǎng)絡(luò)配置文件
echo "IPV6_DEFAULTGW=fe80::1%eth0" >> /etc/sysconfig/network
3. 防火墻阻止 IPv6 流量
現(xiàn)象:IPv4 通信正常但 IPv6 請求被攔截。
解決方法:
# 開放 ICMPv6 協(xié)議
firewall-cmd --add-protocol=ipv6-icmp --permanent
# 允許特定端口 IPv6 訪問
firewall-cmd --add-port=80/tcp --permanent --zone=public --add-rich-rule='rule family="ipv6" port port="80" protocol="tcp" accept'
firewall-cmd --reload
4. 內(nèi)核模塊未加載
現(xiàn)象:lsmod | grep ipv6
無輸出結(jié)果。
解決方法:
# 加載 IPv6 內(nèi)核模塊
modprobe ipv6
# 設(shè)置開機自動加載
echo "ipv6" >> /etc/modules-load.d/ipv6.conf
5. DHCPv6 配置異常
現(xiàn)象:無法通過 DHCPv6 獲取 IP 地址。
解決方法:
- 確認(rèn)
/etc/sysconfig/network
中已啟用 IPv6:NETWORKING_IPV6=yes
- 檢查 DHCP 客戶端配置:
/etc/dhcp/dhclient6.conf
- 手動獲取地址:
dhclient -6 eth0
驗證步驟
- 執(zhí)行
ping6 ipv6.google.com
測試連通性 - 使用
ss -6tuln
查看 IPv6 端口監(jiān)聽狀態(tài) - 檢查系統(tǒng)日志:
journalctl -u network --since "10 minutes ago"