DHCP
(Dynamic Host
Configuration Protocol,动态主机配置协议)
由Internet工作任务小组设计开发
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
·减少管理员的工作量
·避免输入错误的可能
·避免IP地址冲突
·当更改IP地址段时,不需要重新配置每个用户的IP地址
·提高了IP地址的利用率
·方便客户端的配置
·自动分配: 分配到一个IP地址后永久使用
·手动分配:由DHCP服务器管理员专门指定IP地址
·动态分配: 使用完后释放该IP,供其它客户机使用
客客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为4个部分:
服务端 UDP 67号端口
客户端 UDP 68号端口
第一步: 客户端在网络中搜索服务器。
客户端通过广播发送DHCP Discover 报文寻找服务器端
第二步: 服务器向客户端响应服务。
服务器端通过单播发送DHCP offer 报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端
第三步,客户端向服务器发出服务请求。
如果有多台DHCP服务器向该客户端发来DHCP-Offer报文,客户端只接受第一个收到的DHCP-Offer报文并提取IP地址,
然后客户端通过广播发送DRCERequest 报文告知服务器端本地选择使用该IP地址
第四步,服务器向客户端提供服务服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
(5) 重新登录
HCP 客户机每次重新登录网络时,不需要再发送 DBCP Discover 信息,而是直接发送包含前一次所分配的 P 地址的 DBCP Becuest 请求信息
(6) 事新相约
当DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request句,
要求重新现有的地址租约。
华为系统的DHCP服务器会按照由大到小的顺序从IP池里分配IP
yum install -y dhcp
cd /etc/dhcp/
ls
less dhcpd.conf
cd /usr/share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example
在Linux主机1里设置两张网卡
在Linux主机2设置一个外网网卡
在Windows主机设置一个内网网卡
注意:在使用时不要用NET模式
告诉你是空的要在哪里可以找到
vim /etc/dhcp/dhcpd.conf
cd /usr/share/doc/dhcp-4.2.5/
ls
\cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf
将有文件的目录,覆盖到没有的里面
cd /etc/dhcp/
vim /etc/dhcp/dhcpd.conf
进行配置文件里查看
永久修改ip地址
cd /etc/sysconfig/network-scripts/ 进入修改IP地址
cp ifcfg-ens33 ifcfg-ens35
vim !$ 进入后修改
vim ifcfg-ens35
两张网卡设置一个UUID就可以了
删除一个
vim ifcfg-ens33
使用
ifconfig 查看网卡设置好了没
ens33 是内网
ens35 是外网
vim dhcpd.conf 修改网段
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #yes
vim /etc/dhcp/dhcpd.conf
设置全局配置参数
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.102.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.102.102 192.168.102.205; #设置地址池 对应网卡1地址
option routers 192.168.102.254; #指定默认网关地址
}
subnet 120.120.120.0 netmask 255.255.255.0 {
range 120.120.120.200 120.120.120.200; #若多个网卡多个地址,可以设置多个subnet项
option routers 120.120.120.1; #对应网卡2地址
}
host主机声明(给单机分配固定的 IP 地址)
host hostname { #指定需要分配固定 IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的 MAC地址
fixed-address 192.168.4.100; #指定保留给该主机的 IP地址
}
后面内容可都删除
systemctl start dhcpd
netstat -lnup | grep dhcpd
netstat -lnup | grep 67
netstat -anpu | grep ":67"
#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages
在ensp中配置DHCP 中继 基本不用 没有意义
dhcp enable #开启DHCP功能
#
interface Vlanif10
ip address 192.168.1.254 255.255.255.0
dhcp select relay #开启DHCP中继功能
dhcp relay server-ip 192.168.80.10 #指向DHCP服务器的地址
#
interface Vlanif20
ip address 192.168.2.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
#
interface Vlanif100
ip address 192.168.80.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
Linux客户端使用 DHCP 动态获取IP
#方法一:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33
#方法二:
dhclient -d ens33
查看租约文件
less /var/lib/dhcpd/dhcpd.lease