vm dhcp hostname

本文探讨了使用新镜像启动VM后hostname未更新的问题,通过对比/etc/hostname文件内容和DHCP传输过程,最终解决了hostname配置问题,并详细介绍了DHCP的工作流程。

做了一个新的镜像,然后用新镜像启动vm,启动后,发现vm的hostname没有变化。

hostname就变了,这就怪了,怎么回事,于是tcpdump抓包,看是否没有传过来hostname的项。




从上图中可以看出 dhcp server 基于udp协议,传输了很多option过来,很强大的感觉,  Domain Name, Host Name, Router, DNS, MTU , IP地址。


传输过来了hostname,为什么主机的hostname没有变呢,于是比对其它系统,发现 /etc/hostname 不一样

于是把/etc/hostname 内容改成 

localhost.localdomain


这样及可


如果是其它内容,dhcp client会认为不允许修改,所以不会更新hostname




在这次排查过程中,对dhcp也有了更进一步的理解, dhcp通过四次通信完成dhcp

1、dhcp discover    广播

2、dhcp ack            应答

3、dhcp request      请求

4、dhcp offer           提供ip


流程图如下:






hostname的配置在 dnsmasq --dhcp-hostsfile=/var/lib/neutron/dhcp/f48e6bad-f9e5-40c6-8d59-3f9d805d9892/host    参数--dhcp-hostsfile控制


VM虚拟机中Linux系统联网可以按以下步骤操作: ### 检查并启动本地服务 按Win + R打开运行窗口,输入services.msc并回车,在服务列表中找到VMware Authorization Service、VMware DHCP Service、VMware NAT Service,确认这些服务的状态是“正在运行”。若未运行,右键点击服务名称,选择“启动” [^1]。 ### 检查网络适配器设置 按Win + R打开运行窗口,输入ncpa.cpl并回车,找到VMware相关的网络适配器(通常命名为VMnet1 和 VMnet8),确认这些适配器没有被禁用。若禁用,右键点击适配器并选择“启用” [^1]。 ### 检查VMware网络配置 打开VMware Workstation,点击“编辑” -> “虚拟网络编辑器”,确认VMnet1和VMnet8配置正确,通常VMnet1应设置为Host - only模式,VMnet8应设置为NAT模式。点击“恢复默认设置”,重置虚拟网络配置 [^1]。 ### 检查虚拟机网络设置 打开虚拟机的设置(点击虚拟机 -> 设置),选择网络适配器,确保勾选了“连接”和“启动时连接”;在网络适配器设置中,选择“网络连接方式”,可试着切换不同的网络模式(如NAT、桥接、Host - only)并保存设置,重启虚拟机后查看是否解决问题 [^1]。 ### 针对特定情况的配置 - **openEuler系统ens33无IP地址情况**: - 检查Linux虚拟机的网络连接模式,确保它是NAT模式。 - 在VMware workstation里,点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开虚拟网络编辑器,选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(若勾选,会设置动态IP)。 - 点击NAT设置,记住子网IP范围,如192.168.18.0~192.168.18.255,其中192.168.18.2为网关地址,192.168.18.255为广播地址,192.168.18.0一般为网段IP,0、2、255这三个地址不能设置。 - 设置虚拟机的IP、DNS和主机名: - 设置IP地址、子网掩码和网关,编辑文件`vi /etc/sysconfig/network-scripts/ifcfg-ens**` (根据实际情况不同,本文为ens33),按照如下设置修改文本: ```plaintext BOOTPROTO=static IPADDR=192.168.18.6 NETMASK=255.255.255.0 GATEWAY=192.168.18.2 ONBOOT=yes ``` - 设置DNS,编辑文件`vi /etc/resolv.conf` 。 - 设置主机名,编辑文件`vi /etc/hostname` ,HOSTNAME可自行设置。 - 上述文件配置成功后,重启虚拟机`reboot`,此时查看发现ens33已有IP地址 [^2]。 - **centOS7系统情况**:根据前面查看的虚拟机网关和DHCP的ip地址范围增加以下内容到配置文件中: ```plaintext IPADDR=192.168.71.150 #增加的IP地址要在虚拟机的DHCP地址范围内 NETMASK=255.255.255.0 PREFIX=24 GATEWAY=192.168.71.2 #网关填写虚拟机的网关 DNS1=114.114.114.114 DNS2=223.5.5.5 ``` [^3] ### 重启网卡 修改完成后需要重启网卡,执行以下命令: ```bash systemctl stop NetworkManager #关闭掉网络管理 systemctl disable NetworkManager #将网络管理禁用 service network restart #重启网卡 ``` [^4] ### 其他可能的解决方案 - 重启宿主机(即运行VMware Workstation的电脑),有时可解决网络连接问题 [^1]。 - 确认使用的是VMware Workstation的最新版本,更新软件有时可解决许多问题 [^1]。 - 防火墙或安全软件可能会阻止VMware的网络连接,尝试临时关闭防火墙和安全软件,看是否能够解决问题 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值