温馨提示×

ubuntu dhcp服务器搭建步骤

小樊
40
2025-09-27 05:52:22
栏目: 云计算

Ubuntu DHCP服务器搭建步骤

1. 安装ISC DHCP服务器

首先更新系统包列表,然后安装isc-dhcp-server软件包(Ubuntu默认仓库提供):

sudo apt update
sudo apt install isc-dhcp-server

2. 配置DHCP主配置文件

编辑/etc/dhcp/dhcpd.conf(主配置文件),按需修改以下内容:

  • 全局选项(可选,设置默认参数):
    option domain-name "example.com";                  # 域名
    option domain-name-servers 8.8.8.8, 8.8.4.4;       # DNS服务器(可填多个,用逗号分隔)
    default-lease-time 600;                            # 默认租约时间(秒,如10分钟)
    max-lease-time 7200;                               # 最大租约时间(秒,如2小时)
    
  • 子网定义(核心配置,指定IP分配范围):
    subnet 192.168.1.0 netmask 255.255.255.0 {         # 子网地址及掩码(需与服务器网络一致)
        range 192.168.1.10 192.168.1.100;              # 可分配的IP地址池
        option routers 192.168.1.1;                    # 默认网关(需与服务器网关一致)
        option subnet-mask 255.255.255.0;              # 子网掩码
        option broadcast-address 192.168.1.255;        # 广播地址(可选,部分客户端可自动计算)
    }
    
  • 静态IP保留(可选,为特定设备分配固定IP):
    通过MAC地址绑定IP,避免设备每次获取不同IP:
    host printer {                                     # 主机名(自定义)
        hardware ethernet 00:1A:2B:3C:4D:5E;           # 设备MAC地址(需提前获取)
        fixed-address 192.168.1.200;                   # 分配的固定IP
    }
    

3. 指定DHCP监听接口

编辑/etc/default/isc-dhcp-server,设置DHCP服务器监听的网络接口(避免监听所有接口导致安全问题):

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

找到INTERFACESv4行,修改为服务器的网络接口名称(如eth0enp0s3,可通过ip a命令查看):

INTERFACESv4="eth0"                                # 仅监听eth0接口

4. 配置网络接口为静态IP

DHCP服务器本身需要静态IP,避免因IP变化导致客户端无法获取配置。编辑Netplan配置文件(Ubuntu 20及以上版本默认使用Netplan):

sudo nano /etc/netplan/01-netcfg.yaml              # 文件名可能因版本不同而变化(如00-installer-config.yaml)

修改为以下内容(以192.168.1.100为例,需与子网配置一致):

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no                                      # 关闭DHCP
      addresses: [192.168.1.100/24]                  # 静态IP及子网掩码(/24表示255.255.255.0)
      gateway4: 192.168.1.1                          # 默认网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]                # DNS服务器

应用配置:

sudo netplan apply

5. 启动并启用DHCP服务

启动DHCP服务并设置为开机自启:

sudo systemctl start isc-dhcp-server               # 启动服务
sudo systemctl enable isc-dhcp-server              # 开机自启

检查服务状态(确保显示“active (running)”):

sudo systemctl status isc-dhcp-server

6. 配置防火墙(可选但推荐)

若系统启用了ufw防火墙,需允许DHCP流量(UDP端口67/68):

sudo ufw allow 67/udp                              # DHCP服务器端口
sudo ufw allow 68/udp                              # DHCP客户端端口
sudo ufw reload                                    # 重新加载防火墙规则

7. 测试DHCP服务器

  • 方法1:查看日志
    通过系统日志确认DHCP服务是否正常运行:

    sudo tail -f /var/log/syslog                     # 实时查看日志(Ubuntu默认日志路径)
    

    若看到类似“DHCPOFFER on 192.168.1.10 to 00:1A:2B:3C:4D:5E via eth0”的记录,说明服务器已响应客户端请求。

  • 方法2:客户端测试
    将客户端设备(如电脑、手机)连接到同一网络,配置为“自动获取IP地址”(DHCP),然后检查是否获取到指定范围内的IP(如192.168.1.10-192.168.1.100),并能正常访问网络(如ping通网关或外网)。

通过以上步骤,即可完成Ubuntu DHCP服务器的搭建。根据实际网络环境,可调整子网范围、IP池大小、DNS服务器等参数以满足需求。

0