这里写目录标题
前言
DHCP的分配方式,配置,过程…
1. 了解DHCP服务器
- 动态主机配置协议
- internet工作任务小组设计开发
- 专门用于TCP/IP网络中的计算机,自动分配TCP/IP参数协议
2.好处
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本、提高网络配置效率
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3.DHCP的分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
4. DHCP租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤:
- 客户端在网络中搜索服务器
- 服务器向客户端响应服务
- 客户端向目标服务器发出服务请求
- 服务器向客户端提供服务
4.1 客户机请求IP地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
4.2 服务器响应
DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
如果有,DHCP服务器将此IP地址做上标记,加入到DHCPOffer的消息中,然后广播─则DHCP Offer消息
4.3 客户机选择IP地址
DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
4.4 服务器确定租约
DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
4.5、重新登陆
DHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
.4.6、更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
5. 可分配的地址信息
- 网卡的IP地址、子网掩码
- 对应的网络地址、广播地址
- 默认网关地址
- DNS服务器地址
6. dhcp的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
一,搭建DHCP服务器
-
配置dhcp–下载dhcp(centos镜像中的dhcp…rpm下载)或 yum下载
yum -y install dhcpd -
备份主配置文件,万一改错还可以恢复
cp /etc/dhcpd.conf /etc/dhcpd.conf.bak -
过滤文件重新定向到/etc/dhcp/dhcpd.conf
-
编辑配置文件修改配置文件格式–刷新dhcpd服务
主配置文件解释:
ddns-update-style interim; '全局配置参数,针对所有子网段'
...省略内容
subnet 192.168.100.0 netmask 255.255.255.0 {
'网段声明'
range 192.168.100.100 192.168.100.200;
option routers 192.168.100.1; '配置选项,网关'
...
default-lease-time 600; '配置参数,租约'
option broadcast-address 192.168.100.255;
max-lease-time 7200;
...
host name{
...
hardware ethernet 08:00:07:26:c0:a5; //目标主机的MAC地址
fixed-address 192.168.100.88; '主机声明,固定的主机地址'
}
}
subnet网段声明,作用于整个子网段
range参数:设置用于分配的IP地址池
option subnet-mask 参数: 设置客户机的子网掩码
option routers 参数: 设置客户机的默认网关地址
host主机声明,作用于单个主机
hardware ethernet 参数:指定对应主机的MAC地址
fixed-address参数:指定为该主机保留的IP地址
- 客户端
1.进入vi /etc/sysconfig/network-scripts/ifcfg-ens33
2. ifconfig查看自己目前是没有ip的
3.在配置文件里查看是不是dhcp ONBOOT=yes
几种刷新方法:
1.ifup ens33是开启
2.dhclient -d ens33
命令基本格式
dhclient [-d] [网络接口名]
例如
[root@localhost ~]# dhclient -d ens33
3.systemctl restart network
二,DHCP中继实验
命令基本格式
ip helper-address HDCPsrv-IPAddress
(HDCPsrv-IPAddress为DHCP服务器的IP地址)
步骤一:Ensp配置中继
一个三层交换,一个二层交换,两个客户机,一个server服务器;
步骤二:配置文件,网卡配置
配置cloud2,和本机vm1网卡地址;
//防止真机ip与网关冲突,ensp的小云彩,cloud为网关服务器;
######SW2二层交换机########
#
sysname SW1
#
vlan batch 10 20 30
#
interface Ethernet0/0/1
port link-type access
port default vlan 10
#
interface Ethernet0/0/2
port link-type access
port default vlan 20
#
interface Ethernet0/0/3
port link-type access
port default vlan 30
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
###########SW1三层交换机#########
#
sysname RSW2
#
vlan batch 10 20 30
#
dhcp enable
#
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.100.66
Un sh
#
interface Vlanif20
ip address 192.168.20.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.100.66
Un sh
#
interface Vlanif30
ip address 192.168.100.1 255.255.255.0
Un sh
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
Un sh
1.
Sw1上测试网络连接性,ping 192.168.100.66网卡的设置;
2.
Ping的通说明可以了;
3.检查!!!
*Ping不通首先检查配置是否正确,
*配置流程有没有错误
*vm1网卡配置是否正确
*vm1 ip是否设置匹配;(linux系统ipconfig查看一下)
步骤三: centos7设置
先连接网络,安装dhcp服务后更换VMnet1网卡
[root@localhost ~]# yum install dhcp* -y '安装dhcp服务'
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 '编辑网卡,设置IP地址相关信息'
...省略部分内容
BOOTPROTO="static" '此处要修改成static'
...省略部分内容
IPADDR=192.168.100.100 '设置IP地址相关信息'
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@localhost ~]# systemctl restart network '重启网卡,并查看IP地址配置情况'
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet)
..省略内容
[root@localhost ~]# rpm -qc dhcp '查看dhcp服务的配置文件的位置'
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cd /etc/dhcp
[root@localhost ~]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]# vim dhcpd.conf '编辑配置文件'
'其中提示查看/usr/share/doc/dhcp*/dhcpd.conf.example文件'
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf '将提示的文件复制过来,并覆盖掉dhcpd.conf'
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost dhcp]# vim dhcpd.conf '编辑配置文件'
... 省略内容
subnet 192.168.10.0 netmask 255.255.255.0 {
'从第一个subnet开始设置三台主机的IP地址'
range 192.168.10.100 192.168.10.200; '自动分配地址的地址池范围'
option routers 192.168.10.1; '网关'
option domain-name-servers 8.8.8.8; '域名'
default-lease-time 600; '默认租约时间'
max-lease-time 7200; '最大租约时间'
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200;
option routers 192.168.100.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
...省略内容
[root@localhost dhcp]# systemctl start dhcpd '开启dhcp服务'
[root@localhost dhcp]# netstat -nuap | grep dhcpd '检索udp dhcp服务端口号'
udp 0 0 0.0.0.0:67 0.0.0.0:* 3388/dhcpd
[root@localhost dhcp]# systemctl stop firewalld.service '关闭防火墙服务'
[root@localhost dhcp]# setenforce 0
步骤四:客户端验证
Pc客户端自动获取dhcp地址
Pc机命令行输入ipconfig自动获取ip地址;