了解DHCP协议工作原理

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)提供了动态配置IP地址的功能。在DHCP网络中,客户端不再需要自行输入网络参数,而是由DHCP服务器向客户端自动分配。

IP地址租用的过程

IP租用请求

IP租用提供

IP租用选择

IP租用确认

获取IP地址后的处理过程
客户端重新登录时的IP处理

DHCP客户端每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。

IP地址的续约

DHCP的租约期限一般默认是8天,DHCP客户端必须在租约过期前对它进行续约。

配置DHCP服务

规划IP地址段
确定DHCP服务器应分发给客户端的IP地址范围。
192.168.10.0/24
192.168.10.100-192.168.10.200
为客户端确定正确的子网掩码
255.255.255.0
总经理专用地址:192.168.10.8(保留地址)
确定DHCP服务器不应向客户端分发的所有IP地址。
决定IP地址的租约期限
网关地址:192.168.10.254
DNS服务器地址:192.168.10.1
dhcp服务的安装与基本配置
安装DHCP服务
安装DHCP服务
执行“yum install dhcp”命令进行安装,在RHEL6系统中所对应的rpm安装包为“dhcp.x86_64 12:4.1.1-31.P1.el6”。
服务名称:dhcpd
主配置文件:/etc/dhcp/dhcpd.conf 默认设置如图 样板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample dhcpd.conf配置文件的格式如下:
全局参数
声明 {
配置选项/局部参数
配置选项/局部参数
……
}

配置好的dhcpd.conf文件

option domain-name-servers 192.168.80.1  设置DNS服务器选项,可放在全局部份。
Subnet 192.168.80.0 nemask 255.255.255.0 用于定义作用域
Range 192.168.80.21 192.168.80.254 指定当前作用域中可供分配的IP地址范围
Option routers 192.168.80.2 指定当前作用域的网关
default-lease-time 86400 默认租约时间,单位为秒
max-lease-time 172800 最大租约时间,一般设置为默认租约时间的2倍
启动dhcp服务
Service dhcpd start
chconfig --level 35 dhcpd on
windows客户端的配置与测试
关闭VMWare虚拟网卡的DHCP功能

测试能否租用到IP地址

IP地址的释放与重新申请
在Windows客户端有两条非常重要地与DHCP服务相关的命令:
ipconfig 查看本机的IP基本信息
Ipconfig /all 查看本机的IP详细信息
ipconfig /release:释放已经获得的IP地址。
ipconfig /renew:重新申请IP地址。
“ipconfig /release”命令可以在IP租约未到期之前,主动将地址释放掉。而执行“ipconfig /renew”命令可以强制开始地址申请过程,使客户端重新获得新的IP地址。
自动专用IP地址
自动专用地址是指169.254.0.0/16网段中的地址,这是一个临时的备用地址,即如果客户端未能从DHCP服务器处申请到IP地址,而且也没有在“TCP/IP属性”设置中启用
“备用配置”时,系统会自动分配一个临时地址。
保留特定的IP地址
保留IP地址的作用
DHCP服务器可以保留特定的IP地址给指定的客户端使用,也就是说,当这个客户端每次向DHCP服务器索取IP地址或更新租约时,DHCP服务器都会给该客户端分配相同的IP地址。
保留IP地址的配置

