DHCP服务器
了解DHCP服务
什么是DHCP服务?
DHCP的全程是Dynamic Host Configuration Protocol,又叫动态主机配置协议,是一种网络协议,用于自动为网络中的设备(主机)分配 IP 地址、子网掩码、默认网关、DNS等网络参数。
简单理解:当你电脑或手机连接到网络时,不用手动设置IP地址,DHCP服务器就会自动分配给你一个可用的 IP。
作用:
- 自动分配 IP,减少人工配置错误
- IP地址复用和集中管理
- 动态管理网络设备,适合大规模网络
DHCP分配IP地址机制
DHCP分配IP地址的几种策略:
- 动态分配(Dynamic Allocation)
- DHCP 服务器从一个 IP 地址池(Pool)中动态分配给客户端。
- IP 有租期(Lease Time),过期后可能分配给其他设备。
- 适用于大多数场景,例如家庭网络、公司网络。
- 自动分配(Automatic Allocation)
- DHCP 服务器会永久分配一个 IP 给客户端。
- 一旦分配,IP 会“记住”该设备的 MAC 地址,下次连接时仍分配相同 IP。
- 适用于固定设备,但不如静态配置灵活。
- 手动分配 / 静态分配(Static / Manual Allocation)
- 管理员在 DHCP 服务器上绑定 MAC 地址和固定 IP。
- 客户端每次连接都会分配相同的 IP。
- 常用于服务器、打印机、摄像头等固定设备。
注意事项:
1.只能有一个权威DHCP服务器:在同一个网段中,如果存在多个DHCP服务器且都分配同一段 IP,容易造成 IP 冲突,设备可能获取到错误的 IP。
2.需要子网隔离:如果网络有多个VLAN或子网,每个子网应由各自的DHCP服务器或通过DHCP中继(DHCP Relay)转发请求。
DHCP服务搭建
CentOS系统安装
yum update
yum -y install dhcp
Ubuntu系统安装
apt update
apt -y install isc-dhcp-server
配置文件
主要配置文件:/etc/dhcp/dhcpd.conf
# DHCP 全局设置
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;
default-lease-time 600; # 默认租约时间,单位秒
max-lease-time 7200; # 最大租约时间,单位秒
authoritative; # 声明该服务器为权威服务器
# IP 地址池配置
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.254; # 动态分配IP地址范围
option routers 192.168.1.1; # 默认网关
option subnet-mask 255.255.255.0; # 子网掩码
option broadcast-address 192.168.1.255; # 广播地址
}
# 静态绑定示例
host printer01 {
hardware ethernet 00:11:22:33:44:55; # 需要绑定的MAC地址
fixed-address 192.168.1.50; # 指定IP地址
}
DHCP服务监听的网卡配置
CentOS:/etc/sysconfig/dhcpd
# /etc/sysconfig/dhcpd
DHCPDARGS=eth0
Ubuntu:/etc/default/isc-dhcp-server
# /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
DHCP服务管理
CentOS系统
# 启动dhcp服务
systemctl start dhcpd
# 设置自启动dhcp服务
systemctl enable dhcpd
# 查看dhcp服务状态
systemctl status dhcpd
Ubuntu系统
# 启动dhcp服务
systemctl start isc-dhcp-server
# 设置自启动dhcp服务
systemctl enable isc-dhcp-server
# 查看dhcp服务状态
systemctl status isc-dhcp-server