当前位置:首页 > Linux > 正文

Linux如何开启自动分配IP?

安装isc-dhcp-server包,编辑/etc/dhcp/dhcpd.conf配置子网和地址池,在/etc/default/isc-dhcp-server指定监听接口,最后启动服务并设置开机自启。

在Linux系统中开启DHCP服务器需要安装并配置相关服务,以下是详细操作指南(以广泛使用的ISC DHCP Server为例,适用于Ubuntu/CentOS等主流发行版):


准备工作

  1. 系统要求

    • root用户或sudo权限操作
    • 确保服务器有静态IP(如168.1.1),避免IP冲突
    • 确认网络接口名称(通过ip a命令查看,如eth0ens33
  2. 安装依赖

    # Ubuntu/Debian
    sudo apt update && sudo apt install isc-dhcp-server -y
    # CentOS/RHEL
    sudo yum install dhcp-server -y

配置DHCP服务

  1. 编辑主配置文件

    sudo nano /etc/dhcp/dhcpd.conf

    删除原有内容,替换为以下模板(根据需求修改):

    Linux如何开启自动分配IP?  第1张

    # 全局设置
    default-lease-time 600;     # 默认租约时间(秒)
    max-lease-time 7200;        # 最大租约时间
    authoritative;              # 声明为权威服务器
    log-facility local7;        # 日志位置
    # 子网配置示例
    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 subnet-mask 255.255.255.0;       # 子网掩码
      option domain-name-servers 8.8.8.8, 8.8.4.4;  # DNS服务器
    }
  2. 指定监听网卡

    sudo nano /etc/default/isc-dhcp-server

    修改为:

    INTERFACESv4="eth0"  # 替换为你的网卡名

启动服务并验证

  1. 启动服务 & 开机自启

    sudo systemctl start isc-dhcp-server    # Ubuntu/Debian
    sudo systemctl start dhcpd              # CentOS/RHEL
    sudo systemctl enable isc-dhcp-server   # 设置开机自启
  2. 检查运行状态

    sudo systemctl status isc-dhcp-server | grep active
    # 正常显示:active (running)
  3. 查看租约记录

    tail -f /var/lib/dhcp/dhcpd.leases  # 实时监控分配的IP

防火墙放行(必需)

# Ubuntu (UFW)
sudo ufw allow 67/udp
# CentOS (Firewalld)
sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --reload

客户端测试

在另一台设备设置网络为DHCP自动获取,检查是否分配到配置范围内的IP:

# Linux客户端验证
ip a show dev eth0 | grep "inet "
# Windows客户端
ipconfig /all

故障排查

  1. 服务启动失败

    • 检查配置文件语法:sudo dhcpd -t
    • 查看日志:journalctl -u isc-dhcp-server -n 50
  2. 客户端无法获取IP

    • 确认防火墙已放行UDP 67端口
    • 确保服务器和客户端在同一局域网段

安全建议

  1. MAC地址绑定(防止未授权设备接入):
    host Printer {
      hardware ethernet 00:1A:2B:3C:4D:5E;
      fixed-address 192.168.1.50;
    }
  2. 定期更新软件sudo apt upgrade isc-dhcp-server
  3. 限制IP范围:避免与静态设备IP冲突

引用说明

  • ISC DHCP官方文档:https://kb.isc.org/docs/isc-dhcp-44-manual-pages
  • Linux网络管理指南:https://www.kernel.org/doc/html/latest/networking/
  • 配置参考:Ubuntu Server 22.04 LTS / CentOS 9 实测验证

重要提示:生产环境建议配置DHCP故障转移(Failover)或使用冗余服务器保障可用性。

0