大家好,如果您还对centos7配置dhcp服务器不太了解,没有关系,今天就由本站为大家分享centos7配置dhcp服务器的知识,包括centos怎么配置dhcp服务的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
一、linux启动dhcp服务器的命令linux启动dhcp
dhcp服务启动命令?
启用DHCP的方法是:
在linux中,dhcp服务器的配置比较简单,只需要掌握/etc/dhcpd.conf的配置即可。另外相关的辅助配置文件/lib/dhcpd.leases用于记录已经分配出去的Ip信息。
1.首先打开计算机管理,找到DHCPclient服务;
2.然后设置该服务的启动类型为自动;
3.接着打开【网络和Inter】选项,找到本地连接;
4.最后勾选【自动获得IP】选项即可。
linux怎么启动dhcpv4?
先用yum安装DHCP服务,命令:yum-yinstalldhcp启动:servicedhcpstart
linux下如何开机自启动dhcp服务?
1,通过编辑/etc/rc.local文件来使dhcp服务开机自启动
使用命令vi/etc/rc.local,
然后在文件最后一行添加“sudo/etc/init.d/dhcp3-serverstart”就能使dhcp服务开机自启动。
2,使用crontab任务提交计划
先写一个简单的检查dhcp服务是否启动了的脚本a.sh:
#!/bin/bash ps-ef|grepdhcp|grep-vgrep if then exit0 else sudo/etc/init.d/dhcp3-serverstart>/dev/null2>1 fi
如果在用户目录下没有cron文件,使用vi新建一个my.cron的crontab文件,将以下内容写进去:
*/5****bash$HOME/a.sh
然后crontabmy.corn提交,这样系统就会在每5分钟运行一次a.sh脚本,检测dhcp服务已经启动了,如果没有启动或者停止了就会再启动一次。
3,注册系统服务
cconfig--add服务名称(首先,添加为系统服务,注意add前面有两个横杠)
cconfig-leve启动级别服务名on
(说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)
cconfig-leve启动级别服务名off
(说明,off表示关闭自启动)
例如注册dhcp为系统服务并在开机时自启动:
cconfig--adddhcp cconfig-level3dhcpon
总结一下:第一种方法其实是将指定服务设置为开机自启动,第三种方法是将服务升级为系统服务并且设置为开机时启动,而第二种方法对于那些最好或者必须开机启动的服务最好不要使用,但是可以使用crontab来实时监测服务是否在线。
如何判断linuxDHCP服务器状态/关闭/开启命令?
1.查看是否设置开机启动
cconfig--list|grepdhcpd
2.查看端口是否打开
stat-anulp|grep:67
3.查看服务状态
/etc/
init.d/dhcpd
status
【查看是否运行dhcp服务:psaux|grepdhcp|grep-vgrep】
4:关闭dhcpd
/etc/
init.d/dhcpd
stop
5:开启hdcpd
/etc/
init.d/dhcpd
start
DHCP服务介绍及Linux下DHCP服务的管理配置?
1.DHCP服务
DHCP是DynamicHostConfigurationProtocol,动态主机配置协议,是用来在物理网络给主机分配ip的一种方式,区别于bootp,一次分配终身使用的缺点。
DHCP提出的租约的概念,使得可以根据需要动态确定主机需要的IP,并且IP可以循环使用。
2.DHCP结构
DHCP是典型的C/S结构,需要服务端启动守护进程来保证来自client段的请求能被响应,DHCP的工作原理如下:
可以通过DORA来记忆:
Client:DHCPDISCOVER#客户端向相同网络发送广播包,企图寻找DHCP服务器
Server:DHCPOFFER#如果DHCP服务段收到DISCOVER包,则向客户端回复OFFER广播包
Client:DHCPREQUEST#客户端收到来自DHCP的OFFER广播包后,则确定DHCP服务器,继续向DHCP服务器发送REQUEST包,来申请ip信息
Server:DHCPACK#DHCP服务端向客户端发送ACK包,携带ip和租约信息给客户端,DHCP发现过程结束
注意:dhcp在跨网段的路由器另一侧,则路由器需要开启dhcprelay来支持转发客户端DISCOVER的广播包给DHCP服务器,这些通过路由器的转发,都是单播
因为路由器和dhcp之间的连接是有ip信息的。
DHCP服务端端口UDP67
DHCP客户端端口UDP68
DHCPreservation:保留:
专用于某特定客户端的,不应该使用池中的;优先于池中的;
3.Linux下DHCP服务安装配置
由于CentOS6/7的系统管理机制不同,所以开机自启动服务的方式有所不同,但是配置文件,帮助文档大同小异
3.1CentOS6下DHCP安装:
#yuminstalldhcp
#通过rpm-qldhcp来查询hdcp包所创建安装的文件,我们可以分析他的使用方式:
这里列举几个比较重要的文件:
#DHCP服务配置文件:
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
#服务脚本,控制dhcp服务的启动,关闭,状态查询,reload等
/etc/rc.d/init.d/dhcpd
/etc/rc.d/init.d/dhcpd6
/etc/rc.d/init.d/dhcrelay
/etc/rc.d/init.d/dhcrelay6
#dhcp命令参数配置文件:此文件内容提供一些区段给dhcpd守护进程在系统引导时使用,dhcpd守护进程使用DHCP及BOOTP协议为主机自动分配IP
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/etc/sysconfig/dhcrelay6
#dhcp二进制程序
/usr/sbin/dhcpd
/usr/sbin/dhcrelay
#dhcp的ip租约库,可以查到ip分配情况
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
4.1CentOS6下dhcp服务配置文件管理:
4.1.1首先编辑dhcp主配置文件:
/etc/dhcp/dhcpd.conf
optiondomain-name"richie.";#dhcp主机名
optiondomain-name-servers192.168.229.141;#名称服务器的
default-lease-time600;#默认租约秒数
max-lease-time7200;#最大租约秒数
log-facilitylocal7;#log级别
sub192.168.229.0mask255.255.255.0{
range192.168.229.201192.168.229.220;#可供分配的ip段
optionrouters192.168.229.1,192.168.229.2;#如果在最近配置的optionrouters那就饮用,如果没有,那就会自动继承上一级的option
}#子网配置格式
当编辑完,保存退出,可以使用这个命令来检测语法错误:
servicedhcpdconfigtest
4.1.2配置ip预留:
需要在sub{}内部,配置host{}格式如下:
sub192.168.229.0mask255.255.255.0{
hostwindows1{
hardwareether00:0c:29:0:f3:44;
fixed-address192.168.229.222;
optionrouters192.168.0.1#这里可以针对这台机器设置optionrouters的值,而不用继承上一级的网关信息
}
}
最后,保存退出
servicedhcpdforce-reload
测试效果:
linuxclient:
dhclient-deth0
windowclient:
ipconfig/renew
4.1.3配置开机自启动:
还是老命令cconfigdhcpdon,默认会将init级别2,3,4,5都设置为开机自启动,也可以使用cconfig--level2,3,4来自己指定需要的运行级别自启
4.1.4管理dhcp服务
servicedhcpd{start|stop|restart|force-reload|condrestart|try-restart|configtest|status}
4.2CentOS7下的DHCP服务管理
4.2.1配置文件:
同CentOS6上的配置,参见4.1.1
4.2.2配置ip预留:
同CentOS6上的配置,参见4.1.2
4.2.3配置开机自启动:
由于CentOS6/7的系统服务管理机制的不同,CentOS7引入了systemd来管理所有的服务,所以不能再使用cconfig命令来设置,需要使用:
#systemctlis-enabledDAEMON.service查看dhcp服务状态,相当于C5的cconfig--listdhcpd
#systemctlenableDAEMON.service启用开机自启动dhcp服务,相当于C5的cconfigdhcpdon
#systemctldisableDAEMON.service禁用开机自启动dhcp服务,相当于C5的cconfigdhcpdoff
4.2.4管理dhcp服务
#systemctl{start|stop|restart|status}DAEMON.service
5.DHCP配置命令总结
一个简单dhcp服务的配置文件至少需要包含如下的配置信息:
dhcpd.conf
optiondomain-name
optiondomain-name-servers
optionrouters
subNETWORKmaskMASK{
rangeSTART_IPEND_IP;
hostHOSTID{
hardwareether00:11:22:33:44:55;
fixed-addressIP;
}
}
========================================================
例子:
dhcpd.conf
optiondomain-name"richie.";
optiondomain-name-servers192.168.229.141;
default-lease-time600;
max-lease-time7200;
log-facilitylocal7;
sub192.168.229.0mask255.255.255.0{
range192.168.229.201192.168.229.220;
optionrouters192.168.229.1,192.168.229.2;
hostwindows1{
hardwareether00:0c:29:30:f3:44;
fixed-address192.168.229.211;
}
二、CentOS 7实现DNS+DHCP动态更新详解
CentOS 7实现DNS+DHCP动态更新详解
windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人的电脑名字就可以很方便的远程。
linux当然也能很好的实现类似的功能。man 5 dhcpd.conf有详细描述。
昨天运维帮组织线下的沙龙,又拍云的运维总监邵海杨先生分享了一句“千金难买早知道”。是啊,就在实现动态更新的功能上,在网上找了不少*客,照着做又遇到各种问题,最后不不知道到底什么原理实现的。早知道认真看一下man,问题早解决了,对实现的原理也理解得深些。所以,在这个信息爆炸的时代,很多时候真的互联网没有让人更聪明,反而大量的信息经常把人淹没了。技术,还是需要静下心来去钻研的。
dhcp和dns的基本配置资料比较完善,此处不再赘述。有心的朋友认真看一下man 5 dhcpd.conf,瞧一眼下面配置中标红的部分,相信就能搞定了。
另外分享一个dns chroot的流程,先安装 bind,调通named,然后再安装bind-chroot
执行/usr/libexec/setup-named-chroot.sh/var/named/chroot on
停用named,启用named-chroot即可
systemctl disabled named; systemctl stop named
systemctl enable named-chroot;systemctl start named-chroot
[root@*e~]# cat/etc/dhcp/dhcpd.conf
ddns-update-style interim;
ddns-updates on;
do-forward-updates on;
allow client-updates;
allow bootp;
allow booting;
#allow client-updates;
option space Cisco_LWAPP_AP;
option Cisco_LWAPP_AP.server-address code 241= array of ip-address;
option space *elinux;
option *elinux.magic code 208= string;
option *elinux.configfile code 209= text;
option *elinux.pathprefix code 210= text;
option *elinux.reboottime code 211= unsigned integer 32;
option architecture-type code 93= unsigned integer 16;
sub 192.168.1.0 mask 255.255.255.0{
authoritative;
option routers 192.168.1.1;
option sub-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name"it.lab";
option domain-name-servers 192.168.1.200;
range dynamic-bootp 192.168.1.100 192.168.1.199;
key SEC_DDNS{
algorithm hmac-md5;
secret 7ObhTIhKeDFMR2SbbS5s8A==;
};
ddns-domainname"it.lab";
zone it.lab.{
primary 192.168.1.200;
key SEC_DDNS;
}
zone 1.168.192.in-addr.arpa.{
primary 192.168.1.200;
key SEC_DDNS;
}
default-lease-time 600;
max-lease-time 7200;
class"*eclients"{
match if substring(option vendor-class-identifier, 0, 9)="*EClient";
next-server 192.168.1.200;
if option architecture-type= 00:07{
filename"uefi/syslinux.efi";}
else{
filename"bios/*elinux.0";}
#filename"*elinux.0";}
}
}
[root@*e~]# cat/etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver(as a localhost DNS resolver only).
//
// See/usr/share/doc/bind*/sample/ for example named configuration files.
//
options{
listen-on port 53{ 127.0.0.1;192.168.1.200;};
listen-on-v6 port 53{::1;};
directory"/var/named";
dump-file"/var/named/data/cache_dump.db";
statistics-file"/var/named/data/named_stats.txt";
memstatistics-file"/var/named/data/named_mem_stats.txt";
allow-query{ any;};
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE(caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable aess
control to limit queries to your legitimate users. Failing to do so will
cause your server to bee part of large scale DNS amplification
attacks. Implementing BCP38 within your work would greatly
reduce such attack surface
*/
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key*/
bindkeys-file"/etc/named.iscdlv.key";
managed-keys-directory"/var/named/dynamic";
pid-file"/run/named/named.pid";
session-keyfile"/run/named/session.key";
};
logging{
channel default_debug{
file"data/named.run";
severity dynamic;
};
};
zone"." IN{
type hint;
file"named.ca";
};
include"/etc/named.rfc1912.zones";
include"/etc/named.root.key";
key SEC_DDNS{
algorithm hmac-md5;
secret 7ObhTIhKeDFMR2SbbS5s8A==;
};
zone"it.lab" IN{
type master;
file"it.lab.forward";
allow-update{ key SEC_DDNS;};
};
zone"1.168.192.in-addr.arpa" IN{
type master;
file"1.168.192.reverse";
allow-update{ key SEC_DDNS;};
};
三、centos怎么配置dhcp服务***linux下怎么用dhcp
dhcp服务器是用来动态分配内网IP的,咗嚛搭建一个dhcp服务器可以用于自动分配局域网IP。当然很多路由器都有这个功能了,这里以centos系统为例
查找确认dhcp服务,通过rpm-qa查询
如果没有安装的话,通过 yum install dhcp即可安装
编辑dhcp服务器主配置文件,默认是空的。我们可以去拷贝一个模板,路径在/usr/share/doc/dhcp*/dhcp.config.sample
然后我们编辑/etc/dhcp/dhcp.conf文件,具体参考如下范例。range分配的池, optiondms dns服务器,option routers网关,然后是租约的时间等
配置好之后,重启dhcp服务。/etc/init.d/dhcpd restart如果是centos7系统,通过systemctl来重启服务
查看dhcp服务器,通过ifconfig确认
linux客户端怎么用dhcp服务器找到同一个网段的电脑,修改网卡配置文件,吧bootroto改成dhcp类型
然后重启网卡服务,就会自动去获取dhcp服务器的了
等待片刻之后,再次查看IP已经分配为dhcp池的了
dhcp客户端查看,可以通过dhclient命令查看
如果是win系统,通过ifconfig/renew获取。当然要改成自动获取模式哈