
的Linux DHCP服务器的安装和配置
对于电缆调制解调器或DSL连接,服务提供商会将IP地址动态分配给您的PC。当您在家庭网络和调制解调器之间安装DSL或家庭电缆路由器时,您的PC将在引导过程中从家庭路由器获取其IP地址。可以将Linux系统设置为DHCP服务器,并代替路由器使用。
在您的Linux系统上,默认情况下未安装DHCP。必须通过获取root特权来安装它:
$ su-
系统将提示您输入root密码,并且可以通过以下命令安装DHCP:
# 百胜安装DHCP
满足所有依赖性后,安装将完成。
启动DHCP服务器
您将需要root特权才能启用,启动,停止或重新启动dhcpd服务:
# systemctl启用dhcpd.service
启用后,可以使用以下方式启动,停止和重新启动dhcpd服务:
# systemctl启动dhcpd.service
# systemctl停止dhcpd.service
# systemctl重新启动dhcpd.service
# systemctl停止dhcpd.service
# systemctl重新启动dhcpd.service
如果systemctl命令不可用,请使用以下命令:
# 服务dhcpd启动
# 服务dhcpd停止
# 服务dhcpd重新启动
# 服务dhcpd停止
# 服务dhcpd重新启动
要确定dhcpd是否在您的系统上运行,可以查找其状态:
# systemctl状态dhcpd.service
另一种知道是否 dhcpd 正在运行的是使用“服务'命令:
# 服务dhcpd状态
请注意,必须将dhcpd配置为在下次重新引导时自动启动。
配置Linux DHCP服务器
根据您当前正在运行的Linux安装版本,配置文件可能位于以下位置: / etc / dhcpd 要么 / etc / dhcpd3 目录。
当您安装DHCP软件包时,将创建框架配置文件和示例配置文件。两者都相当广泛,并且骨架配置文件的大多数命令开头都用#禁用。可以在以下位置找到示例配置文件 /usr/share/doc/dhcp*/dhcpd.conf.sample.
创建dhcpd.conf文件时,将为Linux系统上存在的每个接口生成一个子网段。这个非常重要。以下是一小部分 dhcp.conf 文件:
ddns-update-style临时
忽略客户端更新
子网192.168.1.0网络掩码255.255.255.0 {
#服务器的IP地址范围
#将发布给启用DHCP的PC客户端
#在网络上启动
范围192.168.1.201 192.168.1.220;
#设置以秒为单位的时间量
#客户端可以保留IP地址
默认租赁时间86400;
最大租赁时间86400;
#设置默认网关
# the PC clients
可选路由器192.168.1.1;
#不要转发来自此的DHCP请求
#与其他任何NIC的NIC接口
# interfaces
ip转发的选项;
#设置广播地址和子网掩码
#由DHCP客户端使用
选项广播地址192.168.1.255;
选项子网掩码255.255.255.0;
#设置NTP服务器使用
# DHCP clients
选项ntp-servers 192.168.1.100;
#设置DNS服务器使用
# DHCP clients
选项域名服务器192.168.1.100;
#如果您为Windows客户端指定了WINS服务器,
#您需要在dhcpd.conf文件中包括以下选项:
选项netbios-name-servers 192.168.1.100;
#您还可以根据客户端的IP地址分配特定的IP地址。
#以太网MAC地址,如下所示(主机的名称为“激光打印机”:
主机激光打印机{
硬件以太网08:00:2b:4c:59:23;
固定地址192.168.1.222;
}
}
#
#在此处列出未使用的接口
#
子网192.168.2.0网络掩码255.255.255.0 {
}
IP地址将需要更改以符合您的网络的范围。还有其他选项语句可用于配置DHCP。如您所见,某些需要固定IP地址的资源(例如打印机)会根据设备的NIC MAC地址获得特定的IP地址。
有关更多信息,您可以阅读相关的手册页:
# man dhcp-options
使用DHCP服务器进行路由
当具有DHCP配置的PC启动时,它将向DHCP服务器请求IP地址。为此,它将标准DHCP请求数据包发送到源IP地址为255.255.255.255的DHCP服务器。必须将路由添加到此255.255.255.255地址,以便DHCP服务器知道它必须在哪个接口上发送答复。这是通过将路线信息添加到 / etc / sysconfig / network-scripts / route-eth0 文件,假设要将路线添加到 eth0 接口:
#
#文件/ etc / sysconfig / network-scripts / route-eth0
#
255.255.255.255/32 dev eth0
在定义了DHCP路由的接口之后,必须进一步确保DHCP服务器仅侦听该接口,而不会侦听其他接口。为此 / etc / sysconfig / dhcpd 必须编辑文件并将首选界面添加到 DHCPDARGS 变量。如果接口要为eth0,则需要进行以下更改:
#文件:/ etc / sysconfig / dhcpd
DHCPDARGS = eth0
DHCPDARGS = eth0
测试DHCP
使用netstat命令和-au选项将显示在bootp或DHCP UDP端口上侦听的接口的列表:
# netstat -au | grep bootp
将导致以下结果:
udp 0 0 192.168.1.100:bootps *:*
此外,请检查 / var / log / messages 该文件将显示从启动dhcpd守护程序开始使用的已定义接口:
二月 24 17:22:44 的Linux-64 dhcpd:在LPF / eth0 / 00:e0:18:5c:d8:41 / 192.168.1.0 / 24上侦听
二月 24 17:22:44 的Linux-64 dhcpd:继续发送 LPF / eth0 / 00:e0:18:5c:d8:41 / 192.168.1.0 / 24
二月 24 17:22:44 的Linux-64 dhcpd:继续发送 LPF / eth0 / 00:e0:18:5c:d8:41 / 192.168.1.0 / 24
这确认DHCP服务已成功安装并正常运行。