centos dhcpclient centos7配置dhcp服务器

大家好,今天来为大家解答centos dhcpclient这个问题的一些问题点,包括centos7配置dhcp服务器也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

CentOS7实现DNSDHCP动态更新详解

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@pxe~]# 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 pxelinux;

option pxelinux.magic code 208= string;

option pxelinux.configfile code 209= text;

option pxelinux.pathprefix code 210= text;

option pxelinux.reboottime code 211= unsigned integer 32;

option architecture-type code 93= unsigned integer 16;

subnet 192.168.1.0 netmask 255.255.255.0{

authoritative;

option routers 192.168.1.1;

option subnet-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"pxeclients"{

match if substring(option vendor-class-identifier, 0, 9)="PXEClient";

next-server 192.168.1.200;

if option architecture-type= 00:07{

filename"uefi/syslinux.efi";}

else{

filename"bios/pxelinux.0";}

#filename"pxelinux.0";}

}

}

[root@pxe~]# 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 access

control to limit queries to your legitimate users. Failing to do so will

cause your server to become part of large scale DNS amplification

attacks. Implementing BCP38 within your network 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服务器

dhcp是动态主机配置协议,使用udp协议,主要使用udp67和udp 68号端口

1.client端会发送dhcp discover广播包

2.dhcp服务器会回应dhcp offer广播包

3.client端会发送dhcp request广播包

4.dhcp服务器发送dhcp ack广播包

[root@mini~]# rpm-qa dhcp

[root@mini~]# cat/etc/centos-release

CentOS release 6.9(Final)

[root@mini~]# uname-r

2.6.32-696.el6.i686

[root@mini~]# uname-m

i686

[root@mini~]# yum install-y dhcp

[root@mini~]# rpm-qa dhcp

dhcp-4.1.1-53.P1.el6.centos.1.i686

[root@mini~]# rpm-qc dhcp

/etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd6.conf

/etc/openldap/schema/dhcp.schema

/etc/portreserve/dhcpd

/etc/sysconfig/dhcpd

/etc/sysconfig/dhcpd6

/etc/sysconfig/dhcrelay

/etc/sysconfig/dhcrelay6

/var/lib/dhcpd/dhcpd.leases

/var/lib/dhcpd/dhcpd6.leases

[root@mini~]# cat/etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#  see/usr/share/doc/dhcp*/dhcpd.conf.sample

#  see'man 5 dhcpd.conf'

#

查询dhcp sample文件(dhcpd.conf.sample文件为dhcp配置文件模板)

# rpm-ql dhcp

配置完成后的文件

[root@mini~]# cat/etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#  see/usr/share/doc/dhcp*/dhcpd.conf.sample

#  see'man 5 dhcpd.conf'

#

# A slightly different configuration for an internal subnet.

subnet 172.16.1.0 netmask 255.255.255.0{

range 172.16.1.10 172.16.1.30;

option domain-name-servers mini.localdomain;

option domain-name"mini.localdomain";

option routers 172.16.1.1;

option broadcast-address 172.16.1.1;

default-lease-time 600;

max-lease-time 7200;

}

查看配置是否正确

[root@mini~]#/etc/init.d/dhcpd configtest

Syntax: OK

DHCP启动失败,并查询到如下报错信息(/var/log/messages)

Nov  6 06:37:24 mini dhcpd: No subnet declaration for eth0(192.168.28.139).

Nov  6 06:37:24 mini dhcpd:** Ignoring requests on eth0.  If this is not what

Nov  6 06:37:24 mini dhcpd:   you want, please write a subnet declaration

Nov  6 06:37:24 mini dhcpd:   in your dhcpd.conf file for the network segment

Nov  6 06:37:24 mini dhcpd:   to which interface eth0 is attached.**

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: Not configured to listen on any interfaces!

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: This version of ISC DHCP is based on the release available

Nov  6 06:37:24 mini dhcpd: on ftp.isc.org.  Features have been added and other changes

Nov  6 06:37:24 mini dhcpd: have been made to the base software release in order to make

Nov  6 06:37:24 mini dhcpd: it work better with this distribution.

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: Please report for this software via the CentOS Bugs Database:

Nov  6 06:37:24 mini dhcpd:  

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: exiting.

解决办法:

这是因为DHCP程序发现没有“Not configured to listen on any interfaces”,只需要配置相应的IP到目标网卡中便可以解决这个问题。

[root@mini~]# ifconfig eth1 172.16.1.1/24

[root@mini~]#/etc/init.d/dhcpd start

Nov  6 06:43:11 mini dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1

Nov  6 06:43:11 mini dhcpd: Copyright 2004-2010 Internet Systems Consortium.

