設置Linux DHCP服務器通常涉及以下幾個步驟。這里以ISC DHCP Server(一個常用的開源DHCP服務器)為例進行說明。
首先,你需要在你的Linux系統上安裝ISC DHCP Server。不同的Linux發行版有不同的包管理器,以下是一些常見發行版的安裝命令:
Debian/Ubuntu:
sudo apt update
sudo apt install isc-dhcp-server
CentOS/RHEL:
sudo yum install dhcp
Fedora:
sudo dnf install dhcp
安裝完成后,你需要配置DHCP服務器。配置文件通常位于/etc/dhcp/dhcpd.conf。
打開配置文件:
sudo nano /etc/dhcp/dhcpd.conf
以下是一個基本的配置示例:
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;
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;
}
option domain-name: 設置域名。option domain-name-servers: 設置DNS服務器地址。default-lease-time: 設置默認租約時間(秒)。max-lease-time: 設置最大租約時間(秒)。subnet: 定義子網。
range: 定義IP地址范圍。option routers: 設置默認網關。option subnet-mask: 設置子網掩碼。option broadcast-address: 設置廣播地址。option domain-name-servers: 設置DNS服務器地址。編輯/etc/default/isc-dhcp-server文件,指定DHCP服務器監聽的網絡接口:
sudo nano /etc/default/isc-dhcp-server
找到INTERFACESv4行,設置為你的網絡接口名稱(例如eth0):
INTERFACESv4="eth0"
啟動DHCP服務器并設置開機自啟:
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
你可以使用tcpdump或wireshark來捕獲網絡流量,驗證DHCP服務器是否正常工作。
例如,使用tcpdump:
sudo tcpdump -i eth0 port 67 or port 68
你應該能看到DHCP請求和響應的流量。
確保你的防火墻允許DHCP流量。例如,使用iptables:
sudo iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
sudo iptables -A OUTPUT -p udp --sport 67:68 -j ACCEPT
如果你使用的是ufw,可以這樣設置:
sudo ufw allow 67/udp
sudo ufw allow 68/udp
完成以上步驟后,你的Linux DHCP服務器應該已經成功設置并運行。