Linux【DHCP配置文件详解】

闲谈DHCP

1. 什么是DHCP
既然来看这篇文章,大家都想必很清楚DHCP的作用是什么了。
2. DHCP的工作方式
假设DHCP server和它的Client(客户机)在同一个网段内,可以通过软件广播的方式来达到互相沟通。那么Clients如何向DHCP获取IP呢?
a. 每当Clients开机时或者重启网卡的时候,都会向网域内的每台计算机发送DHCP 客户端的请求给网域内的每一台计算机。只要在同一个网域内每一台计算机都会收到这包,但是不是每一台计算机都会有回应?只有DHCP Server会回应,如果同一个网域内有2台甚至更多的DHCP Server 那么到底是谁会给这个客户端分发ip呢?这个我也不能确定,应该是谁先给Clients回应就会用谁的ip。
b. DHCP Server主机响应:DHCP Server 收到这个Client这个请求后,它会根据包里Client的Mac地址与DHCP Server里的配置文件做对比Mac地址是否匹配(这里之所以会做对比是为了判断是给他动态IP还是静态IP,具体是否给那个得看你自己有没有写有关这个Mac地址的详细内容,下面会解释什么是动态和静态)如果在DHCP Serrver里有设定该Mac地址的静态IP时(每次都给予它一个固定的IP),如果该Mac没有设定静态IP的话DHCP server 主机就会给该Client一个没有占用的地址,还需要记住给这个客户机ip的时候会附带一个租约期限的(告诉这个ip可以用多长时间)
c. Client 端接受来自DHCP Server 的回应,并设置自己的网络环境。(这里我粗略的说明了下)
3. Client 在什么情况下会结束该ip的使用权呢?

  • 租约到期
  • 关闭网络接口
  • 重新开机
  • 关机等

如何安装

安装方法有2种都非常简单(下面分别是两种安装方式)

rpm -I Linux.ios目录或者DHCP的rpm的安装包路径(rpm所带的选项是小写的i)
yum -y install dhcp

如何查看DHCP的相关配置文件位置

rpm -ql grep dhcp
rpm -qc dhcp 
不要问我为什么要查看配置文件的位置(因为不同的系统貌似配置文件的位置不同,主要是因为我太懒的记这些配置文件的路径)

详解dhcp配置文件

DHCP的默认配置文件是空的,但是有DHCP的模版文件。我们只需要把这个模版放到配置文件中即可。

cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf
利用输出重定向给配置文件添加模版;
随后进入开始配置
vim /etc/dhcp/dhcpd.conf
#############################################################
#这里是全局配置(出现在配置文件的前几行)####################
option domain-name “example.org”; 设置域名
option domain-name-servers ns1.example.org, ns2.example.org; 设置DNS如果有多个要用","分割。
default-lease-time 600; 设置租约时间
max-lease-time 7200;设置最长租约时间,意思是如果超过了600m的租约时间那么最多不能超过7200m。
#########################################################
log-facility local7;日志设备类型为local7.一般日志设备类型包括mail、crontab。通过此选项可以找到该服务的日志记录路径
subnet 10.5.5.0 netmask 255.255.255.224 { 指定网段和子网掩码
range 10.5.5.26 10.5.5.30;设置要分配IP的范围,必须和指定的网段在同一网段
option domain-name-servers ns1.internal.example.org; 设置DNS如果这里没有设置,那么就会默认用全局配置的DNS,反之就会用这里的
这里就是我上面所说的以动态的方式分配ip#########################
option domain-name “internal.example.org”;设置域名(用全局的域名还是用局部的和DNS同理)
option routers 10.5.5.1;设置网关
option broadcast-address 10.5.5.31;设置广播地址
default-lease-time 600; 租约时间
max-lease-time 7200; 延续的租约时间
}
#########################################################
静态分配ip的方式############################################
host passacaglia { #host 后面跟的是主机名称
hardware ethernet 0:0:c0:5d:bd:95; 指定给那个主机静态ip(目标主机的Mac地址)
filename “vmunix.passacaglia”;文件名
server-name “toccata.fugue.com”;服务器名
fixed-address fantasia.fugue.com;这里是给指定该Mac地址主机的静态ip
}
#########################################################

1. log-facility local7;中的local7这个不理解?没关系,我会给你说的
刚刚我说了可以根据Local7来查找该服务的日志记录路径,那么如何查找呢?
vim /etc/rsyslog.conf 这里是进入rsyslog服务的配置文件
#然后在配置文件中查找local7
#save boot messages also to boot.log这句话说的很清楚了,日志保存在boot.log这个文件里。
在这里插入图片描述
在配置文件里我们有什么要注意的呢?

  1. 删除dhcpd.conf里无用的重复配置项。
  2. 不要忘了加上";"。
  3. Mac地址中间用":“分割而不是”-"。
  4. 多个DNS地址要用","分割。
  5. 域名要写在双引号里。
  6. 以上标点符号都要英文输入法输入。

你可能感兴趣的:(Linux)