首页主机资讯Linux DHCP中继代理的配置步骤

Linux DHCP中继代理的配置步骤

时间2025-12-18 12:36:03发布访客分类主机资讯浏览1348
导读:Linux DHCP中继代理配置步骤 一 准备与规划 明确网络拓扑:至少准备2个网段(客户端网段与服务器网段),中继主机需有至少两个网络接口,分别连接客户端网段与服务器网段。 确认参数:记录DHCP服务器IP、需要监听的客户端侧接口(如:...

Linux DHCP中继代理配置步骤

一 准备与规划

  • 明确网络拓扑:至少准备2个网段(客户端网段与服务器网段),中继主机需有至少两个网络接口,分别连接客户端网段与服务器网段。
  • 确认参数:记录DHCP服务器IP、需要监听的客户端侧接口(如:eth0、eth1)、以及各子网的网关与掩码
  • 路由可达:确保中继主机到DHCP服务器IP可达(静态路由或三层互通)。
  • 防火墙放行:放行UDP 67/68端口(DHCP客户端/服务器端口)。
  • 服务器侧准备:DHCP服务器需为各客户端子网配置**subnet{ } **与地址池,否则无法分配地址。
    以上为跨网段分配IP的前置条件与通用实践。

二 安装中继软件

  • Debian/Ubuntu 系列:安装 ISC DHCP Relay
    sudo apt update
    sudo apt install isc-dhcp-relay
  • RHEL/CentOS 系列:安装 DHCP Relay 包
    sudo yum install dhcp-relay # 或 dnf install dhcp-relay(较新版本)
    安装完成后即可进行接口与服务器地址的配置。

三 配置中继

  • 方案A ISC DHCP Relay(isc-dhcp-relay)
    • 编辑配置文件(不同发行版路径可能不同):
      /etc/default/isc-dhcp-relay(Debian/Ubuntu 常见)
      或 /etc/sysconfig/dhcp-relay(RHEL/CentOS 常见)
    • 关键参数示例:
      INTERFACES=“eth0 eth1” # 客户端侧接口(可多个)
      SERVERS=“192.168.1.100” # DHCP服务器IP(可多个)

      可选:RELAY_PORT=67(默认)

    • 说明:有的发行版还支持 SERVER、INTERFACE 等写法,按实际文件注释填写即可。
  • 方案B dnsmasq(轻量方案,兼做DNS/DHCP)
    • 编辑 /etc/dnsmasq.conf:
      interface=eth0,eth1 # 客户端侧接口
      dhcp-relay=192.168.1.100 # 指向DHCP服务器IP

      如仅做中继,可不配置 dhcp-range(避免与服务器侧地址池冲突)

  • 方案C systemd-networkd(仅当系统采用 systemd-networkd 管理网络)
    • 创建 /etc/systemd/network/50-relay.network:
      [Match]
      Name=eth0
      [Network]
      DHCP=no
      [DHCP]
      Relay=192.168.1.100
    • 然后重新加载并重启 systemd-networkd。
      以上三种方式任选其一,保持接口与服务器IP正确即可。

四 启动与防火墙

  • 启动服务:
    Debian/Ubuntu:sudo systemctl start isc-dhcp-relay & & sudo systemctl enable isc-dhcp-relay
    RHEL/CentOS:sudo systemctl start dhcp-relay & & sudo systemctl enable dhcp-relay
    dnsmasq:sudo systemctl restart dnsmasq
    systemd-networkd:sudo systemctl restart systemd-networkd
  • 防火墙放行(示例):
    firewalld:sudo firewall-cmd --permanent --add-service=dhcp & & sudo firewall-cmd --reload
    ufw:sudo ufw allow 67/udp & & sudo ufw allow 68/udp
    iptables:sudo iptables -A INPUT -i eth0 -p udp --dport 67:68 -j ACCEPT
    (将 eth0 替换为实际接口名)
  • 路由与转发:确保中继主机具备到服务器网段的IP转发与路由;必要时开启:
    sudo sysctl -w net.ipv4.ip_forward=1
    以上确保中继进程常驻、端口放行、转发路径可达。

五 验证与排错

  • 抓包验证(在中继主机执行):
    sudo tcpdump -i eth0 -nn -vv port 67 or port 68
    正常可见来自客户端的 DHCP Discover/Request 被转发至服务器,服务器回应的 Offer/ACK 被中继回客户端。
  • 日志检查:
    tail -f /var/log/syslog(Debian/Ubuntu)或 journalctl -u isc-dhcp-relay(systemd)
  • 常见故障:
    • 客户端拿不到地址:检查服务器是否对客户端子网配置了subnet{ } 与地址池;检查网关路由;确认防火墙放行UDP 67/68
    • 抓不到包:核对接口名是否填错、服务器IP是否可达、是否启用了转发。
    • 多网段场景:为服务器添加对应subnet段,中继侧接口需覆盖所有需要服务的客户端网段。
      以上方法可快速定位转发是否生效与配置是否正确。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux DHCP中继代理的配置步骤
本文地址: https://pptw.com/jishu/774984.html
如何在Linux上安装和配置DHCP服务器 Linux DHCP安全性问题及防范措施

游客 回复需填写必要信息