温馨提示×

ubuntu dhcp怎么改网关

小樊
49
2026-10-07 00:50:55
栏目: 智能运维

在 Ubuntu 里“改网关”要看你是 DHCP 自动获取 还是 想让 DHCP 客户端改默认网关。下面分情况说明。


一、你是 DHCP 客户端(自动获取 IP)

如果是通过 DHCP 获取地址,网关是 DHCP 服务器下发的,客户端不能“直接改”,只能:

方法 1:忽略 DHCP 下发的网关(自己手动设)

适用于:DHCP 给的网关不对,你想用别的网关

Ubuntu 18.04+(Netplan)

编辑配置文件(常见路径):

sudo nano /etc/netplan/01-netcfg.yaml

示例(假设网卡 eth0):

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      dhcp4-overrides:
        use-routes: false
      routes:
        - to: default
          via: 192.168.1.1

应用:

sudo netplan apply

✅ 这样:IP 仍由 DHCP 给,但网关用你指定的


方法 2:完全静态 IP(不推荐但最稳)

network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]

二、你是 DHCP 服务器(ISC DHCP)

如果你是 给别的机器分配 IP 的服务器,改网关在:

sudo nano /etc/dhcp/dhcpd.conf

找到 subnet 段:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;   # ← 网关
  option domain-name-servers 8.8.8.8;
}

重启服务:

sudo systemctl restart isc-dhcp-server

三、临时改(不重启也生效,但会丢)

sudo ip route del default
sudo ip route add default via 192.168.1.1

⚠️ 重启或 DHCP 续租后会恢复


四、快速判断你属于哪种

ip route
  • 看到 default via 192.168.x.x dev eth0 proto dhcp → 你是 DHCP 客户端
  • 你在配 /etc/dhcp/dhcpd.conf → 你是 DHCP 服务器

如果你愿意,可以把下面信息发我,我可以直接给你写配置:

  1. Ubuntu 版本(lsb_release -a)
  2. 网卡名(ip a)
  3. 当前网关 & 想改成多少

0 踩