我有一台伺服器,我用它來抓我的頭髮。完全重新安裝後,ipv6 工作正常,直到我重新啟動系統。之後,它只取得後綴地址:
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 0c:c4:7a:8f:66:10 brd ff:ff:ff:ff:ff:ff
inet removed/23 brd 45.77.111.255 scope global dynamic enp1s0
valid_lft 86365sec preferred_lft 86365sec
inet6 fe80::ec4:7aff:fe8f:6610/64 scope link
valid_lft forever preferred_lft forever
:ec4:7aff:fe8f:6610
是已指派給該伺服器的 ipv6 位址的正確後綴。但無論我做什麼,重新啟動後,我都無法讓它再次從路由器取得完整位址。
我的 /etc/sysconfg/network-scripts/enp1s0 檔案非常簡單:
DEVICE="enp1s0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
NM_CONTROLLED="no"
IPV6_AUTOCONF="yes"
IPV6INIT="yes"
NOZEROCONF="yes"
ZONE=public
這是未經修改的“開箱即用”工作狀態,因此我希望它是正確的。
我確實在我的設定腳本中運行了一些命令來準備防火牆,這是我懷疑的唯一可能的原因:
firewall-cmd --zone=public --change-interface=enp1s0 --permanent;
firewall-cmd --zone=public --remove-service=ssh --permanent;
firewall-cmd --zone=public --add-port=<other port for ssh>/tcp --permanent;
firewall-cmd --reload;
但除非更改介面上的區域會從 ifcfg-enp1s0 中刪除重要訊息,否則我不認為這是怎麼回事。
我真的不想使用靜態尋址,因為動態尋址開箱即用,效果很好,我想弄清楚我是如何破壞它的。
更新: 的輸出firewall-cmd --list-all
是
public (active)
target: default
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: dhcpv6-client http https
ports: <redacted>/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: