Linux服务篇之DHCP原理与配置

文章目录

  • 1 了解DHCP服务
    • 1.1 定义
    • 1.2 DHCP好处
    • 1.3 DHCP的分配方式
  • 2 DHCP工作原理
    • 2.1 四个步骤
    • 2.2 重新登录
    • 2.3 更新租约
  • 3 DHCP动态主机地址配置
    • 3.1 DHCP 服务器软件
    • 3.2 可分配的地址信息主要包括
    • 3.3 设置全局配置参数
    • 3.4 同一网段DHCP服务器分配地址实验
  • 3 DHCP中继原理与配置
    • 3.1不同网段DHCP服务器分配地址实验

1 了解DHCP服务

1.1 定义

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是应用层协议,DHCP 使用 UDP 传输,端口号是67和68,其中67端口是 server 使用,68端口是 client 使用。由 Internet 工作任务小组设计开发,专门用于为 TCP/IP 网络中的计算机自动分配 TCP/IP 参数的协议

DHCP是 C/S模式:DHCP 服务端和客户端需要保持通信,DHCP 基于 UDP 协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。
Server端:DHCP Server(运行dhcp服务)UDP服务:监听端口67(bootps)
Client端:DHCP Client(运行dhcp程序)UDP服务:监听端口68(bootpc)

典型的 C/S 模式
在网络中假设一台专用的 DHCP 服务器,负责集中分配各种网络地址参数(主要包括 IP 地址、子网掩码、默认网关地址、DNS 服务器地址、广播地址),其他主机作为 DHCP 客户机,将网卡配置为自动获取地址,即可与 DHCP 服务器进行通信,完成自动配置过程

1.2 DHCP好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免 IP 地址冲突
  • 当更改 lP 地址段时,不需要重新配置每个用户的 IP 地址
  • 提高了 IP 地址的利用率
  • 方便客户端的配置

1.3 DHCP的分配方式

  • 自动分配:分配到一个 IP 地址后永久使用
  • 手动分配:由 DHCP 服务器管理员专门指定IP地- 址
  • 动态分配:使用完后释放该 IP,供其它客户机使用

2 DHCP工作原理

客户机从 DHCP 服务器获得IP地址的过程称为 DHCP 的租约过程

2.1 四个步骤

客户机请求 IP 地址

  • 当一个 DHCP 客户机启动时,客户机还没有IP地址,所以客户机要通过 DHCP 获取一个合法的地址
  • 此时 DHCP 客户机以广播方式发送DHCP Discover r发现信息来寻找 DHCP 服务器

服务器响应

  • DHCP 服务器接收到来自客户机请求 IP 地址的信息时,在自己的 IP 地址池中查找是否有合法的 IP 地址提供给客户机
  • 如果有,DHCP 服务器将此 IP 地址做上标记,加入到 DHCP Offer 的消息中,然后广播一则 DHCP Offer消息

客户机选择IP地址

  • DHCP 客户机从接收到的第一个 DHCP Offer 消息中提取IP地址,发出 IP 地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机

服务器确定租约

  • DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息
  • 当客户机收到 DHCP ACK 消息时,配置IP地址,完成
    Linux服务篇之DHCP原理与配置_第1张图片

2.2 重新登录

  • DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息
    Linux服务篇之DHCP原理与配置_第2张图片

2.3 更新租约

  • 当 DHCP 服务器向客户机出租的 IP 地址租期达到50%时,就需要更新租约
  • 客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约

3 DHCP动态主机地址配置

DHCP 服务

  • 为大量客户机自动分配地址,提供集中管理
  • 减轻管理和维护成本、提高网络配置效率

3.1 DHCP 服务器软件

  • CentOS 光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
  • DHCP软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay

3.2 可分配的地址信息主要包括

  • 网卡的 IP 地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS 服务器地址

3.3 设置全局配置参数

default-lease-time 21600; //默认租约为6小时,单位为秒
max-lease-time 43200;  //最大租约为12小时,单位为秒
option domain-name "benet.com"; //指定默认域名
option domain-name-servers 202.106.0.20,202.106.148.1;  //指定DNS服务器地址
ddns-update-style none;  //禁用DNS动态更新

#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.25.0 netmask 255.255.255.0 {         //声明要分配的网段地址
range 192.168.25.100 192.168.25.150;               //设置地址池
option routers 192.168.25.2;               //指定默认网关地址

