主机特定配置
可能需要将静态IP地址设置为网络上的特定主机,例如打印机,Web服务器等。
在这种情况下,可以修改DHCP服务器配置以租用可选择的IP地址到由其定义的特定主机MAC地址。
default-lease-time 600;
max-lease-time 7200;
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option domain-name-servers 10.1.1.1, 8.8.8.8;
option routers 10.1.1.1;
}
subnet 192.168.0.0 netmask 255.255.0.0 {
}
host printer {
hardware ethernet 00:16:d3:b7:8f:86;
fixed-address 10.1.1.100;
}
host web-server {
hardware ethernet 00:17:a4:c2:44:22;
fixed-address 10.1.1.200;
}
为MAC地址00:16:d3:b7:8f:86的打印机分配 IP10.1.1.100
为MAC地址00:17:a4:c2:44:22的主机分配 IP10.1.1.200
定义DNS服务器
DHCP Server可以将另一个配置参数设置为其客户端是DNS服务器的定义。
如果您希望客户端使用IP地址为“8.8.8.8”(谷歌DNS服务器)和“10.1.1.1”的DNS服务器,可以在DHCP的配置文件中使用 domain-name-servers来实现。
default-lease-time 600;
max-lease-time 7200;
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option domain-name-servers 10.1.1.1, 8.8.8.8;
}
subnet 192.168.0.0 netmask 255.255.0.0 {
}
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option routers 10.1.1.1;
}
其他配置选项
Ubuntu客户端网络设置使用DHCP
要将客户端配置为在Ubuntu或者Debian Linux系统上使用DHCP在网络接口eth0上,
在/etc/network/interfaces文件中设置:
auto eth0 iface eth0 inet dhcp
配置DHCP中继代理
如果DHCP服务器没有访问某些特定子网,则并不意味着它无法在那里提供其服务。
首先安装DHCP中继代理:
$ sudo apt install isc-dhcp-relay
然后创建一个配置文件 /etc/default/isc-dhcp-relay,包含下面两行:
SERVERS="192.168.5.5" INTERFACES="eth0"
BOOTP支持
ISC DHCP服务器向后兼容BOOTP。
以下是要在DHCP的主要配置DHCPD.conf文件中定义的BOOTP客户端声明:
host bootp {
hardware ethernet 00:00:2e:55:12:09;
fixed-address 123.123.1.3;
filename "/path/to/tftpboot/bootp.boot";
}
安装DHCP服务器
在Ubuntu,Debian和Linux Mint上安装DHCP:
$ sudo apt install isc-dhcp-server
在CentOS,Fedora,Almalinux和Red Hat中安装DHCP:
$ sudo dnf install dhcp
基本DHCP配置
默认情况下,DHCP服务器配置不包括DHCP服务器应租用IP地址的任何子网。
因此,根据Linux系统,我们可以在尝试使用默认的dhcpd.conf配置文件启动DHCP时获取以下错误消息。
Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
检查日志文件(如/ var / log / syslog)显示更多详细信息:
No subnet declaration for eth0 (some IP address).
服务器可以连接到多个网络子网。
要启动DHCP服务器,在DHCP配置文件/etc/dhcp/dhcpd.conf中必须定义至少一个子网。
如果服务器访问了多个子网,则DHCP需要定义所有子网,即使还未想该子网上启用DHCP服务
以下是DHCP配置文件的最简单示例:
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
}
subnet 192.168.0.0 netmask 255.255.0.0 {
}
此配置文件指示DHCP服务器在子网10.1.1.0中侦听DHCP客户端请求。
此外,它将分配范围10.1.1.3- 10.1.1.254的IP地址。
它还定义了具有网络ID“192.168.0.0”的子网的空定义。
重新启动DHCP服务器使配置生效:
$ sudo systemctl restart isc-dhcp-server
DHCP默认和最大租约时间
此时,我们可以为我们的DHCP配置添加一些添加设置,即默认和最大租约时间到期。
default-lease-time“默认租赁时间”是在秒内的值,其中租赁IP地址到期将被设置为DHCP客户端不要求任何其他特定的到期租约时间Max-Lease-Time是一个值为秒的值,它定义了DHCP服务器租用的IP地址的最大到期时间
default-lease-time 600;
max-lease-time 7200;
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
}
subnet 192.168.0.0 netmask 255.255.0.0 {
}
设置默认网关
DHCP还允许客户端的网关配置。
option routers 10.1.1.1设置默认网关:
default-lease-time 600;
max-lease-time 7200;
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option domain-name-servers 10.1.1.1, 8.8.8.8;
option routers 10.1.1.1;
}
subnet 192.168.0.0 netmask 255.255.0.0 {
}
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option routers 10.1.1.1;
}
