DHCP原理及服务器搭建详解(固定IP地址,DHCP中继服务)
DHCP原理及服务器搭建详解
一.引子:
DHCP在网络中的作用非常重要,简单来说就像给每台服务器配身份证的机构,你有合格的身份才能做合格的事情,要不然连火车都坐不了。服务器只有被DHCP服务配置了IP才能够在公网中进行活动。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做"双机热备"的。
二.DHCP基本概念及工作原理
DHCP:Dynamic Host Configuration Protocol
IP地址:在网络中充当地址和身份
-
DHCP概念
(1) DHCP服务作用
① 为大量客户机自动分配地址,提供集中管理
② 减轻管理和维护成本,提高网络配置效率 -
DHCP可分配的信息主要包括:
(1) 网卡的IP地址,子网掩码
(2) 对应的网络地址,广播地址
(3) 默认网关地址
(4) DNS服务器地址
(5) 引导文件,TFTP -
DHCP工作原理(广播域)
(1).C 向当前广播域中广播 discover 包,0.0.0.0 255.255.255.255
C端发送广播原理 网卡:rom非易失性存储器(断电保存)如dhcp client,pxe客户端
(2).S 接受数据报文,并且回送 offer 包,offer 记录了基本的 IP 信息
a 、通过 C MAC 将数据报文发送至 C
b、S 怎么知道什么 IP 是可用的?
通过 ICMP 协议测试:ping命令
(3).C 接受到 offer 报文,开始测试 IP 是否可用,如果接受到多个 offer 报文,只用第一个
a.C 怎么知道这个地址是否可用?
基于 ARP 协议:
(4).IP 地址可用性检测
a、如果 IP 可用,发送 request 报文,目标地址 255.255.255.255
通知c选择的 s 准备下一阶段的数据包
通知c没有选择的 s ,我名花有主啦
b、如果 IP 不可用,发送 Discover 报文
(5)、S 接受到 C request,准备 ACK 报文,ACK 包含详细地址信息 IP 、netmask、gateway、租约,ACK 报文发送给 C 的方式 依然用的是 C MAC
a. 租约续租50%
b.75%dhcp服务器没有回复信息,更换dhcp服务器
(6).C 接受 ACK 报文,配置 IP 地址
三.DHCP配置文件详解及DHCP服务器搭建(基础搭建,固定IP,超级作用域,中继服务)
-
DHCP相关服务软件包
(1) RHEL6的DHCP软件包
① dhcp-4.1.1-34.PL.e16.x86.rpm -
DHCP 配置文件解析
(1) DHCP的相关配置
① 端口号:ipv4 udp67 udp68
② 服务名:dhcpd dhcrelay
③ 主配置文件:/etc/dhcp/dhcpd.conf
④ 模板文件:/usr/share/doc/dhcp-4.1.1/dhcp.conf.sample
⑤ 中继配置文件:/etc/sysconfig/dhrelay -
实验搭建(基础搭建,固定IP地址,超级作用域,DHCP中继服务)
实验1:搭建简单的DHCP服务器
1). yum -y install dhcp
2). vim /etc/dhcp/dhcpd.conf
3). cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
4).cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
5).vim /etc/dhcp/dhcpd.conf
6).实验1:subnet配置DHCP
a. 配置文件中subnet留下一个最复杂的(subnet过多没有意义,只会使用第一个)
b. subnet 当前网段(192.168.26.0) netmask 255.255.255.0
i. 局部声明与全局声明,局部声明优先级更高
c. 分配范围:192.168.26.11 192.268.26.11
d. option domain-name-service 114.114.114.114, 8.8.8.8(逗号分割)
i. DHCP 遇到问题:查看日志:vim /var/log/messages
e. 网关:option routers 192.168.26.1
f. 将局部声明的其他行全部删除
g. service dhcpd start
h. chkconfig dhcpd on(永久关闭DHCP连接)
i. 设置dhcp动态获取
j. vim /etc/sysconfig/network-scripts/ifcfg-eth0
k. 关闭IP和子网掩码,将工作方式改为dhcp
l. 重启网卡生效
m. service dhcpd restart
n. 查看日志:tailf /var/log/messages
实验2:固定IP地址DHCP服务器搭建
1.pc:打印机(网络)地址保留:12每次都可以获得固定IP
2.实验:每次打印机都可以获取到固定的IP
- 1)获取打印机的mac地址
- 2) 11ping 192.168.66.12 & arp -n
- 3) 11vim /etc/dhcp/dhcp.conf
-
4) 11 host fantasiia
a ping 192.168.26.12 复制mac物理地址(mac物理地址获取)
b. fixed-address 192.168.26.200(排除range地址)
c. 多个地址保留:复制上述内容修改
d. service dhcpd restart
e. 22service network restart
f. 22ifconfig
实验3:DHCP超级作用域
(2) 分配两个网段(超级作用域:解决同一个广播域地址不够用的问题)(subnet只识别第一个区域)
① share-network
a. 两个网段进行分配,将subnet删掉(内容与subnet配置一致)
b. 删除subnet全部删除
c. 删除loop区域,或者将loop区域注释掉
d. 将获取过IP的恢复快照,并重启网卡
实验4:DHCP中继服务
1.DHCP 中继服务原理:跨广播域的地址分配(注意虚拟机的虚拟网卡的连接和配置以及路由器和DHCP服务器的配置)
2.DHCP中继服务实验搭建
试验机:四台c6
代表服务:11:DHCP同广播域测试机 12;DHCP 13:路由器 14:不同广播域的测试机(网卡设置为DHCP)
网卡配置:11,12,14vmnet1,13.14vmnet2
1). 12DHCP服务器:虚拟机网络编辑器-网络适配器-自定义特定虚拟网络-设置为vmnet1(网络不需要配置)
问题:没有两个仅主机模式:虚拟机网络编辑器-更改设置-添加网络-修改为仅主机模式-关掉DHCP服务器
2). 11测试机:网卡设置为vmnet1
3).13两张网卡(模拟路由器):第一张网卡设置为vmnet1,第二张网卡设置为vmnet2
4.).14:测试机:网卡设置为vmnet2
5).配置13(路由器)文件:
(1) 配置两块网卡文件(配置第二张网卡):vim /etc/sysconfig/network-scripts/ifcfg-eth1 IP设置20.20.20.12 NETMASK:255.255.255.0(重启网卡)
(2) 开启路由转发功能:vim /etc/sysctl.conf
① 将配置文件中的:net.ipv4.ip_forward=0修改为=1
② 13刷新路由转发功能:sysctl -p
③ 12配置路由网关(指定网关:将DHCP服务器网关指定向路由器):echo “GATEWAY=192.168.6.12”>>/etc/sysconfig/network-scripts/ifcfg-eth0
④ 12重启网卡生效:service network restart
⑤ 12a查看网关是否生效:route -n
6).12配置12DHCP中继服务:
(1) 12yum -y install dhcp
(2) 12cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
(3) 12vim /etc/dhcp/dhcp.conf
(4) 12只保留一个复杂subnet区域(此处有两个广播域)
① 配置地址池:192.168.26.0
② 第二个subnet再配置第二个广播域的subnet区域20.20.20.0
(5) 12开启dhcp服务:service dhcpd start&chkconfig dhcpd on
7). 13配置dhcp中继服务
① yum -y install dhcp(第二个dhcp软件包)
② vim /etc/sysconfig/dhcrelay
INTERFACES=”eth0 eth1”
DHCPSERVERS=”192.168.26.12”(指向DHCP服务器)
(8) 开启中继服务:service dhcrelay restart
(9) 测试两台测试机是否能够获取IP (同(5))
(10). 配置测试机的网卡为DHCP
DHCP是整个网络服务的基础,在我们生产环境中网络都不畅通,更别说做什么其他的事情了。笔者想通过此篇内容让大家了解DHCP的原理(知道网络出错在哪个环节)以及一些基本生产环境的实验搭建。浏览不易,感谢三连。