本文介紹如何在Linux系統中搭建DHCP服務器,實現IP地址的自動分配。 我們將以ISC DHCP Server和dnsmasq為例,講解配置過程。
一、安裝DHCP服務器
首先,你需要安裝DHCP服務器軟件。 常用的有ISC DHCP Server (isc-dhcp-server) 和dnsmasq。
sudo apt update sudo apt install isc-dhcp-server
- centos/RHEL系統 (ISC DHCP Server):
sudo yum install dhcp
二、配置DHCP服務器
配置文件位置:
- ISC DHCP Server: /etc/dhcp/dhcpd.conf
- dnsmasq: /etc/dnsmasq.conf
ISC DHCP Server 配置示例 (/etc/dhcp/dhcpd.conf):
option domain-name "example.com"; option domain-name-servers 8.8.8.8, 8.8.4.4; default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; option routers 192.168.1.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option domain-name-servers 8.8.8.8, 8.8.4.4; }
dnsmasq 配置示例 (/etc/dnsmasq.conf):
interface=eth0 dhcp-range=192.168.1.10,192.168.1.100,255.255.255.0,12h dhcp-option=option:router,192.168.1.1 dhcp-option=option:dns-server,8.8.8.8,8.8.4.4
請根據你的實際網絡環境修改IP地址和網關等信息。
三、啟動和啟用DHCP服務
- ISC DHCP Server:
sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server
- dnsmasq:
sudo systemctl start dnsmasq sudo systemctl enable dnsmasq
確保你的網絡接口配置正確,并允許DHCP服務器訪問該接口。
auto eth0 iface eth0 inet dhcp
- CentOS/RHEL (/etc/sysconfig/network-scripts/ifcfg-eth0):
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
重啟網絡服務使配置生效 (例如:sudo systemctl restart networking)
五、驗證DHCP服務
檢查DHCP服務器狀態:
sudo systemctl status isc-dhcp-server # ISC DHCP Server sudo systemctl status dnsmasq # dnsmasq
在客戶端設備上檢查是否獲取到IP地址:
ip addr show eth0 # 將eth0替換為你的網絡接口名稱
如果客戶端成功獲取IP地址,則DHCP服務器配置成功。 請注意,以上配置示例僅供參考,你需要根據你的實際網絡環境進行調整。