DHCP服务——服务端 和 客户端 配置
转载注明出处:https://www.cnblogs.com/kelamoyujuzhen/p/9520341.html
实验环境
rhel-server-6.4-x86_64-dvd(ED2000.COM).iso
注意:
对于使用VMware虚拟机进行实验,需要关闭针对某个WMNet的DHCP设置
搭建DHCP Server
配置本地yum源 搭建KVM环境——03 创建虚拟机后配置环境
安装DHCP服务
[root@localhost yum.repos.d]# yum -y install dhcp
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 :4.1.-.P1.el6 will be installed
--> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================
Installing:
dhcp x86_64 :4.1.-.P1.el6 vcd k Transaction Summary
===================================================================================================================================
Install Package(s) Total download size: k
Installed size: 1.9 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : :dhcp-4.1.-.P1.el6.x86_64 /
Verifying : :dhcp-4.1.-.P1.el6.x86_64 / Installed:
dhcp.x86_64 :4.1.-.P1.el6 Complete!
编辑DHCP server配置文件
[root@localhost dhcp]# pwd
/etc/dhcp
[root@localhost dhcp]# cat dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
ddns-update-style none;
default-lease-time ;
max-lease-time ;
option domain-name "cac.com";
option domain-name-servers 192.168.40.10,192.168.40.20 ;
subnet 192.168.80.0 netmask 255.255.255.0
{
range 192.168.80.10 192.168.80.100;
option routers 192.168.80.1;
}
关键字段解析
全局设置(对所有网段都起作用)
ddns-update-style none;
在没有DHCP情况下,计算机使用域名通信情况,见下图,DNS维护IP到域名映射表
在引入DHCP后,计算机一开机,由DHCP自动分配IP,导致DNS那一侧IP到域名映射关系失效,需要更新这份映射关系。可以由计算机自己更新(我们用的Windows就有这个功能),也可由DHCP代劳。ddns-update-style none;这句话的意思就是说,DHCP就不要管闲事更新DNS映射表了。见下图
default-lease-time 7200;
默认租约时间。客户机通过DHCP获取IP后,这个IP使用时间是多久。单位秒
max-lease-time 14400;
最大租约时间。正常情况下,如果客户机在default-lease-time快到期时会向DHCP续租。如果在default-lease-time期间,客户机死机了,default-lease-time时间到了,DHCP服务器并不会立即回收这个IP,他还会再等等,等的这个时间就是max-lease-time。如果max-lease-time 这么长时间还不来续租,那就回收IP方便别人再使用。
option domain-name "cac.com";
默认域名称。在一个局域网内,各个计算机之间通过名称访问,比如ftp服务器全名叫ftp.cac.com,其他客户机要想获取ftp服务就必须使用ftp.cac.com全名(DNS会把这个全名解析成IP)。使用这个字段就可以直接使用ftp通信了。
option domain-name-servers 192.168.40.10,192.168.40.20 ;
指定域名解析服务器,多个域名解析服务器用逗号隔开
子网设置
subnet 192.168.80.0 netmask 255.255.255.0
标记哪个子网
range 192.168.80.10 192.168.80.100;
DHCP分配IP地址范围
option routers 192.168.80.1;
这个子网的网关是什么,每个子网的网关都不一样。
子网也可以设置租约时长,如果和全局设置一样就没必要写了。
启动DHCP服务
service dhcpd start
检查侦听端口
[root@WebServer ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /master
tcp ::: :::* LISTEN /sshd
tcp ::: :::* LISTEN /master
udp 0.0.0.0: 0.0.0.0:* /dhcpd
客户端配置
Linux客户端
编辑网卡配置文件etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=:8C::7B::DC
TYPE=Ethernet
UUID=76cda891-e44f--9f2c-be13f8d87292
ONBOOT=yes
NM_CONTROLLED=yes
B0OTPROTO=dhcp
重启网络服务 service network restart
在DHCP服务端/var/lib/dhcpd/dhcpd.leases文件查看租约信息
[root@localhost ~]# tail - /var/lib/dhcpd/dhcpd.leases
lease 192.168.1.100 {
starts // ::;
ends // ::;
tstp // ::;
cltt // ::;
binding state active;
next binding state free;
hardware ethernet :0c:::e3:;
}
在DHCP客户端/etc/resolv.conf文件可以看到从DHCP服务器获取的信息。客户端这一侧租约信息在/var/lib/dhclient/dhclient-ethe.leases文件里面记录
对于有图形界面的Linux发行版还可以使用图形界面来设置,设置完后重启网络服务
Windows客户端
Windows命令行执行ipconfig查看获取的IP地址。
ipconfig /release告诉DHCP服务器释放租约。如果这时候新加入一台计算机(使用DHCP获取IP),会获取之前释放的哪个IP
ipconfig /renew 重新获取IP地址
DHCP服务器分配原则:尽量让客户端使用原来的IP地址
给特定的服务器保留固定IP地址
如何理解这种场景
有机房A、B,分别在50和60网段。教师要在两个教师上课,课堂上学生需要访问老师的共享文件,学生只知道老师的IP是8,但是由于DHCP是随机分配IP,教师的IP可能就不是8。通过在DHCP服务器一侧设置具体某台机器的IP就可以满足上面场景要求。注意DHCP服务器是通过MAC标识计算机的。
DHCP服务端配置如下
ddns-update-style none;
default-lease-time ;
max-lease-time ;
option domain-name "cac.com";
option domain-name-servers 192.168.40.10,192.168.40.20 ;
subnet 192.168.80.0 netmask 255.255.255.0
{
range 192.168.80.10 192.168.80.100;
option routers 192.168.80.1;
host win2012
{
hardware ethernet :8C::7B::DC;
fixed-address 192.168.80.50
option domain-name "cs.com";
}
}
DHCP夸网段分配IP地址
见下图
学校共4各学院,其中计算机学院最关机,存放所有重要服务器,其他学院都是些普通计算机。4个学院4个网段,对于DHCP服务器而言,其作用主要就是分配个IP,任务量并不大,没必要每个学院都布置一个,其他学院只需要访问计算机学院的DHCP服务器获取IP即可。
这里面有个问题,就是DHCP客户端向DHCP服务端发起分配IP请求,是通过广播进行的。但是由于是跨网段通信,路由器隔绝广播域,导致广播数据包不能传输到计算机学院,因此其他学院也就无法自动获取IP。
解决问题的办法是DHCP中继,他在路由器上设置。客户端的广播请求经过路由器会变成一个定向转给DHCP服务器。这有点类似于NAT地址转换,假设计院,软院,光电,通信分别是192.168.40.0/24、92.168.50.0/24、92.168.60.0/24、92.168.70.0/24。个网段网管均为X.X.X.1,软院有个计算机192.168.50.55的广播包经过路由器会被替换成192.168.50.1
以上是原理部分,具体路由器如何设置,是网管的工作了。
DHCP服务——服务端 和 客户端 配置的更多相关文章
- 红帽学习笔记[RHCE]OpenLDAP 服务端与客户端配置
目录 OpenLDAP 服务端与客户端配置 关于LDIF 一个LDIF基本结构一个条目 属性 Object的类型 服务端 安装 生成证书 生成默认数据 修改基本的配置 导入基础数据 关于ldif的格式 ...
- seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案
seata服务端和客户端配置(使用nacos进行注册发现,使用mysql进行数据持久化),以及过程中可能会出现的问题与解决方案 说明: 之所以只用nacos进行了注册与发现,因为seata使用naco ...
- shadow服务端、客户端配置流程
服务端 系统环境 CentOS 7 64位,由于系统自带python,shadowsocks服务端我们选择python版,过程如下 yum install python-setuptools & ...
- 综合架构之Rsync备份服务,服务端和客户端配置
服务端配置(即备份服务器) ps:客户端配置见下方 配置一个新服务的步骤: 第一步:先将该服务下载 yum install -y rsync 第二步:编写服务配置文件 配置文件:/etc/rsyncd ...
- Linux Yum仓库介绍及服务端及客户端配置
YUM服务器 适合在于内网使用,因为很多包需要国外的网站下载应用包,这样网络很不稳定 下载慢,所有为何不尝试搭建 自己内部的YUM服务器呢 YUM服务器搭建 一 创建yum仓库目录 #mkdir -p ...
- react全家桶-服务端与客户端配置
全家桶内装有: react - github react-router - github redux - github react-redux - github react-router-redux ...
- NFS服务端与客户端配置
#首先确认系统中是否安装了对于的软件 rpm -qa|grep -i nfs #在有网络的情况下使用YUM安装NFS.rpcbind软件包 yum install lrzsz nmap tree do ...
- DNS服务——服务端 和 客户端 配置
参考:Linux下DNS主从服务器搭建详解 前言 电脑经常会出现一些网络小毛病.有的时候,QQ能正常上网,但是网页却打不开.这种时候十有八九是DNS出问题了. QQ在DNS不可用的时候,可以跳过DNS ...
- PHP 文件上传服务端及客户端配置参数说明
文件上传服务器端配置: ·file_uploads = On, 支持HTTP上传 ·upload_tmp_dir = , 临时文件保存的目录 ·upload_max_filesize=2M, 允许上传 ...
随机推荐
- 【Leetcode_easy】965. Univalued Binary Tree
problem 965. Univalued Binary Tree 参考 1. Leetcode_easy_965. Univalued Binary Tree; 完
- 使用第三方Java类库jaudiotagger完成Flac音频文件metadata(元数据)的读和修改
最近需要使用Java Swing做个读写Flac格式音频文件的小GUI工具,虽然Mp3tag完全可以完成Flac的读写(编辑)任务,但是为了简化工作流程(编辑Flac信息后调用其它系统的接口完成部分信 ...
- qt linux下自动检测U盘热插拔
如果用U盘来更新软件,需要先删除当前的可执行文件,但是如果删除之后,复制失败的话会导致后续没有文件可以运行了.一个方法是将新的可执行文件放到另一个目录中,当copy成功后修改linux的启动文件,然后 ...
- juc-locks包
1. 简介 java.util.concurrent.locks 包含常用的锁实现,重点研究AbstractQueuedSynchronizer.ReentrantLock.ReentrantRead ...
- 在 .Net 项目中生成Report小记
背景 项目为WinForm + WCF 的应用,按照给定格式生成Report,显示在WinForm窗体上并可以导出为PDF和Excel文件. 分析 之前用过DevExpress For WinForm ...
- 关于Python编码这一篇文章就够了
概述 在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦.在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和UnicodeEnc ...
- C/C++中内存泄漏、内存溢出与野指针的解释与说明
1.内存泄漏 内存泄漏是指我们在堆中申请(new/malloc)了一块内存,但是没有去手动的释放(delete/free)内存,导致指针已经消失,而指针指向的东西还在,已经不能控制这块内存, 所以就是 ...
- Spring Boot使用@Value注解获取配置文件中的属性
获取配置文件的内容——
- python 流程判断
import getpass# print("hello word") ## name= 'pangxiao'# mix_name=name# print(mix_name,nam ...
- 解决batik使用JScrollPane显示svg图滚动条不显示的问题
// 必须使用batik提供的JSVGScrollPane,使用swing自己的组件JScrollPane初始化时滚动条不会显示. JSVGScrollPane svgJScrollPane = ne ...