温馨提示×

Ubuntu DHCP中默认网关如何配置

小樊
48
2025-11-22 16:11:33
栏目: 智能运维

Ubuntu DHCP 默认网关配置指南

一 客户端自动获取默认网关

  • 使用 Netplan(Ubuntu 18.04 及更高版本)

    • 编辑配置文件(文件名可能为 /etc/netplan/01-netcfg.yaml、50-cloud-init.yaml 等):
      • 仅通过 DHCP 获取地址时保持 dhcp4: yes,不要写 gateway4(由服务器下发):
        network:
          version: 2
          renderer: networkd
          ethernets:
            eth0:
              dhcp4: yes
        
      • 如需静态覆盖网关(不推荐与 DHCP 混用),可显式设置 gateway4(会覆盖服务器下发):
        network:
          version: 2
          renderer: networkd
          ethernets:
            eth0:
              dhcp4: yes
              gateway4: 192.168.1.1
        
    • 应用配置:sudo netplan apply
  • 使用 NetworkManager(桌面/服务器常见)

    • 查看连接名:nmcli connection show
    • 让指定连接通过 DHCP 获取网关(不设置静态网关):
      nmcli connection modify "<连接名>" ipv4.method auto
      nmcli connection up "<连接名>"
      
    • 如需静态覆盖网关(不推荐与 DHCP 混用):
      nmcli connection modify "<连接名>" ipv4.gateway 192.168.1.1
      nmcli connection up "<连接名>"
      
  • 使用 ifupdown(旧版 Ubuntu)

    • 配置为 DHCP:
      auto eth0
      iface eth0 inet dhcp
      
    • 应用:sudo systemctl restart networking(或 sudo ifdown eth0 && sudo ifup eth0)。

二 客户端临时或永久覆盖网关

  • 临时覆盖(重启后失效):
    sudo ip route replace default via 192.168.1.1 dev eth0
    
  • 永久覆盖(不建议与 DHCP 混用)
    • Netplan:在接口下设置 gateway4(见上文示例)。
    • ifupdown:在接口配置中加入 gateway 192.168.1.1
    • NetworkManager:nmcli connection modify "<连接名>" ipv4.gateway 192.168.1.1 && nmcli connection up "<连接名>"

三 作为 DHCP 服务器下发默认网关

  • 安装服务:sudo apt update && sudo apt install isc-dhcp-server
  • 编辑 /etc/dhcp/dhcpd.conf,在对应子网中使用 option routers 指定网关:
    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 domain-name-servers 8.8.8.8, 8.8.4.4;
        default-lease-time 600;
        max-lease-time 7200;
    }
    
  • 指定监听接口:/etc/default/isc-dhcp-server
    INTERFACESv4="eth0"
    
  • 启动服务:sudo systemctl start isc-dhcp-server && sudo systemctl enable isc-dhcp-server
  • 防火墙放行:sudo ufw allow 67/udpsudo ufw allow 68/udp

四 验证与常见问题

  • 验证默认网关:
    ip route show default
    # 期望输出示例:default via 192.168.1.1 dev eth0
    
  • 若使用 DHCP 仍想确保特定网关,优先在 DHCP 服务器侧配置 option routers;客户端侧不建议长期静态覆盖,以免与租约网关不一致。
  • 多网卡/多路由环境注意 metric 与路由优先级,避免默认路由冲突。
  • 修改 Netplan 后使用 sudo netplan apply 使配置生效;修改 NetworkManager 连接后使用 nmcli 使连接生效。

0