一、问题
因我的Centos8.2使用的IPv4、IPV6双栈,将服务器初始化完成后配置固定ipv4地址,而我的ipv6地址是使用DHCPv6进行地址分配,发现服务器只能生成fe80的本地链路地址,无法获取全球单播地址。而查询messages日志发现是因为hostname导致的,具体日志如下:
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <info> [1609494010.8519] dhcp6 (ens192): activation: beginning transaction (timeout in 45 seconds)
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <warn> [1609494010.8520] device (ens192): failure to start DHCPv6: failed to set DHCP hostname: 无效的参数
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <info> [1609494010.8520] device (ens192): state change: activated -> failed (reason 'dhcp-start-failed', sys-iface-state: 'managed')
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <info> [1609494010.8524] manager: NetworkManager state is now DISCONNECTED
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <warn> [1609494010.8532] device (ens192): Activation: failed for connection 'ens192'
Jan 1 17:40:10 Nginx_Proxy NetworkManager[991]: <info> [1609494010.8540] device (ens192): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
二、解决办法
将Linux的主机名取消特殊字符,通过命令hostnamectl set-hostname Nginx-Proxy
将主机名由Nginx_Proxy
改为Nginx-Proxy
问题就消失了。
这是因为Centos8中使用的NetworkManager的BUG导致的该问题,我们目前可以通过修改主机名来规避该问题,后续NM迭代应该会解决该问题。