Nov  6 06:43:11 mini dhcpd: All rights reserved.

Nov  6 06:43:11 mini dhcpd: For info, please visit

Nov  6 06:43:11 mini dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file

Nov  6 06:43:11 mini dhcpd: Wrote 0 leases to leases file.

Nov  6 06:43:11 mini dhcpd: Listening on LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24

Nov  6 06:43:11 mini dhcpd: Sending on  LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24

Nov  6 06:43:11 mini dhcpd:

Nov  6 06:43:11 mini dhcpd: No subnet declaration for eth0(192.168.28.139).

Nov  6 06:43:11 mini dhcpd:** Ignoring requests on eth0.  If this is not what

Nov  6 06:43:11 mini dhcpd:   you want, please write a subnet declaration

Nov  6 06:43:11 mini dhcpd:   in your dhcpd.conf file for the network segment

Nov  6 06:43:11 mini dhcpd:   to which interface eth0 is attached.**

Nov  6 06:43:11 mini dhcpd:

Nov  6 06:43:11 mini dhcpd: Sending on  Socket/fallback/fallback-net

[root@mini~]# cat/var/lib/dhcpd/dhcpd.leases

注意:如果Linux开启了防火墙,那么需要对UDP 67和UDP 68放行。或者直接将放火墙关闭

linux启动dhcp服务器的命令linux启动dhcp

dhcp服务启动命令?

启用DHCP的方法是:

在linux中,dhcp服务器的配置比较简单,只需要掌握/etc/dhcpd.conf的配置即可。另外相关的辅助配置文件/lib/dhcpd.leases用于记录已经分配出去的Ip地址信息。

1.首先打开计算机管理,找到DHCPclient服务;

2.然后设置该服务的启动类型为自动;

3.接着打开【网络和Internet】选项,找到本地连接;

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,注册系统服务

chkconfig--add服务名称(首先,添加为系统服务,注意add前面有两个横杠)

chkconfig-leve启动级别服务名on

(说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

chkconfig-leve启动级别服务名off

(说明,off表示关闭自启动)

例如注册dhcp为系统服务并在开机时自启动:

chkconfig--adddhcp chkconfig-level3dhcpon

总结一下:第一种方法其实是将指定服务设置为开机自启动,第三种方法是将服务升级为系统服务并且设置为开机时启动,而第二种方法对于那些最好或者必须开机启动的服务最好不要使用,但是可以使用crontab来实时监测服务是否在线。

如何判断linuxDHCP服务器状态/关闭/开启命令?

1.查看是否设置开机启动

chkconfig--list|grepdhcpd

2.查看端口是否打开

netstat-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.com";#dhcp主机名

optiondomain-name-servers192.168.229.141;#名称服务器的地址

default-lease-time600;#默认租约秒数

max-lease-time7200;#最大租约秒数

log-facilitylocal7;#log级别

subnet192.168.229.0netmask255.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地址预留:

需要在subnet{}内部,配置host{}格式如下:

subnet192.168.229.0netmask255.255.255.0{

hostwindows1{

hardwareethernet00: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配置开机自启动:

还是老命令chkconfigdhcpdon,默认会将init级别2,3,4,5都设置为开机自启动,也可以使用chkconfig--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来管理所有的服务,所以不能再使用chkconfig命令来设置,需要使用:

#systemctlis-enabledDAEMON.service查看dhcp服务状态,相当于C5的chkconfig--listdhcpd

#systemctlenableDAEMON.service启用开机自启动dhcp服务,相当于C5的chkconfigdhcpdon

#systemctldisableDAEMON.service禁用开机自启动dhcp服务,相当于C5的chkconfigdhcpdoff

4.2.4管理dhcp服务

#systemctl{start|stop|restart|status}DAEMON.service

5.DHCP配置命令总结

一个简单dhcp服务的配置文件至少需要包含如下的配置信息:

dhcpd.conf

optiondomain-name

optiondomain-name-servers

optionrouters

subnetNETWORKnetmaskMASK{

rangeSTART_IPEND_IP;

hostHOSTID{

hardwareethernet00:11:22:33:44:55;

fixed-addressIP;

}

}

========================================================

例子:

dhcpd.conf

optiondomain-name"richie.com";

optiondomain-name-servers192.168.229.141;

default-lease-time600;

max-lease-time7200;

log-facilitylocal7;

subnet192.168.229.0netmask255.255.255.0{

range192.168.229.201192.168.229.220;

optionrouters192.168.229.1,192.168.229.2;

hostwindows1{

hardwareethernet00:0c:29:30:f3:44;

fixed-address192.168.229.211;

}

阅读剩余
THE END