Linux DHCP服务

 DHCP

作用

DHCP动态主机配置协议作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址)

传输协议端口

服务端 UDP 67端口 

客户端 UDP 68端口

工作原理

1) 客户端广播发送DISCOVER报文寻找服务端

2) 服务端广播发送OFFER报文响应给客户端,报文中还包含地址池中的一个可用IP

3)客户端只会接收第一个发来的OFFER报文并提取出可用IP,再向服务端广播发送REQUEST报文请求使用这个可用IP

4) 服务端广播发送ACK报文响应给客户端,告知IP合法可用并提供租期信息

 

5)重新登录 DHCP客户机重新登录网络,不需要再发送DHCP DISCOVER,而是直接发送包含前一次所分配的IP地址的DHCP REQUEST请求信息

6)更新租约 DHCP服务器向客户机出租的IP地址租期到达50%时,就要更新租约。客户机向租约服务器发送DHCP REQUEST包,要求更新现有的地址租约

 

配置DHCP服务器

安装dhcp

yum install -y dhcp

查看配置文件

cd /etc/dhcp/
ls
less dhcpd.conf

根据配置文件提示查看相关文档

cd /usr/share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example

复制dhcp示例文件,依照示例修改参数

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.80.0 netmask 255.255.255.0 {         #声明要分配的网段地址
  range 192.168.80.10 192.168.80.20;                #设置地址池 对应网卡1地址
  option routers 192.168.80.254;                    #指定默认网关地址
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;           #若多个网卡多个地址,可以设置多个subnet项
  option routers 192.168.1.254;                #对应网卡2地址
}

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.20 192.168.2.30;             #对应网卡3地址
  option routers 192.168.2.254;
}

#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

若不能访问需要关闭selinux和防火墙

systemctl stop firewalld
setenforce 0

如果DHCP服务启动失败,可以查看日志文件

netstat -anpu | grep ":67"

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

使用windows虚拟机查看DHCP服务器是否成功设置 

创建vmnet2,设置仅主机模式 取消本地DHCP服务器,更改两虚拟机网络为vmnet2(同一内网)

若要模拟内网与外网,可以一机使用vmnet2(内网),一机使用vmnet3(外网)(都是仅主机模式)

Linux虚拟网络配置器设置2网卡,vmnet2(内网)、vmnet3(外网)。ifconfig查看两网卡ip地址,dhcp配置文件中对应两网卡地址设置内网与外网两网段的地址、地址池等

 

 

修改物理机vmnet2网址(虚拟机使用的也是vmnet2)保持物理机与虚拟机为同一个网段,使其能够被ssh连接

 

 禁用再启用网络适配器

 ip获取成功

 

 

在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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值