#host主机声明(给单机分配固定的IP地址)
host hostname {   //指定需要分配固定IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81;//指定该主机的MAC地址
fixed-address 192.168.4.100; //指定保留给该主机的IP地址

3.4 同一网段DHCP服务器分配地址实验

第一步:关闭防火墙和selinux

[root@fyr ~]# systemctl stop firewalld.service 
[root@fyr ~]# setenforce 0

在这里插入图片描述
第二步: 安装服务并查看相关配置文件

[root@fyr ~]# rpm -qa | grep dhcp
[root@fyr ~]# yum install -y dhcp  //安装DHCP服务

Linux服务篇之DHCP原理与配置_第3张图片
Linux服务篇之DHCP原理与配置_第4张图片
第三步:修改虚拟机仅主机模式
Linux服务篇之DHCP原理与配置_第5张图片
更改完成后Xshell就断开了,需要进虚拟机的终端去更改配置

第四步:进入虚拟机配置

[root@fyr ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

Linux服务篇之DHCP原理与配置_第6张图片
第五步:重启并查看
Linux服务篇之DHCP原理与配置_第7张图片
这个时候就可以Xshell连接了
Linux服务篇之DHCP原理与配置_第8张图片
Linux服务篇之DHCP原理与配置_第9张图片
第六步:拷贝并修改 /etc/dhcp/dhcpd.conf 配置文件

[root@fyr ~]# rpm -qc dhcp  //查看相关配置文件
[root@fyr ~]# systemctl status dhcpd  //查看DHCP的状态

方法一
[root@fyr ~]# cd /etc/dhcp/
[root@fyr dhcp]# ls
[root@fyr dhcp]# cat dhcpd.conf  //查看具体配置文件

方法二
[root@fyr dhcp]# cd /usr/share/doc/dhcp-4.2.5/  //进入/usr/share/doc/dhcp-4.2.5/目录中
[root@fyr usr]#ls
[root@fyr dhcp]# less dhcpd.conf.example //查看具体配置文件

#拷贝并修改 
[root@fyr dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@fyr dhcp]# vim /etc/dhcp/dhcpd.conf

Linux服务篇之DHCP原理与配置_第10张图片
第七步:修改配置文件

[root@fyr dhcp]# vim /etc/dhcp/dhcpd.conf
或者
[root@localhost ~]# cd /etc/dhcp/                 //切换至dhcpd.conf所在目录
[root@localhost dhcp]# vim dhcpd.conf       

#末行模式下:set nu显示行号
subnet 192.168.25.0 netmask 255.255.255.0 {  //声明要分配的网段地址
  range 192.168.25.100 192.168.25.150; //设置地址池
  option routers 192.168.25.2;;  //指定默认网关地址
  option domain-name-servers 114.114.114.114;
}

Linux服务篇之DHCP原理与配置_第11张图片
第八步:重启服务并查看状态

[root@fyr dhcp]# systemctl restart dhcpd                //重启dhcp服务
[root@fyr dhcp]# systemctl status dhcpd              //查看是否成功启动

#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages

Linux服务篇之DHCP原理与配置_第12张图片
第九步:进入 windows10或7 查看是否获取分配的 IP 地址

#windows设置虚拟网卡为仅主机模式
#虚拟网络编辑器里也设置成仅主机模式,一定要把使用本地DHCP选项勾掉
#改一下windows虚拟机的网卡配置

#在windows系统的cmd里测试,然后释放并重启一下网络
ipconfig  查看网卡信息
ipconfig /release  释放地址
ipconfig /renew    重新获取地址
ipconfig /all  可以看到详情信息,

Linux服务篇之DHCP原理与配置_第13张图片
Linux服务篇之DHCP原理与配置_第14张图片
Linux服务篇之DHCP原理与配置_第15张图片
Linux服务篇之DHCP原理与配置_第16张图片
按win+r,然后输入cmd进行测试
Linux服务篇之DHCP原理与配置_第17张图片
Linux服务篇之DHCP原理与配置_第18张图片

3 DHCP中继原理与配置

当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了 VLAN,VLAN 能隔离广播,而 DHCP 协议使用广播
DHCP 服务器在 VLAN 100中,就只有 VLAN 100内的客户机能从在此获取 IP 地址
两种解决办法:

为每个网段安装一台 DHCP 服务器,但这种方式存在资源上的浪费,而且不利于集中管理。
在连接不同网段的设备上开启 DHC 中继功能,将 DHCP 这种特殊的广播信息在 VLAN 之间转发,让其他 VLAN 的客户机也能从 DHCP 服务器获得 IP 地址。

3.1不同网段DHCP服务器分配地址实验

拓扑图
Linux服务篇之DHCP原理与配置_第19张图片
第一步:更改网卡连接模式为仅主机
Linux服务篇之DHCP原理与配置_第20张图片
第二步: 修改网卡

[root@fyr ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改网卡ip地址及网关,然后保存退出
[root@fyr ~]# systemctl restart network               #重启网络服务
root@localhost ~]# ifconfig       #查看ip地址

Linux服务篇之DHCP原理与配置_第21张图片
Linux服务篇之DHCP原理与配置_第22张图片第三步:设置全局配置参数

[root@fyr dhcp]# vim /etc/dhcp/dhcpd.conf
#末行模式下:set nu显示行号
subnet 192.168.100.0 netmask 255.255.255.0 {  //声明要分配的网段地址
  range 192.168.100.128 192.168.100.150; //设置地址池
  option routers 192.168.100.254;  //指定默认网关地址
  option domain-name-servers 8.8.8.8;
}

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.254;
} 

subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.150;
option routers 192.168.20.254;
} 