Option domain-name-servers 192.168.10.1;
Subnet 192.168.10.0 netmask 255.255.255.0{
Range 192.168.10.20 192.168.10.254;
Option routers 192.168.10.2;
Default-lease-time 86400;
Max-lease-time 172800;
Host teacher{ Hardware ethernet 00:0C:29:21:98:D6;
Fixed-address 192.168.10.100; }
“host teacher”,指定为其保留IP地址的客户端名称,名称可以随便设置,如这里为“teacher”。
“hardware ethernet”,指定客户端计算机的MAC地址。
“fixed-address”,指定对应的保留IP地址。 了
Linux客户端配置
配置Linux客户端的网卡配置文件
配置Linux客户端的网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=”yes”
BOOTPROTO=dhcp
重启网卡
Ifdown eth0
Ifup eth0
查看获取的IP地址
Ifconfig
多个作用域的配置
ddns-update-style none;
option domain-name-servers 192.168.10.1; subnet 192.168.10.0 netmask 255.255.255.0 {
range 168.20.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name "internal.example.org";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option domain-name "internal.example.org";
option routers 192.168.20.1;
option broadcast-address 192.168.20.255;
default-lease-time 600;
max-lease-time 7200;
}
配置超级作用域
什么是超级作用域呢?将多个作用域组合在一起形成超级作用域
ddns-update-style none;
shared-network test {
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name-servers 192.168.10.1;
option domain-name "internal.example.org";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 192.168.0.1;
option domain-name "internal.example.org";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
host web {
hardware ethernet 00:0C:29:9D:EA:33;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
Fixed-address 192.168.0.110;
}
host DNS {
hardware ethernet 00:0C:29:9D:EA:33;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
Fixed-address 192.168.0.110;
}
配置DHCP中继代理服务器
中继代理服务器网卡地址配置
eth0:  192.168.10.2
eth1: 192.168.0.1
在dhcp服务器上配置静态路由
ip route add 192.168.0.0/24 via 192.168.10.2
在中继服务器上开启转发功能:vim /etc/sysctl.conf
修    改:net.ipv4.ip_forward=1
启用转发:sysctl -p
在中继服务器上安装dhcp服务
配置主配置文件
Subnet 192.168.10.0 netmask 255.255.255.0{
Range 192.168.10.20 192.168.10.254;
Option routers 192.168.10.2;
Default-lease-time 86400;
Max-lease-time 172800;
}
Subnet 192.168.20.0 netmask 255.255.255.0{
Range 192.168.0.20 192.168.20.254;
Option routers 192.16820.1;
Default-lease-time 86400;
Max-lease-time 172800;
}
配置中继代理
配置中继代理: vim /etc/sysconfig/dhcrelay
修改:INTERFACES=“eth0 eth1”
DHCPSERVERS=“192.168.10.1”
重启服务:service dhcrelay start

Linux:DHCP服务器的搭建的更多相关文章

  1. Linux常见服务器——DHCP服务器的搭建

    一.基础知识: 1.DHCP简介: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP ...

  2. Linux服务器架设篇,DHCP服务器的搭建

    学习之前,我们首先来看一个案例: 假如你是一个学校的网络管理老师,需要为教室的70多台电脑配置好网络你会怎么办? 一台一台的给他们配置? 在这里我特别欣赏鸟哥的一句话--"当管理员最大的幸福 ...

  3. DHCP服务器的搭建及抓包分析DHCP的实现

    原文:http://blog.51cto.com/liwenhui/105129 1.环境搭建:     DC&DHCP SERVER     IP:192.168.1.254 ( 这是一台D ...

  4. linux DHCP 服务器

    配置  1:/etc/dhcp.conf 配置文件 2:dhcp.leases 启动 dhcp 服务器 linux dhcp客户端 windows dhcp 客户端

  5. RHEL7.2下DHCP服务器的搭建

    DHCP(?Dynamic Host Configuration Protocol)是一种帮助计算机从指定的DHCP服务器获取配置信息的自举协议 请求配置信息的计算机叫做DHCP客户端,而提供信息的叫 ...

  6. DHCP服务器的搭建

    dhcp笔记整理:http://services.linuxpanda.tech/DHCP/index.html 1 dhcp简介 DHCP原理 动态主机配置协议(Dynamic Host Confi ...

  7. NTP时间服务器+DHCP服务器的搭建

    一.构建NTP时间服务器 ntp服务器监控端口UDP:123 安装ntp和ntpdate 命令:yum  -y install ntp netdate 修改配置文件/etc/ntp.conf 启动nt ...

  8. Linux samba服务器的搭建

    目录 1. 安装samba 2. 配置smb.conf 3. 创建samba登陆用户 4. 创建samba共享文件夹 5. 重启samba服务 6. 访问samba共享文件夹 7. 参考资料 1. 安 ...

  9. Linux SVN服务器的搭建配置及分支的创建与合并

    第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...

随机推荐

  1. python-基础r/R、b、u/U含义

    1.r/R,代表非转义的原始字符串,一般使用在正则表达式和win目录上 2.b“” 代表b后面的内容为bytes类型 3.u/U 表示对字符串进行unicode编码,一般使用在有中午的地方,防止乱码.

  2. STM32基本GPIO操作:按键输入(扫描+外部中断)

    (涉及专有名词较多,难免解释不到位,若有错误还请指出,谢谢!) 硬件连接图如下: 一.扫描 思路是在main函数中通过死循环来扫描端口电平状态检测,以此判断按键是否按下.实现较为简单. 1.初始化(注 ...

  3. latex 对中文字体设置的一些解决

    latex 对中文字体设置的一些解决 直接使用Xelatex编译带中文的文件时,会出现无法识别的错误,这是因为latex默认的环境不支持中文,这时可以使用CTex 宏集.ctex 宏包或xeCJK 宏 ...

  4. Django-如何写好一个celery定时任务

    1.首先在项目同名目录下建一个celery.py from __future__ import absolute_import import os from celery import Celery ...

  5. ReactNative: 使用网页组件WebView组件

    一.简介 在移动端开发中,很多时候需要嵌入一个网页来帮助实现某一个活动,这方式大大提高了活动快速迭代的灵活性,在RN中,同样也这么处理这种情况的.其实,这种混合式开发称为Hybird APP,它们就是 ...

  6. python 打飞机项目 ( 基类封装 )

    项目代码 | plane # -*- coding:utf-8 -*- import pygame, time from Plane import Plane from HeroPlane impor ...

  7. tl-wr742n 怎么设置dns

    打开无线路由器,用笔记本设置,点击无线网络,点击连接需要设置的无线路由  在弹出的菜单点击[是]  在无线路由器有的背面有个标签,上面PIN码,输入PIN码  打开IE浏览器在地址栏输入192.168 ...

  8. Xamarin 开发环境搭建

    一.安装环境 打开 Visual Studio Installer,点击修改,然后勾选 "使用 .NET 的移动开发" 二.移动SDK SDK默认被放置在了E:\Program F ...

  9. (七十七)c#Winform自定义控件-采样控件-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  10. Flask 教程 第十四章:Ajax

    本文翻译自The Flask Mega-Tutorial Part XIV: Ajax 这是Flask Mega-Tutorial系列的第十四部分,我将使用Microsoft翻译服务和少许JavaSc ...