Linux 搭建 dhcp 服务器
一、简介
DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于为计算机和其他网络设备分配 IP 地址以及其他网络配置信息。它允许网络中的设备自动获取 IP 地址,而无需手动配置每个设备的 IP 地址。
DHCP的工作原理如下:
- 设备启动时,它会发送一个 DHCP 请求广播,请求获取 IP 地址和其他网络配置信息。
- DHCP 服务器接收到广播请求后,从预先配置的地址池中选择一个可用的 IP 地址,并将其分配给设备。
- DHCP 服务器还可以提供其他网络配置信息,例如子网掩码、默认网关、DNS 服务器等。
- 设备接收到 DHCP 服务器的响应后,将使用分配的 IP 地址和其他配置信息配置自己的网络连接。
二、Centos安装dhcp
1. 安装
yum update && yum -y install dhcp
2. 配置
使用如下命令可以查看 dhcp 相关文件。
rpm -ql dhcp
需要修改 /etc/dhcp/dhcpd.conf
为如下内容,需要配置的一般是子网即 subnet
那块内容。
# 指定下发的dns
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
# 租约时间
default-lease-time 600;
# 最大租约时间
max-lease-time 7200;
# DHCP服务器在确认租约时是否尝试进行DNS更新
ddns-update-style none;
# 指定为权威DHCP服务
authoritative;
# 用于将 DHCP 日志消息发送到不同的日志文件,但要完成重定向,还需要修改 syslog.conf 文件
#log-facility local7;
# 子网示例,指定了 IP 地址范围、域名服务器(domain-name-servers)、域名(domain-name)、子网掩码(subnet-mask)、路由器(routers)、广播地址(broadcast-address)以及租约时间(lease-time)等选项
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option subnet-mask 255.255.255.224;
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}
# 定义一个子网
subnet 192.168.1.0 netmask 255.255.255.0 {
interface eth0;
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
}
# 针对特定主机的配置
#host passacaglia {
# hardware ethernet 0:0:c0:5d:bd:95;
# filename "vmunix.passacaglia";
# server-name "toccata.example.com";
#}
#host fantasia {
# hardware ethernet 08:00:07:26:c0:a5;
# fixed-address fantasia.example.com;
#}
# 根据客户端的类别为其分配不同的网络地址,以满足特定类别的客户端的需求。
#class "foo" {
# match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}
#shared-network 224-29 {
# subnet 10.17.224.0 netmask 255.255.255.0 {
# option routers rtr-224.example.org;
# }
# subnet 10.0.29.0 netmask 255.255.255.0 {
# option routers rtr-29.example.org;
# }
# pool {
# allow members of "foo";
# range 10.17.224.10 10.17.224.250;
# }
# pool {
# deny members of "foo";
# range 10.0.29.10 10.0.29.230;
# }
#}
3. 启动
设置开机自启动并现在立即启动。
systemctl enable dhcpd --now
三、Ubuntu安装dhcp
1. 安装
systemctl enable dhcpd --now
查看相关文件。
dpkg -L isc-dhcp-server
2. 配置
配置和 centos 配置一样,但是可以通过编辑 /etc/default/isc-dhcp-server
文件指定监听网卡。
3. 启动
设置开机自启动并现在立即启动。
systemctl enable isc-dhcp-server --now
四、Docker安装dhcp
docker run -d \
--name=dhcp \
-v /home/docker/dhcp:/var/lib/dhcp/ \
-v /home/docker/dhcp/dhcpd.conf:/etc/dhcp/dhcpd.conf \
--net=host \
--restart=always \
sirferdek/isc-dhcp-server
需要在 /home/docker/dhcp 目录下创建 dhcpd.conf,并填写必要的配置,还要创建数据库文件 dhcpd.leases 文件,该文件可以为空。
版权声明:
作者:wkweb
链接:https://www.wkweb.cn/371.html
来源:哇咔资源网
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论