超详细讲解Linux DHCP服务
一、dhcp服务(动态主机配置协议)
1.背景
1.手动设置工作量大且容易冲突
2.用dhcp可以减少工作量和避免地址冲突
2.概述
- 作用:为局域网内的电脑分配ip地址
- 架构 c/s;客户端/服务器模式
- 实现方式:
1.为相同网段的电脑分配ip地址—dhcp
2.跨网段为另一网段的电脑分配ip地址—dhcp中继
- dhcp使用udp协议,67号是客户机使用的,68号是服务器端的端口号
3.优点
1.减少管理员的工作量
2.避免输入错误的可能
3.避免ip地址冲突
4.当更改ip地址段时,不需要重新配置每个用户的ip地址
5.提高了ip地址的利用率
6.方便客户端的配置
4.dhcp报文类型
以找工作为例:
dhcp discover——客户端用来寻找dhcp服务器的报文
我向公司投简历来找工作
dhcp offer——dhcp服务器用来响应dhcp discover报文的报文。该报文携带了各种配置信息,例如ip地址,dns等
公司收到我的求职简历后给我发了一份offer
dhcp request——客户端请求配置确认,或者续借租期
我收到offer之后跟公司确认
dhcp ack——服务器对request报文的确认响应
公司说我ok没问题,可以过来上班 ,我找到工作了
5.dhcp 的分配方式
①自动分配:
当dhcp客户机第一次成功地从dhcp服务器获取到一个ip地址后,就永久的使用这个ip地址
②手动分配:
由dhcp服务器管理员专门指定ip地址
③动态分配:
当dhcp客户机第一次从dhcp服务器获得ip地址后,并非永久的使用该地址,而是在每次使用完后,dhcp客户机就会释放这个ip地址,供其他客户机使用
二、安装 dhcp 服务器
1.dhcp 服务软件
- centos光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
- 一般都有,没有的话 rpm 去安装一下
- dhcp 软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、usr/sbin/dhcrelay
2.主配置文件
- dhcpd.conf 的内容构成
ddns-update-style interim; #全局配置参数 ...... subnet 192.168.0.0 netmask 255.255.255.0 { #subnet以上的都是全局配置参数;网段声明(网段、子网掩码、默认网关地址) option routers 192.168.0.1; #配置选项 ...... default-lease-time 21600; #配置参数 host ns { ...... fixed-address 207.175.42.254; #主机声明(固定一个ip给主机用的) } }
- subnet网段声明,作用于整个子网段
range参数:设置用于分配的ip地址池
option subnet-mask参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
三、配置步骤
1.使用 dhcp 动态的给 pc 机分配 ip 地址
① ensp
实验拓扑图如下
注:配置完“cloud”之后才能用串口线连接
- 配置cloud
- sw1基本配置
<huawei>undo terminal monitor <huawei>system-view [l2-sw1]user-interface console 0 [l2-sw1-ui-console0]idle-timeout 0 0 [l2-sw1-ui-console0]quit [l2-sw1]vlan batch 10 20 100 [l2-sw1]interface ethernet 0/0/1 [l2-sw1-ethernet0/0/1]port link-type access [l2-sw1-ethernet0/0/1]port default vlan 10 [l2-sw1-ethernet0/0/1]quit [l2-sw1]interface ethernet 0/0/2 [l2-sw1-ethernet0/0/2]port link-type access [l2-sw1-ethernet0/0/2]port default vlan 20 [l2-sw1-ethernet0/0/2]quit [l2-sw1]interface ethernet 0/0/3 [l2-sw1-ethernet0/0/3]port link-type access [l2-sw1-ethernet0/0/3]port default vlan 100 [l2-sw1-ethernet0/0/3]quit [l2-sw1]interface ethernet 0/0/4 [l2-sw1-ethernet0/0/4]port link-type access [l2-sw1-ethernet0/0/4]port default vlan 100 [l2-sw1-ethernet0/0/4]quit [l2-sw1]interface gigabitethernet0/0/1 [l2-sw1-gigabitethernet0/0/1]port link-type trunk [l2-sw1-gigabitethernet0/0/1]port trunk allow-pass vlan 10 20 100 [l2-sw1-gigabitethernet0/0/1]quit
- sw2基本配置
<huawei>undo terminal monitor <huawei>system-view [huawei]sysname l3-sw2 [l3-sw2]user-interface console 0 [l3-sw2-ui-console0]idle-timeout 0 0 [l3-sw2-ui-console0]quit [l3-sw2]vlan batch 10 20 100 [l3-sw2]interface gigabitethernet0/0/1 [l3-sw2-gigabitethernet0/0/1]port link-type trunk [l3-sw2-gigabitethernet0/0/1]port trunk allow-pass vlan 10 20 100 [l3-sw2-gigabitethernet0/0/1]quit [l3-sw2]interface vlanif 10 [l3-sw2-vlanif10]ip address 192.168.10.1 255.255.255.0 [sw2-vlanif20]un sh [l3-sw2]interface vlanif 20 [l3-sw2-vlanif20]ip address 192.168.20.1 255.255.255.0 [sw2-vlanif20]un sh [l3-sw2]interface vlanif 100 [l3-sw2-vlanif100]ip address 192.168.100.1 255.255.255.0 [sw2-vlanif20]un sh [sw2-vlanif100]int g0/0/1 [sw2-gigabitethernet0/0/1]port link-type trunk [sw2-gigabitethernet0/0/1]port trunk allow-pass vlan all
- 配置dhcp中继(三层交换机)
[l3-sw2]dhcp enable ##开启dhcp功能 [l3-sw2]interface vlanif 10 ##配置虚接口ip,选择dhcp中继模式,请求指向dhcp服务器ip [l3-sw2-vlanif10]dhcp select relay [l3-sw2-vlanif10]dhcp relay server-ip 192.168.100.100 [l3-sw2-vlanif10]quit [l3-sw2]interface vlanif 20 [l3-sw2-vlanif20]dhcp select relay [l3-sw2-vlanif20]dhcp relay server-ip 192.168.100.100 [l3-sw2-vlanif20]quit [l3-sw2]interface vlanif 100 [l3-sw2-vlanif100]dhcp select relay [l3-sw2-vlanif100]dhcp relay server-ip 192.168.100.100 [l3-sw2-vlanif100]quit
②虚拟机
- 选择虚拟机网络类型
- 配置网卡ip
- 安装dhcp软件包,并查看和找到配置文件
[root@xjj ~]# yum -y install dhcp 已加载插件:fastestmirror, langpacks loading mirror speeds from cached hostfile 软件包 12:dhcp-4.2.5-58.el7.centos.x86_64 已安装并且是最新版本 无须任何处理 [root@xjj ~]# cd /etc/dhcp/ ##dhcp的配置文件是/etc/dhcp/dhcpd.conf [root@xjj dhcp]# ls dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts [root@xjj dhcp]# less dhcpd.conf ##查看一下内容 [root@xjj ~]# cd /usr/share/doc/dhcp-4.2.5/ 到该目录下去寻找dhcp配置模板 [root@xjj dhcp-4.2.5]# ls ##“dhcpd.conf.example” dhcpd6.conf.example dhcpd.conf.example ldap [root@xjj dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf ##将模板覆盖到/etc/dhcp/dhcpd.conf中 cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y [root@xjj ~]# cd /etc/dhcp/ ##回到/etc/dhcp目录下 [root@xjj dhcp]# ls dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts [root@xjj dhcp]# less dhcpd.conf ##查看配置文件并进行下一步编辑
编辑dhcp配置文件
- [root@xjj dhcp]# vim dhcpd.conf
- 关闭防火墙,重启网卡,再去“ping”进行验证网络
[root@xjj dhcp]# systemctl stop firewalld se[root@jj dhcp]# setenforce 0 ##记得重启一下网卡! [root@xjj dhcp]# systemctl restart dhcpd [root@xjj dhcp]# ping 192.168.100.1 ...略 [root@xjj dhcp]# ping 192.168.10.1 ...略 [root@xjj dhcp]# ping 192.168.20.1 ...略
③验证
- 到ensp中验证一下
- 首先开启两台pc的dhcp来自动获取一下ip地址
④进入命令行“ipconfig”测试
- pc1
- pc2
pc1和pc2成功!!!
以上就是超详细讲解linux dhcp服务的详细内容,更多关于linux dhcp服务的资料请关注其它相关文章!