您现在的位置:首页 > 系统运维 > Linux运维

Centos8因hostname名称导致无法通过DHCP获取IP地址

一、问题      因我的Centos8.2使用的IPv4、IPV6双栈,将服务器初始化完成后配置固定ipv4地址,而我的ipv6地址是使用DHCPv6进行地址分配,发现服务器只能生成fe80的本地链路地址,无法获取全球单播地址。而查询messages日志发现是因为hostname导致的,具体日志如下: Jan 1 17:40:10 Nginx_Proxy NetworkManager

一、问题     

因我的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迭代应该会解决该问题。

 

版权所有
侵权必究

上一篇
Ubuntu20安装RTL8811/RTL8812无线网卡驱动
下一篇
Linux抓包(tcpdump)归档溯源脚本