linux中的dhcp
一.DHCP服务
① DHCP (Dynamic HostConfiguration Protocol,动态主机配置协议)
② 由Internet] C作任务小组设计开发
③ 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
④ 使用DHCP的好处
• 减少管理员的工作量
• 避免输入错误的可能
• 避免IP地址冲突
• 当更改IP地址段时,不需要重新配置每个用户的IP地址
• 提高了IP地址的利用率
• 方便客户端的配置
⑤ DHCP的分配方式
• 自动分配:分配到一个IP地址后永久使用
• 手动分配:由DHCP服务器管理员专门]指定IP地址
• 动态分配:使用完后释放该IP,供其它客户机使用
二.DHCP的租约过程
① 客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
② 分为四个步骤
(1)客户端在网络中搜索服务器
(2)服务器向客户端响应服务
(3)客户端向目标服务器发出服务请求
(4)服务器向客户端提供服务
详情:
1.客户机请求IP地址
• 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
• 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
2.服务器响应
• DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
• 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播- -则DHCP Offer消息
3.客户机选择IP地址
• DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
4.服务器确定租约
• DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
• 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
5.重新登录
• DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
6.更新租约
• 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
• 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
租约过程:

重新登录:

三.使用DHCP动态配置主机地址
① DHCP服务
• 为大量客户机自动分配地址,提供集中管理
• 减轻管理和维护成本、提高网络配置效率
② 可分配的地址信息主要包括
• 网卡的IP地址、子网掩码
• 对应的网络地址、广播地址
• 默认网关地址
• DNS服务器地址
四.安装DHCP服务器
DHCP服务器软件
• CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_ 64 .rpm
• DHCP软件包的主要文件
◆主配置文件: /etc/dhcpd.conf
◆执行程序: /usr/sbin/dhcpd、/usr/sbin/dhcrelay
详情:
配置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
cp /usr/ share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/ dhcpd. conf
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; #设置地址池
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;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.20 192.168.2.30;
option routers 192. 68.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
systemctl stop firewalld
setenforce 0
Linux客户端使用DHCP 动态获取IP
方法一:
vi /etc/ sysconfig/network-scripts/i fcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33
方法二:
dhclient -d ens33
查看租约文件
less / var/lib/ dhcpd/ dhcpd. lease
举例
安装软件包以及备份:

没有的话yum install -y dhcp安装一下



更改连接模式,配置宿主机和虚拟机网段、网关:





如何连接云:


配置相关vl接口,以及虚拟网关:


subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数):


配置中继服务器:

host主机声明(给单机分配固定的IP地址):



linux中的dhcp的更多相关文章
- 嵌入式linux中使用 DHCP功能描述
嵌入式linux中使用 DHCP功能描述 busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPT CONFIG_UDHCPC_DEFAULT_SCRI ...
- Linux中的DHCP服务
目录 DHCP DHCP的报文类型 DHCP的部署 DHCP中继(DHCP代理) DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局 ...
- linux中怎样设置DHCP
linux怎样设置DHCP 环境:RH linux 9.0 使用linux下经常使用的dhcpd包. 最新版本号 dhcp3.0.5 下载地址: 下载 1.安装: 先拷贝dhcp-3.0.5.tar. ...
- Linux中DHCP服务器的简单配置
我安装了两台linux系统,一个作为服务器,一个客户端 两个都有3个网卡, 后两个网卡聚合为zhi一个网卡:Linux 网卡聚合 两台电脑都一样. 那么如何为这个聚合网卡进行DHCP的分配呢? 1.由 ...
- Linux中DHCP服务器的简单配置(转)
我安装了两台linux系统,一个作为服务器,一个客户端 两个都有3个网卡, 后两个网卡聚合为zhi一个网卡:Linux 网卡聚合 两台电脑都一样. 那么如何为这个聚合网卡进行DHCP的分配呢? 1.由 ...
- Linux 中使用 KVM
from:http://www.php-oa.com/2010/02/22/ubutnu-kvm-vmware.html 听讲XEN很快就要从LINUX内核中去掉,redhat和Ubuntu也大力的在 ...
- Linux中ifcfg-eth0配置参数解释
Linux中设置IP地址经常使用到ifcfg-eth0这个文件. vi /etc/sysconfig/network-scripts/ifcfg-eth0 附录文件中的内容: DEVICE=eth0 ...
- linux中怎样设置dhcpd
linux中怎样设置DHCP 在 linux 以下设置 DHCP一点也不复杂﹐您全部要做的仅仅有一个文件﹕/etc/dhcpd.conf . 以下﹐我用我自己的设置文件来说说怎么改动这个文件﹕ d ...
- linux中iptables配置文件及命令详解详解
iptables配置文件 直接改iptables配置就可以了:vim /etc/sysconfig/iptables. 1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下 ...
随机推荐
- Golang的一致性哈希实现
Golang的一致性哈希实现 一致性哈希的具体介绍,可以参考:http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html 1 imp ...
- SpringBoot Validation优雅的全局参数校验
前言 我们都知道在平时写controller时候,都需要对请求参数进行后端校验,一般我们可能会这样写 public String add(UserVO userVO) { if(userVO.getA ...
- Linux云计算-02_CentOS Linux 7.X系统管理
Linux系统安装完毕,需要对Linux系统进行管理和维护,让Linux服务器能真正应用于企业中. 本章介绍Linux系统32位与64位区别.内核命名规则.引导原理.启动流程.TCP/IP协议概述.I ...
- solidity基础知识
1.solidity是一种语法类似JavaScript的高级语言,它被设计成以编译的方式生成以太坊虚拟机代码.在后续的内容中你将会发现,使用它很容易创建用于投票.众筹.封闭拍卖.多重签名钱包等等的合约 ...
- @EnableDiscoveryClient与Nacos自动注册
前一阵看到有篇博客说cloud从Edgware版本开始,可以不加@EnableDiscoveryClient注解,只要配置好注册中心的相关配置即可自动开启服务注册功能,比较好奇其中的原理,研究了一番特 ...
- WEB与游戏开发的一些区别
WEB与游戏开发的一些区别 前言 最近由于在准备期末考,以及准备实习.其实都没好好写过博客,但今天由于个人身边的一些事,所以对做web和做游戏开发的区别做个记录,以下都是从网上搜索到的资料文章,感 ...
- linux 生成密钥
p.p1 { margin: 0; font: 16px "Helvetica Neue" } span.s1 { font: 16px ".PingFang SC&qu ...
- XCTF re-100
一.无壳并拉入ida64静态调试(注释说的很明白了) 二.confuseKey是个关键函数,进入看看 发现就是将我们所输入的字符串分割,并把顺序调换了,调回来就是我们的flag. 三.flag: 提交 ...
- buu crypto 凯撒?替换?呵呵!
一. 以为是简单的凯撒加密,但是分析Ascill表,发现毫无规律,意味着要爆破出所有可能.只能用在线工具来弄了,脚本是不可能写的(狗头) 找到了,但是提交不成功,需要变成小写,用脚本转换一下,同时很坑 ...
- 保存TextBox中的文字为Path功能
保存TextBox中的文字为Path功能 今天再设计一个我自己程序的Icon时使用了Path+textbox做了图形,我不想导出为PNG,因为颜色比较单一,我又想通过代码控制颜色,所以我想完整的保存为 ...