主机特定配置
可能需要将静态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; }