一、Linux DHCP服務器部署步驟
根據Linux發行版選擇對應命令:
sudo apt update && sudo apt install isc-dhcp-server
sudo yum install dhcp
或 sudo dnf install dhcpserver
(Fedora)/etc/dhcp/dhcpd.conf
)。編輯主配置文件/etc/dhcp/dhcpd.conf
(建議先備份:sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
),核心配置項如下:
option domain-name "example.com"; # 域名
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服務器
default-lease-time 600; # 默認租約時間(秒)
max-lease-time 7200; # 最大租約時間(秒)
subnet 192.168.1.0 netmask 255.255.255.0 { # 子網定義
range 192.168.1.100 192.168.1.200; # IP地址池
option routers 192.168.1.1; # 默認網關
option broadcast-address 192.168.1.255; # 廣播地址
}
host printer { # 設備名稱(自定義)
hardware ethernet 00:0c:29:xx:xx:xx; # 設備MAC地址
fixed-address 192.168.1.111; # 分配的固定IP
}
配置完成后,保存并退出編輯器。
編輯/etc/default/isc-dhcp-server
(Debian/Ubuntu)或/etc/sysconfig/dhcpd
(CentOS/RHEL),指定DHCP服務器監聽的網絡接口(如eth0
):
INTERFACESv4="eth0"
DHCPDARGS="eth0"
ip addr
命令查看)。sudo systemctl start isc-dhcp-server
sudo systemctl start dhcpd
sudo systemctl enable isc-dhcp-server
sudo systemctl enable dhcpd
sudo systemctl status isc-dhcp-server
(Debian/Ubuntu)或sudo systemctl status dhcpd
(CentOS/RHEL),確認服務運行正常(顯示“active (running)”)。允許DHCP服務使用的UDP端口(67/68)通過防火墻:
sudo iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
sudo firewall-cmd --permanent --add-service=dhcp && sudo firewall-cmd --reload
sudo tail -f /var/log/syslog
(Debian/Ubuntu)或sudo tail -f /var/log/messages
(CentOS/RHEL),檢查是否有DHCP請求響應記錄;ip addr
(Linux)或ipconfig
(Windows)命令檢查是否獲取到服務器分配的IP地址。二、Linux DHCP客戶端配置
大多數Linux發行版預裝dhclient
,若未安裝,可通過以下命令安裝:
sudo apt install isc-dhcp-client
sudo yum install dhcp-client
sudo dnf install dhcp-client
。編輯/etc/dhcp/dhclient.conf
文件,可定制客戶端行為:
request subnet-mask, routers, domain-name-servers;
(請求子網掩碼、默認網關、DNS服務器);supersede domain-name-servers 8.8.8.8;
(強制使用指定DNS服務器,忽略服務器分配的DNS)。sudo dhclient eth0
(eth0
為客戶端網絡接口名稱,可通過ip addr
查看);/etc/network/interfaces
,添加auto eth0\niface eth0 inet dhcp
;/etc/sysconfig/network-scripts/ifcfg-eth0
,設置BOOTPROTO=dhcp
和ONBOOT=yes
;sudo systemctl restart networking
(Debian/Ubuntu)或sudo systemctl restart network
(CentOS/RHEL)。使用ip addr show eth0
(Linux)或ifconfig eth0
(舊版系統)命令,檢查網絡接口是否獲取到IP地址(如inet 192.168.1.x/24
),確認DHCP客戶端配置成功。