阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DHCP协议详解与在Linux上的配置

155次阅读
没有评论

共计 2405 个字符,预计需要花费 7 分钟才能阅读完成。

dhcp 理论部分

    dhcp:在一个局域网中为计算机分配和 IP 地址、子网掩码、默认网关等的一种协议
    协议使用端口:

            服务器端:监听在 udp67 端口

            客户端:监听在 udp68 端口

    dhcp 地址租约过程

DHCP 协议详解与在 Linux 上的配置

    1、客户端发送 dhcpdiscover 广播报文,源地址为 0.0.0.0, 目的地址为 255.255.255.255, 目的端口为 udp67

    2、服务器相应并发送 offer 广播报文,源地址为 0.0.0.0, 目的地址为 255.255.255.255, 目的端口为 udp68
    3、客户端发送 dhcprequest 广播报文
    4、服务段发送一个 ack 广播报文,告诉 DHCP Client 可以使用该 IP 地址
注意要点:
    1、一个局域网中有多个 dhcp 服务器时,当一个客户端发送 discover 报文时会收到多个 offer 报文,客户端将使用最先收到的 offer 报文的服务器提供的 ip 地址
    2、request 报文使用广播的原因:为了通知所有 DHCP 服务器自己将选择哪一台服务器提供的 IP 地址

    3、使用 dhcp 获取的 ip 地址有一个租约时长,租约过期后,DHCP 服务器将回收该 IP 地址,若客户端想继续使用必须续约,一般的续约方法是:租期过半时,客户端向服务端发送 dhcp renew 报文来续约。

dhcp 服务器的安装和配置
实验环境:CentOS6.8
1、安装 dhcp 和 dhcp-common 软件包
yum install -y dhcp                          \\dhcp 的主程序包

yum install -y dhcp-common            \\ 被服务器和客户端使用的共同文件

2、复制配置文件
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
3、修改配置文件
vim /etc/dhcp/dhcpd.conf

全局配置
option domain-name “lzs.org”;          #定义 DNS 域名
option domain-name-servers ns1.lzs.org, ns2.lzs.org;    #定义 DNS 服务器地址
 
default-lease-time 600;        #定义默认客户端租约 IP 的时间长度,单位是秒
max-lease-time 7200;            #定义最大客户端租约 IP 的时间长度,单位是秒
 
局部配置
subnet 192.168.10.0 netmask 255.255.255.0 {
  range  192.168.10.10 192.168.10.250;
  option domain-name-servers ns11.lzs.org,ns12.lzs.org; #定义 dns 服务器(会覆盖全局配置中的 dns 服务器配置)
  option domain-name “internal.example.org”;    #定义 DNS 域名(会覆盖全局配置中的域名配置)
  option routers 192.168.10.1;  #定义客户端的默认网关
  option broadcast-address 192.168.10.255;      #定义广播地址
  default-lease-time 600;      #定义默认客户端租约 IP 的时间(会覆盖全局配置的相关配置)
  max-lease-time 7200;          #定义最大客户端租约 IP 的时间(会覆盖全局配置中的相关配置)
}
# 为某一主机分配固定 IP
host lzs {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address 192.168.10.2;
}
# 为公司员工分配一个地址段,为来访人员分配另外地址段,且租约时长不同
class “Inside” {
        match if substring (option vendor-class-identifier,0,4)=”SUNW”;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
        option routers 192.168.2.254;
 
# 公司员工
        pool{
                option domain-name-servers ns1.lzs.org;
                max-lease-time 7200;
                default-lease-time 600;
                range 192.168.2.10 192.168.2.100;
                allow members of “Inside”;
            }
# 来访人员
        pool{
                option domain-name-servers ns2.lzs.org;
                max-lease-time 72000;
                default-lease-time 6000;
                range 192.168.2.150 192.168.2.250;
                allow unknown-clients;
            }
}

4、启动 dhcpd 服务
service dhcpd start

5、查看 dhcpd 监听的端口

netstat -ulnp |grep dhcpd

DHCP 协议详解与在 Linux 上的配置

可以看到 dhcpd 已经监听在 udp 的 67 号端口上了

注意要点:
    1、作为 dhcp 服务器,服务器本身的 ip 地址应该是静态配置的,而且在配置文件里定义的网段要与你的网卡 IP 所处网段一致,若要在一台服务器上为多个网段分配地址,必须要为服务器添加多张网卡。
    2、配置文件中每个语句要以; 结尾。
    3、配置文件中的局部配置会覆盖全局配置中的相关配置

    4、保留地址可以是作用域地址范围内的任何一个 IP 地址,即使该 IP 地址处于排除范围之内

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/134830.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2405字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中