通过DHCP为Linux客户端分配静态IP,通常需要使用DHCP服务器的保留功能。以下是具体步骤:
编辑DHCP配置文件:
打开DHCP服务器的配置文件,通常是 /etc/dhcp/dhcpd.conf
。
sudo nano /etc/dhcp/dhcpd.conf
添加保留记录: 在配置文件中添加一个保留记录,指定客户端的MAC地址和希望分配的静态IP地址。
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 domain-name-servers 8.8.8.8, 8.8.4.4;
host client1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.101;
}
}
在这个例子中:
subnet
指定了子网。range
指定了DHCP分配的IP地址范围。option routers
指定了默认网关。option subnet-mask
指定了子网掩码。option domain-name-servers
指定了DNS服务器。host client1
是一个保留记录,hardware ethernet
是客户端的MAC地址,fixed-address
是希望分配的静态IP地址。重启DHCP服务器: 保存并关闭配置文件后,重启DHCP服务器以应用更改。
sudo systemctl restart isc-dhcp-server
编辑dnsmasq配置文件:
打开dnsmasq的配置文件,通常是 /etc/dnsmasq.conf
。
sudo nano /etc/dnsmasq.conf
添加保留记录: 在配置文件中添加一个保留记录,指定客户端的MAC地址和希望分配的静态IP地址。
interface=eth0
dhcp-range=192.168.1.10,192.168.1.100,255.255.255.0,12h
dhcp-host=00:11:22:33:44:55,192.168.1.101
在这个例子中:
interface
指定了网络接口。dhcp-range
指定了DHCP分配的IP地址范围。dhcp-host
是一个保留记录,00:11:22:33:44:55
是客户端的MAC地址,192.168.1.101
是希望分配的静态IP地址。重启dnsmasq服务: 保存并关闭配置文件后,重启dnsmasq服务以应用更改。
sudo systemctl restart dnsmasq
确保Linux客户端的DHCP客户端配置正确,通常不需要额外配置,因为DHCP客户端会自动请求IP地址。如果需要手动配置IP地址,可以编辑网络接口配置文件。
编辑网络接口配置文件:
打开网络接口配置文件,通常是 /etc/NetworkManager/system-connections/your-interface-name.nmconnection
。
sudo nano /etc/NetworkManager/system-connections/your-interface-name.nmconnection
设置静态IP地址:
在 [ipv4]
部分添加以下内容:
[ipv4]
method=manual
address1=192.168.1.101/24,192.168.1.1
dns=8.8.8.8;8.8.4.4;
在这个例子中:
method=manual
表示手动配置IP地址。address1=192.168.1.101/24,192.168.1.1
指定了静态IP地址和网关。dns=8.8.8.8;8.8.4.4;
指定了DNS服务器。重启NetworkManager服务: 保存并关闭配置文件后,重启NetworkManager服务以应用更改。
sudo systemctl restart NetworkManager
通过以上步骤,你可以通过DHCP为Linux客户端分配静态IP地址。