DHCP的相关配置文件

/etc/dhcp/dhcpd.conf :这是IPv4DHCP的配置文件

/usr/lib/dhcpd/dhcpd.lease :这是查看DHCP分配的IP租约的相关文件

如图可以看见对应的DHCP租约的时间。以及获取对应IP的硬件地址。

/var/lib/dhclient/dhcpclient.lease :这是客户端在安装dhclient之后产生的本地的租约文件 

我们要安装了dhclient之后才会生成上面的文件

dhcp配置文件的结构有这么几种:

1、全局配置:这种全局配置项一般是设置多个作用域都具有的属性,比如租约时间,dns服务器的相关信息。当然如果某个作用域不想使用全局的配置项,只需要在作用域里面定义它想要的属性即可。

2、作用域配置:作用域配置需要使用花括号将内部作用域的属性包括起来,同时在花括号外面定义作用域的名称和网段

3、主机配置:主要是为了给主机分配固定IP。

PS!!!我们在每个配置项的后面都要加上“;”符号,否则会报错

全局配置项

1、default-lease-time 600:设置默认的租约时间,客户租约过期的时间

2、max-lease-time 7200:设置租约可以设置最大的时间

3、ddns-update-style interim:这个可以设置为none,不用过于担心

4、【allow|ignore】client-update :允许客户将与自己有关的DNS信息传给DNS服务器

5、server-name 主机名:告诉客户机它的主机名

6、option domain-name-servers 8.8.8.8 114.114.114.114 :设置客户获取到的DNS服务器IP地址

7、option domain-name “example.com” :设置客户使用的DNS服务器的域名

(如果我们创建的作用域不想使用全局配置项中的DNS服务器,也可以将6,7两句中对应的DNS服务器的IP修改之后填入定义作用域的花括号中即可)

作用域结构

subnet 192.168.1.0 netmask 255.255.255.0 {

配置参数

}

如果作用域不想使用上面全局配置中的某些配置,还可以在里面重新定义,比如DNS相关,租约相关,allow client-updates这一项也可以。

作用域内部可填入的配置参数:

range 192.168.1.2 192.168.1.20 :定义DHCP地址池的范围

option subnet-mask 255.255.255.0 :定义地址池的子网掩码

option time-offset 时间秒数 :对时差进行调整

option routers 192.168.1.1 :定义默认网关

option broadcast-address 192.168.1.255:定义地址池的广播地址

 option domain-name "example.com" :定义DNS服务器的域名

option domain-name-servers 8.8.8.8 114.114.114.114 :定义该作用域使用的DNS服务器IP地址

ntp-server 192.168.0.1 :定义ntp服务器的IP地址

nis-server 192.168.0.2 :  定义nis服务器的IP地址

上面是一个DHCP配置文件的例子 

主机配置

主机配置一般是为了给某些主机保留IP,然后我们可以单独在配置文件中指定

如:

group {

host client1{

hardware ethernet 00:11:22:33:44:55 #指定主机的硬件地址

fixed-address 192.168.1.1 #保留的IP地址

}

host client2{

hardware ethernet 00:22:22:33:44:55 #指定主机的硬件地址

fixed-address 192.168.1.2 #保留的IP地址

}

}

首先外面的group和花括号只是将内部的两个与主机相关的配置进行了包括而已,在格式上显得更有序。然后内部为host的相关配置,主要功能就是根据某些主机的硬件地址分配固定IP地址

超级作用域

为什么要用超级作用域?

假设有一个DHCP服务器用一块网卡连接到了一个局域网,那么如果采用常规的方式去定义作用域,那么生效的作用域只有与该服务器网卡同网段的作用域,其他作用域将默认不会被启用。现在假设某个公司内网的主机数量增加了,但是DHCP服务器上原先的作用域已经不够用了,这是需要创建一个与网卡不同网段的作用域去进行地址的分配,这是如果不使用超级作用域地址分配将无法进行,同时使用了超级作用域后地址池将合并为一个进行管理。

超级作用域的配置

shared-network fuck{

subnet 192.168.1.0 netmask 255.255.255.0 {
allow client-updates;
range 192.168.1.111 192.168.1.111;
option subnet-mask 255.255.255.0;
option routers 192.168.1.11;
option time-offset -28800;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
allow client-updates;
range 192.168.2.111 192.168.2.112;
option subnet-mask 255.255.255.0;
option routers 192.168.2.11;
option time-offset -28800;
}


}


如上面的例子所示,只要使用shared-network{}将定义好的普通作用域包裹在里面即可。

PS!!!!重要的事件还要再强调一遍!

每个配置项的结尾都要加上“;” ,否则将无法启动服务

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