设为首页 收藏本站
查看: 1103|回复: 0

[经验分享] 在CentOS 7系统上架设DHCP服务

[复制链接]

尚未签到

发表于 2018-4-25 11:19:59 | 显示全部楼层 |阅读模式
  我架设DHCP服务使用的是CentOS 7.0.1406,核心版本号为3.10.0-123.el7.x86_64。CentOS系统安装在虚拟机上面,然后通过虚拟网卡来串接到GNS 3中架设的虚拟网络上面。整个网络拓扑是这样的:
DSC0000.jpg

  如果你不是很清楚虚拟机中的CentOS系统到底是怎么接到GNS 3中的虚拟网络上面,也没关系,就把上图中的那个标注为虚拟机的PC看做是运行着CentOS 7系统的服务器就行了。我这篇文章也只是介绍怎么在CentOS 7系统上架设DHCP服务,并不介绍关于GNS 3的使用和网络的知识。
  要架设DHCP服务,可按照如下步骤进行:
  1.      安装DHCP软件
  安装DHCP软件使用命令:yum install dhcp
  安装完成后,就可看到有dhcp.x86_64这个软件,如下图所示。另外两个软件(dhcp-common.x86_64和dhcp-libs.x86_64)是连带安装上去的。
DSC0001.jpg

  2.      设置配置文件/etc/dhcp/dhcpd.conf
  安装好DHCP软件后,就需要设置配置文件/etc/dhcp/dhcpd.conf。要设置dhcpd.conf这个配置文件,可以先看一下档案/usr/share/doc/dhcp*/dhcpd.conf.example,里面有一些例子和简单的说明。也可以使用命令man 5 dhcpd.conf查看更详细的说明。
  在我这个案例中,我是这么设置dhcpd.conf文档的:
  ---------------------------------------------------------------------------------------------------------------------------------
[root@localhost~]# vim /etc/dhcp/dhcpd.conf

  authoritative;
  default-lease-time600;
  max-lease-time7200;
  optiondomain-name "test.com";
  optiondomain-name-servers 114.114.114.114;
  #
  #authoritative指明本DHCP服务器是所服务网段的官方DHCP服务器。一般情况下,配置文件中要设置authoritative,如果不设置,可能会有一些问题。
  #default-lease-time设置默认租约有效期,以秒为单位。如果客户端在请求IP地址时并未要求租约有效期,DHCP服务器就会将租约有效期设置为这个值。
  #max-lease-time,单位为秒。在鸟哥的书中,这个值是设置客户端可请求的最大租约有效期,而不是客户端所能使用一个IP的最长时间。man文档里面也有解释“Time should be the maximumlength in seconds that will be assigned to a lease”,不过这到底是哪个意思,我就不太确定了。
  #optiondomain-name设置域名。
  #optiondomain-name-servers设置DNS服务器,这里只设置了一个DNS服务器,也可以设置两个 ,格式参照文档/usr/share/doc/dhcp*/dhcpd.conf.example。
  #
  subnet172.31.3.0 netmask 255.255.255.0 {
  range 172.31.3.10 172.31.3.200;
  option routers 172.31.3.254;
  option broadcast-address 172.31.3.255;
  }
  host pc2 {
  hardware ethernet 00:50:79:66:68:01;
  fixed-address 172.31.3.201;
  }
  #
  subnet172.31.1.0 netmask 255.255.255.0 {
  range 172.31.1.10 172.31.1.200;
  option routers 172.31.1.254;
  option broadcast-address 172.31.1.255;
  }
  host pc4 {
  hardware ethernet 00:50:79:66:68:03;
  fixed-address 172.31.1.201;
  }
  host pc5 {
  hardware ethernet 00:50:79:66:68:04;
  fixed-address 172.31.1.202;
  }
  #
  #subnet语句指定子网和子网掩码。
  #range语句指定可动态分配的IP的IP地址范围。
  #option routers语句指定网关地址。
  #optionbroadcast-address指定广播地址。这个不是很确定是不是一定要设置,在我这个虚拟网络中,不设置也能正常运行,但在实际网络中,不设置的话不知道会不会有问题。
  #host语句可以给指定MAC地址(hardware ethernet所设置的值)的主机分配固定的IP地址(fixed-address所设置的值)。host后面接的那个是一个名称来的(如pc2),这个名称是可以随便设置的,不用跟实际的主机名一致,但是该名称在本配置文件中必须是唯一的。
  ---------------------------------------------------------------------------------------------------------------------------------
  3.      启动dhcpd服务
  设置完配置文件后,最后就是启动dhcpd服务了,使用命令:systemctl start dhcpd.service
  如果没什么问题的话,DHCP服务器就部署好了。此时,可以查看到dhcpd在监听端口67,如下图所示:
DSC0002.jpg

  如果服务未成功启动的话,此时可以查看一下/var/log/messages日志文件(使用命令cat/var/log/messages | grepdhcp),默认DHCP的日志都会记录在该文件中。如果要查看已分配的IP,可以查看文件/var/lib/dhcpd/dhcpd.leases,不过好像里面只会记录了动态分配的IP,而不会记录固定IP(如前面配置文件中的172.31.3.201),即使该IP已被分配出去。正如前面已经提到的,要了解配置文件dhcpd.conf的更详细配置信息,可查看man文档(使用命令man 5 dhcpd.conf)。而要了解配置文件dhcpd.conf里面各option的详细信息,则要查看另一个man文档(使用命令man 5 dhcp-options)。
  要查看服务状态的话,可使用命令systemctl statusdhcpd.service。如果要停止DHCP服务的话,则是使用命令systemctl stop dhcpd.service。修改配置文件后,要使配置文件生效,则可使用命令systemctl restart dhcpd.service。当然,如果是在实际生产环境中,就不能随意改变配置文件并重启DHCP服务了,而是要使用omshell这个命令,按官方文档的说法,这个命令可以在服务不中止的情况下改变配置。
  4.      设置服务开机启动
  要设置dhcpd服务开机启动,使用命令:systemctl enable dhcpd.service
  如果要检查服务是否的确已设置为开机启动,可使用命令systemctl list-unit-files。如果要取消服务开机启动,可使用命令systemctldisable dhcpd.service。
  5.      检查测试
  到上面为止,所有的配置都已完成。最后,就是要看一下客户端能否通过DHCP协议正常获取IP了:
DSC0003.jpg

  可以看到,所有客户端都有正常获取到IP,子网掩码和网关也都是正确的。
  注:上面的很多信息主要来自于红帽的官方文档,附上链接https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/,打开链接后,里面有个Networking Guide,就在这个文档里面有介绍如何架设DHCP服务器,有兴趣可以看看。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-451819-1-1.html 上篇帖子: 在CentOS 7系统上搭建LAMP 下篇帖子: CentOS7.0重置Root的密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表