主机特定配置

可能需要将静态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";
            }
如何在Linux中配置DHCP服务器

安装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;
}
日期:2020-07-07 20:56:12 来源:oir作者:oir