Centos7

如何在 CentOS 7.7 上正確設置靜態 IPv6

  • January 6, 2020

嘗試在專用 CentOS 7.7 伺服器上設置靜態 IPv6 地址時遇到一個奇怪的問題。有時我可以 ping 網關,但每次我重新啟動網路(使用systemctl restart network)或重新啟動伺服器時,連接都會失去。我不確定問題出在伺服器上還是與我的伺服器提供商有關。

我無法解決 NetworkManager 的問題,所以我禁用了它,只使用**/etc/sysconfig/network-scripts/ifcfg-em1文件,並且一直在使用ip**命令來處理路由。

與 IPv6 設置相關的ifcfg-em1文件內容為:

IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_FAILURE_FATAL=no
IPV6ADDR=2604:4300:a:289::2/64
IPV6_DEFAULTGW=2604:4300:a:289::1
IPV6_DEFROUTE=yes

我也嘗試過這些設置(沒有任何運氣):

IPV6_PRIVACY=no
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

ip -6 a的結果是:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
   inet6 2604:4300:a:289::2/64 scope global 
      valid_lft forever preferred_lft forever
   inet6 fe80::2a0:d1ff:feec:aa4c/64 scope link 
      valid_lft forever preferred_lft forever

ping 網關時的輸出:

PING 2604:4300:a:289::1(2604:4300:a:289::1) from 2604:4300:a:289::2 em1: 56 data bytes
From 2604:4300:a:289::2 icmp_seq=1 Destination unreachable: Address unreachable
From 2604:4300:a:289::2 icmp_seq=2 Destination unreachable: Address unreachable
From 2604:4300:a:289::2 icmp_seq=3 Destination unreachable: Address unreachable

路由表為:

::/96                          ::                         !n   1024 0      0 lo
0.0.0.0/96                     ::                         !n   1024 0      0 lo
2002:a00::/24                  ::                         !n   1024 0      0 lo
2002:7f00::/24                 ::                         !n   1024 0      0 lo
2002:a9fe::/32                 ::                         !n   1024 0      0 lo
2002:ac10::/28                 ::                         !n   1024 0      0 lo
2002:c0a8::/32                 ::                         !n   1024 0      0 lo
2002:e000::/19                 ::                         !n   1024 0      0 lo
2604:4300:a:289::/64           ::                         U    256 5     11 em1
3ffe:ffff::/32                 ::                         !n   1024 0      0 lo
fe80::/64                      ::                         U    256 0      0 em1
::/0                           2604:4300:a:289::1         UG   1   4      6 em1
::/0                           ::                         !n   -1  1    223 lo
::1/128                        ::                         Un   0   3      9 lo
2604:4300:a:289::2/128         ::                         Un   0   4     39 lo
fe80::2a0:d1ff:feec:aa4c/128   ::                         Un   0   1      0 lo
ff00::/8                       ::                         U    256 8     82 em1
::/0                           ::                         !n   -1  1    223 lo

來自ip -6 route的輸出:

unreachable ::/96 dev lo metric 1024 error -113 pref medium
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 error -113 pref medium
unreachable 2002:a00::/24 dev lo metric 1024 error -113 pref medium
unreachable 2002:7f00::/24 dev lo metric 1024 error -113 pref medium
unreachable 2002:a9fe::/32 dev lo metric 1024 error -113 pref medium
unreachable 2002:ac10::/28 dev lo metric 1024 error -113 pref medium
unreachable 2002:c0a8::/32 dev lo metric 1024 error -113 pref medium
unreachable 2002:e000::/19 dev lo metric 1024 error -113 pref medium
2604:4300:a:289::/64 dev em1 proto kernel metric 256 pref medium
unreachable 3ffe:ffff::/32 dev lo metric 1024 error -113 pref medium
fe80::/64 dev em1 proto kernel metric 256 pref medium
default via 2604:4300:a:289::1 dev em1 metric 1 pref medium

我不確定所有這些路線來自哪裡,以及它們是否都應該在那裡。我試圖刪除除預設路由之外的所有內容,但仍然沒有運氣。

我究竟做錯了什麼?

在向我的伺服器提供商施壓後,他們承認自己出了點問題並最終解決了問題。它現在似乎工作正常。

嘗試添加ONBOOT=yes到配置文件。

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_ip_networking_with_ifcg_files

引用自:https://serverfault.com/questions/997715