最近在麒麟系统相关实验时总是遇到各种各样的问题,故而记录一下,以便后续查阅
实验二 DHCP服务部署
一、实验目的和要求:
1:熟悉DHCP服务原理及其应用;
2:根据DHCP服务原理部署DHCP服务;
3:维护DHCP服务。
二、主要仪器设备:
PC机一台;Win7/Win10操作系统;vm虚拟机软件。
三、实验内容和原理:
1:在DHCP服务器上成功部署DHCP服务;
2:客户端通过DHCP服务获取到动态IP地址;
3:客户机通过路由访问外网。
四、实验项目:
1.根据真实机NAT模式下的IP地址,修改虚拟机IP地址为静态IP地址,并设置其网关为VM的NAT模式下提供的网关IP地址,DNS服务器为114.114.114.114,并在VM软件上关闭DHCP服务。
答:查看VM提供的网关地址,并关闭DHCP服务
注意:真实机的适配器选项中需要启用vmnet8和vmnet1
使用语句
nmcli connection modify ens33 ipv4.address 192.168.149.1/24 ipv4.gateway 192.168.149.2 ipv4.dns 114.114.114.114 ipv4.method manual
编辑网络配置,把网关设置为上一步骤查到的192.168.149.2,DNS设置为8.8.8.8或114.114.114.114,子网掩码设置为255.255.255.0。
注意:这里配置网关是为了后面在安装dhcp时可以访问网络下载成功
2.在虚拟机上部署DHCP服务,使其成为DHCP服务器(以下皆称该虚拟机
答:使用语句
yum install dhcp-server -y
下载dhcp组件。下载后,使用语句
vim /etc/dhcp/dhcpd.conf
修改dhcp配置。
配置完后,使用语句
dhcpd -t -cf /etc/dhcp/dhcpd.conf
激活该配置,并使用语句
systemctl restart dhcpd
重启dhcp服务。
3.在另一台虚拟机上(以下皆称为客户机),修改网络配置,使其获取网络ip地址的方式为DHCP,并重启网络服务。
答:使用
vim /etc/sysconfig/network-scripts/ifcfg-ens33
查看客户机默认获取网络的方式是否是dhcp,如果不是则修改网络配置,将BOOTPROTO修改为dhcp,同时在vm软件的网络的虚拟网络编辑器上关闭由真实机提供的d
使用语句
nmcli connection modify ens33 ipv4.address 192.168.149.2/24 ipv4.method manual
设置客户机为静态地址,并使用语句‘ifconfig’查看ip地址,如下图所示,现在的ip地址是静态的。
使用语句
dhclient –d ens33 –s 192.168.149.1
向服务器IP地址请求分配IP,出现DHCPACK和bound to就代表已经获取成功,IP地址为服务器提供的IP地址段的第一个IP地址。
4.查看客户机此时IP地址,并尝试ping服务器、ping www.gzist.edu.cn。
答:查看此时IP地址,如果没有更改,依旧是之前配置的192.168.149.2,查看上面请求时是否只出现了DHCPREQUEST和DHCPACK两个阶段,如果两条都符合,则返回服务器将IP地址段修改一下(客户机之前进行过IP地址请求访问,所以会出现一些问题)
修改后重启dhcp服务,同时在客户机重新发送dhcp请求。
出现DHCPDISCOVER、DHCPOFFER、DHCPREQUEST和DHCPACK四个阶段就代表绑定成功,IP地址仍然为服务器提供的IP地址段的第一个IP地址。
此时查看IP地址,IP地址已更新为最终获取的地址。
尝试ping 服务器,成功连接。
尝试ping www.gzist.edu.cn或者ping www.baidu.com,并不能访问,原因是dhcp服务器配置时,只提供了ip地址,并未把可以连接外网的网关以及DNS服务器信息提供给客户机。
注意:如果出现以下错误,则使用语句
dhclient -r
清除进程后再重新请求即可。
5.修改服务器DHCP配置,添加路由地址为真实机IP地址,DNS服务器为114.114.114.114,并重
答:使用语句
vim /etc/dhcp/dhcpd.conf
修改dhcp配置,添加网关与dns服务器信息后,使用语句
dhcpd -t -cf /etc/dhcp/dhcpd.conf
激活该配置,并使用语句
systemctl restart dhcpd
重启dhcp服务。
6.在客户机上重启网络服务,并尝试ping服务器、ping www.gzist.edu.cn。
答:使用语句
nmcli connection up ens33
重启网络服务,尝试ping www.gzist.edu.cn,服务器能够解析出改地址的真实ip地址,却没办法访问,有可能是目的地址拒绝访问。
尝试ping www.baidu.com,可以ping通,说明可以访问外网。
注意:倘若出现无法访问网络,则再次使用语句
dhclient –d ens33 –s 192.168.149.1
向服务器请求一次IP地址。请求时如果只出现了DHCPREQUEST和DHCPACK两个阶段,则参考第四部分的步骤重新配置一下服务器的IP地址段,客户机再次请求就可。
重新尝试ping www.baidu.com,可以ping通,说明可以访问外网。
Bug总结:
-
在配置相应的文件时需要看清楚
ghgfhjfwenzhanglaixzizhenggegedboke@@@@ 网络地址和子网掩码,如果子网掩码是255.255.255.0,代表前24位都是网络号,此时我们可以配置后8位中的任意一个IP主机号地址(但是不能全0或全1,即最后一位字节不能为0和255),根据查询出来的网络号位配置相应的DHCP文件,subnet后面紧跟的是网络号,所以需要将主机号置为0 ,如果查询到的IP信息是192.168.20.x/24,则需要配置相应192.168.20.0网络段的IP地址。如果DHCP检查语法时出错或DHCP服务无法启用,就查看是否网络段配置错误,如有错误进行更改然后重启DHCP即可。 -
客户机在请求IP地址时只出现了DHCPREQUEST和DHCPACK两个阶段,且客户机的IP地址并未更新,可能是DHCP服务器重启后客户机没有及时更新网络状态,可以先尝试使用语句
nmcli connection reload
或者
systemctl restart network
重新更新网卡状态,如果
ghgfhjfwenzhanglaixzizhenggegedboke@@@@ 这两个都不行,就只能去修改服务器的DHCP配置文件里的IP地址段,客户机再重新获取即可。 -
如果遇到“dhclient(3947)is already running . exiting.”错误,说明dhclient的端口号已被占用,此时可以直接使用
dhclient –r
杀死进程,或者在root用户下输入
ps -ef | grep dhclient
查看dhclient的端口号为3947(看第一步查看到的是多少就写多少),输入
kill -9 3947
杀死端口,然后再次输入dhclient 命令去重新获取一下ip