怎么在linux安装dhcp
一首先了解DHCP的概念
DHCP是实现主机IP地址DNS等动态配置的网络协议
DNCP可以在多种操作系统中实现,包括最常用的LINUX系统和WINDOWS系统
DHCP网络服务的结构中具有服务器和客户机两个角色
DHCP服务器用于为网络中所有的DHCP客户机提供网络配置信息,在同一网络中,
DHCP服务器通常是唯一存在在
网络中的任何主机都可以配置成为DHCP客户机,向DHCP服务器发出配置请求并按照服务器返回的信息进行网络配置
二DHCP服务器能够提供的网络配置信息
1网络接口的IP地址和子网掩码
2网络接口的IP地址对应的网络地址和广播地址
3默认网关地址
4DNS服务器地址
三DHCP服务器的配置
1安装DHCP服务器软件(在RHEL4系统的安装光盘中包括RPM格式的DHCP服务器软件包,包文件的名称是dhcp-301-12_ELi386rpm),在RHEL4的第4安装光盘中,在同一张安装盘中还包括与DHCP相关的其它软件包
# cd /media/cdrom/rehat/rpms/
#ks -l dhcp
dhcp-301-12_ELi386,rpm在REL4中没有被默认安装,需要手动安装
#rpm -qa | grep dhcp
#rpm -ivh dhcp-301-12_ELi386rpm
2其中/usr/sbin/dhcpd 是DHCP服务器的执行文件,/etc/rcd/initd/dhcpd是DHCP服务器的启动脚本,虽然文件名都是DHCPD,但是文件位于不同的目录,功能也不一样
DHCPDCONF配置文件以及建立配置文件和配置文件的格式
#ls /etc/dhcp
#vi /etc/dhcpdconf
如:
subnet 19216810 netmask 2552552550 {
range 1921681100 1921681200;
}
3全局设置
全局设置是DHCPDCONF配置文件中不包括在任何声明中的配置项(参数或选项),
作用于整个配置文件当声明中没有相应的配置项时将使用全局配置项的设置,当声明
中有相应的设置项时将使用本声明中设置,而不采用全局设置项的值
DHCPCONF配置文件中常用的全局设置如下:
1) ddns-update-style参数用来设置DHCP服务器与DNS服务器的动态信息更新模式
2) 默认租约时间使用default-lease-time参数设置,参数值的单位是秒
3) 最大租约时间使用max-lease-time参数设置,参数值的单位是秒
4) 主机所在域的名称使用domain-name先项进行设置,设置的域名将与主机名称一起组成
主机全名
5)DNS服务器地址使用domain-name-servers选项进行设置,设置的值为DHCP客户端需要使用的DNS服务器的IP地址
6)使用subnet声明设置子网属性
subnet 是DHCPCONF文件中最常用的声明,用于在子网中设置动态分配的地址的网络属性,subnet声明中可包括其他的参数就不再说了
4DHCP服务器的启动与停止及重起\和DHCP服务的状态
#service dhcpd start
#service dhcpd stop
#service dhcpd restart
#service dhcpd status
三DHCP配置实例
如
默认租约时间为21600S
最大租约时间为43200S
局域网内所有主机动的域名为abccom
客户机使用的DNS服务器的IP地址是19216811
声明在子网19216810/24中用于动态分配的IP地址范围是1921681100~~~1921681200所分配的子网掩码是2552552550默认网关是19216811
在子网19216810/24中有名为server01的服务器主机,需要的固定分配IP地址是19216811,
#vi /etc/dhcpdconf
ddns-update-style interim;
default-lease-time 21600;
max-lease-time 43200;
option domaion-name "abccom;
option domain-name-servers 19216811;
subnet 19216810 netmask 2552552550 {
range 1921681100 1921681200;
option subnet-mask 2552552550;
option routers 19216811;
host server01 {
hardware ethernet bo:co:c3:22:46:81;
fixed-address 192168111;
}
}
subnet 1921682030 netmask 2552552550 {
range 192168203100 192168203119;
range 192168203131 192168203200;
default-lease-time 86400;
max-lease-time 86400;
host machine_name {
hardware ethernet 00:0f:1f:b2:11:3d;
fixed-address 1921681100;
}
}
第一节:安装软件包
用命令行安装软件包(在第5张光盘上)或直接“添加删除程序--网络服务器”,只要安装dhcp-301-59EL4i386rpm:
第二节:配置DHCP双机负载均衡
目前DHCP-Failover(虽然叫failover,但实际上是双机同时在工作)仅支持最多两个节点。配置文件和单机配置一样,依然是/etc/dhcpdconf;但出于方便管理的目的,在部署时,我们把地址池的配置放在/etc/dhcpdmaster文件中,然后在/etc/dhcpdconf中调用。
主节点的/etc/dhcpdconf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 101409;
port 520;
peer address 1014013;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
mclt 600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpdmaster";
次节点的/etc/dhcpdconf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
secondary;
address 1014013;
port 519;
peer address 101409;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
}
include "/etc/dhcpdmaster";
注意
1、两台dhcp server的时间必须同步,可用ntp
2、Dhcp Failover的互相监听地址可以采用专用网卡互相直连做心跳的方式,甚至心跳卡可以考虑双网卡绑定!从而使监听和网络数据流分开,即使网络中断亦不会因此导致dhcp双机中断,如下所示:
这种时候Failover专用接口所在网段,可在地址池中定义一个空池,不做任何地址分配操作:
subnet xxxx netmask 255255255248 {
}
本文列出的配置是采用心跳和数据网卡混用的方式。
/etc/dhcpdconf
主控服务器
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 101409;
port 520;
peer address 1014013;
peer port 519;
max-response-delay 60;
max-unacked-updates 20;
mclt 3600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpdmaster";
说明
说明这是正式(官方)服务器,而非测试用
动态DNS的更新方式,有3种1
不允许客户机更新DNS记录
每一个客户机对应一个租约信息(文件)2
指定本机所属failover域的识别码为dhcp
指定本机为主控服务器
指定本机的监听地址
指定本机的监听端口
对端的监听地址
对端的监听端口
最大无响应时间 60秒,如果地址池很多这个时间可加大3
在得到对端响应之前,最多连续发送20个消息
双机联系中断时所分配的地址的租约时间,3600秒
负载分担比例,取值0-256,128为平均分担负载
地址池文件
注1这个style参数必须是interim(推荐)、ad-hoc或者none
注2假如这个标志配置成true(enabled),当一个客户端发送一个DHCPREQUEST信息来租用租约时,服务器会自动释放任何这个客户的任何其他租约。服务器假定当一个客户端发送DHCPREQUEST信息时,他已忘记任何他没有在 DHCPREQUEST中提到的租约,例如,客户端只是个简单的网络接口,不能记住原来拥有而现在不用的租约。这些假定都是没有确保,而且不可证实的,因此小心使用这个语句。
注3如果这个值不够大,会发生地址池还未同步结束,就产生连接中断现象。在拥有近1万个地址池时,这个值被设为180。
/etc/dhcpdmaster
两个节点的地址池配置必须保持完全一致。
option domain-name-servers 101409,1014013;
default-lease-time 21600;
max-lease-time 43200;
subnet 101408 netmask 255255255248 {
option routers 1014014;
pool {
failover peer "dhcp";
range 1014011 1014012;
deny dynamic bootp clients;
}
}
#shuniu
subnet 10000 netmask 2552552240 {
option routers 10031254;
pool {
failover peer "dhcp";
range 10001 10031250;
deny dynamic bootp clients;
}
}
有多少个网段就有多少个地址池,一个个配置下去。
域名服务器
默认租约时间(6小时)
最大租约时间
定义子网/掩码
定义子网的网关
地址池
属于名为 dhcp 的failover组
地址范围,可多条range
拒绝bootp客户端
第三节:管理操作
在两个节点依次启动dhcp服务,先主后备。
# service dhcpd start
配置自动启动
# chkconfig dhcpd on
验证
# netstat -anutp | grep dhcpd
udp 0 0 0000:67 0000: 6581/dhcpd
查看地址租借信息
# cat /var/lib/dhcp/dhcpdleases
31、租约文件
dhcpd每次都会把所有的租借信息写到/var/lib/dhcpdleases文件中,上一次的租借文件被改名成dhcpdleases~
32、地址池同步
每次重启DHCP服务时,双机都会自动执行地址池同步操作。
在次服务器上:
# service dhcpd congrestart
33、查看日志信息
凡是有任何和DHCP服务器的地址分配有关的故障,都可以通过查看日志文件分析出原因并得以处理。
# tail -f /var/log/messages
其他的故障绝大部分是由于作为中转的DHCP-RELAY设备配置有问题导致。
34、简要故障
1、某台服务器无法为某个网段的客户机提供地址租借服务
有时会由于某种原因导致双机地址池无法合理分配,比如主服务器掌控了某个地址池的所有地址,这时需要先停止两个节点的dhcp服务,删除两个节点的地址租约文件,然后依次重启服务。
2、无法形成双机
请注意两个节点的时间是否一致,如果时间差距太大,比如2分钟,两台dhcp服务器将无法形成集群。可通过配置ntp保持两个节点的时间同步。
dhcp服务器,就一个配置文件,就是/etc/dhcpdconf。它是有模板的,你可以i根据模板进行修改就可以了。
搭建dhcp服务器过程很简单,安装软件、配置主配置文件,重启服务,验证是否生效。
配置文件的配置主要有全局配置、网段声明,还有主机声明(为某一台主机配置保留地址),主机声明是可选的
这个是我做实验的配置文件截下来的
//全局设置
ddns-update-stye none; //动态更新类型
ignore client-updates; //不允许客户端更新,也不要改,而且必须存在
default-lease-time 28800; //默认租期,8个小时
max-lease-time 86400 //最大租期,24个小时
option domain-name "qqcom" //默认搜索域
option domain-name-server19216810254,202106020 //DNS服务器地址,有多个DNS时要用逗号分开
//局部配置
//subnet网段声明(配置一个作用域,可覆盖全局设置参数)
subnet 192168100 netmask 2552552550{
range 1921681050 19216810100;
range 19216810120 19216810200;
option subnet-mask 2552552550;
option routers 19216810254;
}
//host主机声明(为某一台主机配置保留地址,在局部声明内,不可以在全局声明)
host printer{
hardware ethernet 00:50:56:C0:00:01;
fixed-address 192168108;
}
然后重启服务。
如果重启失败,就是配置出错,可用dhcpd命令排错,它会输出你在哪行出错了
#dhcpd建议你去网上去找更详细的配置文件详解~~懂得每个参数配置的含义
祝你好运~~
工具/原料
一台Linux主机或虚拟机(这里CentOS 65为例)
编译源码或软件源方式安装dhcp软件
方法/步骤
首先我们先了解下 DHCP,DHCP采用客户端/服务器的工作模式,由客户端向服务器发出获取IP地址的请求,服务器接收到请求后会把网络配置信息发送给客户端,实现IP地址的动态分配。DHCP提供三种地址分配策略:
1:手工分配 在服务器上指定为哪些主机分配固定的IP,也就是说这些主机永远获取的都是给它们设置好的IP。
2:自动分配 地址分配给客户机后,这个地址就永远给了客户机。这样客户机不在线也不会回收IP,会造成浪费,不同于手工分配。
3:动态分配 也是用的最多的策略了,它将IP地址分配出去后会有个租约,等租约时间到了,就会回收IP,如果主机还在线,在租约时间快到时,会向DHCP服务器发送续约请求,以便继续使用。
以上手工分配适合于打印机、其他提供web服务、ftp服务的主机等,因为它们需要一个固定的IP地址。动态分配能有效解决IP地址不够用的问题,租约到期后被回收的IP地址会重新给新请求的客户端使用。
DHCP的安装可以通过从软件源直接安装或自己编译安装。编译安装的话下载地址在:https://wwwiscorg/downloads/
这里选择编译安装DHCP,下图为DHCP源码包的官方下载页面,我们选择最新版dhcp-431targz
首先我们先解压源码包
# tar xf dhcp-431targz
指定安装目录和配置文件目录
# cd dhcp-431
# /configure --prefix=/usr/local/dhcp --sysconfdir=/etc
配置过程非常快,等配置完了可以echo $确定下是否成功
接着就可以编译安装了,请耐心等待编译完成
# make && make install
如果采用软件源安装的话直接 " yum install dhcp "即可,不过版本会比较旧
接着将配置文件复制过去,在安装目录的 server 目录中
# cp server/dhcpdconfexample /etc/dhcpdconf
生产地址池文件,用于记录已经分配出去的IP地址
# touch /var/db/dhcpdleases
接着修改配置文件,在最后添加提供服务的网段
subnet 10000 netmask 255000
{
range 100050 1000100;
}
我这里为10000网段提供服务,range定义了地址池,记得修改成适合你们的,然后就可以试着启动服务了。
# /usr/local/dhcp/sbin/dhcpd
如果是以软件源方式安装的dhcp软件,直接 service dhcpd start
我们可以用" killall dhcpd "来结束服务
服务启动后可以用 " ps aux | grep dhcpd "查看下启动的进程,DHCP服务监听 udp 67 端口,客户端以广播的方式请求IP地址,整个局域网内,没开启DHCP服务的主机就忽视掉了请求,DHCP服务器就会响应这个请求,如果同时有多个DHCP服务器在工作肯定看哪个响应的快喽!
接下来再启动台主机试试效果把,我又启动了一台XP,让其自动获取IP地址,看 是不是获取了地址池中第一个IP "100050"呢
接下来看下dhcpd的配置文件 " /etc/dhcpdconf "
dhcpdconf中由声明、注释、参数、选项四大类语句构成
注释就是"#"开头的注释信息。声明定义网络布局,刚才的subnet就属于声明。参数是定义dhcpd服务的各种网络参数,如租约的时间、主机名等。选项是以option作为开始,为客户机指定主机名、广播地址、子网掩码等
声明:
include "filename" 将指定的文件内容添加到配置文件中
shared-network 名称 {
参数
声明
} 指定共享相同网络的子网
subnet 网段 netmask 子网掩码 {
参数
声明
} 定义哪些IP分配给客户,一般与range结合使用
range 起始地址 终止地址; 定义IP范围,终止地址可以没有
host 主机名 {
参数
声明
} 定义保留地址
group {
参数
声明
} 为一组参数提供声明
参数:
ddns-hostname 名称 指定使用的主机名,不设置默认当前主机名
ddns-domainname 名称 指定域名
ddns-update-style 参数 指定DNS的更新模式 { ad-hoc | interim | none }
default-lease-time 时间 默认租约时间(单位秒)
max-lease-time 时间 最大租约时间
server-name 名称 告诉客户端服务器的名称
hardware 接口类型 硬件地址 指定客户机硬件接口类型和mac地址
fixed-address IP地址 ,IP地址 为客户端提供一个或多个IP地址,该参数只能出现在host声明中
选项: 前面需加option
broadcast-address 广播地址 指定客户端广播地址
domain-name 域名 指定客户端域名
domain-name-servers 地址 指定客户端的DNS服务器
host-name 主机名 指定客户端主机名
ntp-server 地址 指定时间服务器地址
routers 地址 指定默认网关IP
subnet-mask 子网掩码 指定客户端子网掩码
比如我们为10000网段提供服务,DNS服务器为8888,网关为1000254,子网掩码为255000,默认租约时间6小时
subnet 10000 netmask 255000
{
range 100050 1000100;
option subnet-mask 255000;
option routers 1000254;
option domain-name-servers 8888;
default-lease-time 21600;
}
看看是不是网关和DNS也被自动获取了呢。注意都要以分号结束哦
现在再试试为其配置指定的IP地址,我们先把要指定主机的网卡mac地址记下来,然后给他配置10101010这个IP
subnet 10000 netmask 255000
{
range 100050 1000100;
option subnet-mask 255000;
option routers 1000254;
option domain-name-servers 8888;
server-name mydhcp;
default-lease-time 21600;
host winXP {
hardware ethernet 00:0C:29:6E:4B:A1;
fixed-address 10101010;
}
}
这回使用了 ipconfig -all 显示的更详细了,这里连服务器的地址也列出来了,也可以使用这个参数查看网卡的mac地址
11
演示用的是Windows主机,如果是Linux主机需要修改网卡的配置文件,设置"BOOTPROTO=dhcp",然后可以通过 dhclient eth0 来给eth0这块网卡获取IP地址。
linux下dhcp服务配置教程
发布于 2017-09-05 12:06:09 | 109 次阅读 | 评论: 0 | 来源: 网友投递
LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。
这篇文章主要为大家详细介绍了linux下dhcp服务的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
1、DHCP简介
(1)DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器、WINS服务器、Gateway(网关)的设置。
(2)DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务。
(3)安装了DHCP服务软件的服务器称为DHCP服务器,启用了DHCP功能的客户机称为DHCP客户端。
2、实验要求
架设一台DHCP服务器,并按照下面的要求进行配置:
(1)为子网19216800/24建立一个IP作用域,并将在1921680100~1921680149范围之内的IP地址动态分配给客户机。
(2)假设子网中的DNS服务器地址为1921680253,域名为alicecom,将这些参数指定给客户机使用。
(3)为某台主机保留1921680120这个IP地址。
配置2台DHCP客户机,试测试DHCP服务器的功能。
根据要求完成上述DHCP实验,要求撰写完整实验教程(实验拓扑图、图文并茂的实验步骤 )
3、实验拓扑
4、实验步骤
(1)先挂载镜像,配置本地yum源
(2)解决网卡不一致问题,配置各主机IP地址
(3)将3台主机加入NAT网络,同时将NAT模式的DHCP功能关闭
(4)在dhcp-s上安装dhcp服务器(默认未安装)
[root@lyy 桌面]# yum install dhcp -y
(5)修改dhcpconf配置文件
[root@lyy 桌面]# gedit /etc/dhcp/dhcpconf /usr/share/doc/dhcp/dhcpconfsample
/usr/share/doc/dhcp/dhcpconfsample:是系统自带的dhcp配置文件的模板,可以根据需要参考复制相应内容
注意:配置文件一定要写正确,否则dhcp服务不能启动成功,如漏写 { 或 ;等等
(6)启动dhcp服务
[root@lyy 桌面]# service dhcpd start //注意是httpd
(7)修改dhcp-c1的BOOTPROTO为dhcp
[root@lyy 桌面]# gedit /etc/sysconfig/network-scripts/ifcfg-eth0
(同样的方法修改dhcp-c2)
(8)分别重启dhcp-c1和dhcp-c2的网络服务
5、结果测试
查看dhcp-c1和dhcp-c2获取的ip
dhcp-c1:
dhcp-c2:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHPERZ。
相关阅读:
linux下dhcp服务配置教程
Linux操作系统安装图文配置教程详细版
linux下的dhcp服务的完全配置(图文详解)
linux下NFS配置教程详解
Linux下Varnish缓存的配置优化方法
Linux 操作系统下Web服务器配置详细介绍
Linux下防火墙的简单配置与插入规则介绍
linux下配置yum源方法详解
Linux下安装配置MySQL
linux防火墙配置教程之允许转发实验(2)
Linux 下sftp配置之密钥方式登录详解
linux下通过xinetd服务管理 rsync 实现开机自启动
0条评论