Linux服务篇之DHCP原理与配置_第23张图片
第四步: 启动并查看 DHCP

[root@fyr dhcp]# systemctl start dhcpd                //启动dhcp服务
[root@fyr dhcp]# systemctl status dhcpd             //查看是否成功启动
[root@fyr dhcp]# netstat -anup  | grep "dhcp"      //查看网络状态,过滤出dhcp端口

#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages

Linux服务篇之DHCP原理与配置_第24张图片
第五步:在 ensp 中配置 DHCP 中继
Linux服务篇之DHCP原理与配置_第25张图片
Linux服务篇之DHCP原理与配置_第26张图片
Linux服务篇之DHCP原理与配置_第27张图片
第六步:配置 SW2

<Huawei>undo t m    //关闭提示信息
<Huawei>sys     //进入系统视图
[Huawei]vlan batch 10 20 100    //创建三个vlan                      
[Huawei]int e0/0/2  //进入e0/0/2接口
[Huawei-Ethernet0/0/2]undo shutdown  //开启接口  
[Huawei-Ethernet0/0/2]port link-type access   //配置接口为access类型
[Huawei-Ethernet0/0/2]port default vlan 10  //给接口默认划分vlan10,只让vlan10进入

[Huawei-Ethernet0/0/2]int e0/0/3   //进入e0/0/3接口
[Huawei-Ethernet0/0/3]undo shutdown    //开启接口  
[Huawei-Ethernet0/0/3]port link-type access    //配置接口为access类型
[Huawei-Ethernet0/0/3]port default vlan 20  //给接口默认划分vlan20,只让vlan20进入

[Huawei-Ethernet0/0/3]int e0/0/4      //进入e0/0/4接口
[Huawei-Ethernet0/0/4]undo shutdown  //开启接口     
[Huawei-Ethernet0/0/4]port link-type access    //配置接口为access类型
[Huawei-Ethernet0/0/4]port default vlan 100    //给接口默认划分vlan100只让vlan100进入

[Huawei-Ethernet0/0/4]int e0/0/1      //进入e0/0/1接口
[Huawei-Ethernet0/0/1]undo shutdown    //开启接口 
[Huawei-Ethernet0/0/1]port link-type trunk   //配置接口为trunk类型
[Huawei-Ethernet0/0/1]port trunk allow-pass vlan all   //允许所有vlan通过   

Linux服务篇之DHCP原理与配置_第28张图片
Linux服务篇之DHCP原理与配置_第29张图片
第七步:配置 SW1

<Huawei>u t m    //关闭提示信息.
<Huawei>sys     //进入系统视图
[Huawei]vlan batch 10 20 100    //创建三个vlan
[Huawei]display vlan     //查看vlan                    
[Huawei]dhcp enable     //开启DHCP服务

[Huawei]int g0/0/1     //进入g0/0/1接口
[Huawei-GigabitEthernet0/0/1]undo shutdown  //开启接口 
[Huawei-GigabitEthernet0/0/1]port link-type trunk  //配置接口为trunk类型
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all  //允许所有vlan通过  
[Huawei-GigabitEthernet0/0/1]dis this    //查看接口信息

[Huawei-GigabitEthernet0/0/1]int vlan 10   //进入虚拟接口vlanif10
[Huawei-Vlanif10]ip add 192.168.10.254 24  //配置IP地址以及子网掩码长度
[Huawei-Vlanif10]dhcp select relay    //开启HCP中继功能
[Huawei-Vlanif10]dhcp relay server 192.168.100.10  //指定DHCP服务器地址
[Huawei-Vlanif10]dis this

[Huawei-Vlanif10]int vlan 20     //进入虚拟接口vlanif20
[Huawei-Vlanif20]ip add 192.168.20.254 24     //配置IP地址以及子网掩码长度
[Huawei-Vlanif20]dhcp select relay      //开启HCP中继功能
[Huawei-Vlanif20]dhcp relay server 192.168.100.10   //指定DHCP服务器地址

[Huawei-Vlanif20]int vlan 100    //进入虚拟接口vlanif100
[Huawei-Vlanif100]ip add 192.168.100.254 24   //配置IP地址以及子网掩码长度
[Huawei-Vlanif100]dhcp select relay   //开启HCP中继功能
[Huawei-Vlanif100]dhcp relay server 192.168.100.10   //指定DHCP服务器地址

Linux服务篇之DHCP原理与配置_第30张图片
Linux服务篇之DHCP原理与配置_第31张图片
第八步:测试连通性

[Huawei-Vlanif100]ping 192.168.10.254   //测试是否能与其他网段互通
[Huawei-Vlanif100]ping 192.168.20.254

Linux服务篇之DHCP原理与配置_第32张图片
第九步:使用 DHCP 方式获取 ip 地址
Linux服务篇之DHCP原理与配置_第33张图片
第十步:测试
Linux服务篇之DHCP原理与配置_第34张图片

你可能感兴趣的:(Linux,linux服务,网络,DHCP)