17370845950

Linux DHCP如何实现IP地址分配策略

本文介绍如何在Linux系统中利用isc-dhcp-server配置DHCP服务器,实现灵活的IP地址分配策略。

一、安装ISC DHCP服务器

使用以下命令安装isc-dhcp-server:

  • Debian/Ubuntu:

    sudo apt update
    sudo apt install isc-dhcp-server
  • CentOS/Fedora:

    sudo yum install dhcp

二、配置DHCP服务器 (dhcpd.conf)

编辑/etc/dhcp/dhcpd.conf文件。以下示例配置一个简单的网络环境:

option domain-name "example.com";
option domain-name-servers 8.8.8.8, 8.8.4.4; # 使用Google公共DNS

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;
}

此配置指定了子网、IP地址池、网关和DNS服务器。 请根据实际网络环境修改这些参数。

三、自定义IP地址分配策略

使用classmatch语句实现更精细的IP地址控制。例如,基于MAC地址分配静态IP:

class "special-clients" {
  match if substring (hardware, 0, 17) = "00:16:3e:xx:xx:xx"; # 替换xx为实际MAC地址
  fixed-address 192.168.1.101;
}

此配置为特定MAC地址分配静态IP地址 192.168.1.101。

四、启动和测试DHCP服务器

启动并检查DHCP服务器状态:

  • Debian/Ubuntu:

    sudo systemctl start isc-dhcp-server
    sudo systemctl status isc-dhcp-server
  • CentOS/Fedora:

    sudo systemctl start dhcpd
    sudo systemctl status dhcpd

五、防火墙配置

确保防火墙允许DHCP流量 (UDP端口67和68):

  • iptables:

    sudo iptables -I INPUT -p udp --dport 67-68 -j ACCEPT
    sudo iptables -I OUTPUT -p udp --sport 67-68 -j ACCEPT
  • firewalld:

    sudo firewall-cmd --permanent --add-service=dhcp
    sudo firewall-cmd --reload

完成以上步骤后,你的Linux DHCP服务器即可根据配置的策略分配IP地址。 记得根据实际需求调整配置参数。