温馨提示×

Linux DHCP如何设置静态IP

小樊
36
2026-08-06 04:14:12
栏目: 智能运维

在 Linux 中设置静态 IP通常不是通过 DHCP 来做的,而是关闭 DHCP、手动配置静态 IP。不过有两种常见场景,我分别说明,你可以按需要选择。


一、通过 DHCP 服务器给某台机器“固定 IP”(DHCP 静态绑定)

适合:服务器给客户端分配固定 IP

原理

在 DHCP 服务器上,根据 MAC 地址 分配固定 IP。

示例(ISC DHCP Server)

编辑配置文件:

sudo vim /etc/dhcp/dhcpd.conf

添加:

host my-server {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.1.100;
}

重启 DHCP 服务:

sudo systemctl restart isc-dhcp-server

✅ 客户端仍使用 DHCP,但每次都会拿到 192.168.1.100


二、Linux 客户端直接设置静态 IP(最常用 ✅)

推荐方式


✅ 方法 1:使用 Netplan(Ubuntu 18.04+)

查看网卡名:

ip a

编辑 Netplan 配置:

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

示例配置(静态 IP):

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 114.114.114.114

应用配置:

sudo netplan apply

✅ 方法 2:CentOS / Rocky / AlmaLinux(NetworkManager)

临时(重启失效)

nmcli con show
nmcli con modify eth0 ipv4.method manual \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8"
nmcli con up eth0

✅ 方法 3:CentOS 7(ifcfg 文件)

编辑:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

内容示例:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

重启网络:

systemctl restart network

✅ 方法 4:Debian / 老版本 Ubuntu(/etc/network/interfaces)

vim /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8

重启网络:

systemctl restart networking

三、如何确认是否生效?

ip a
ip route
ping 8.8.8.8

四、总结对比

方式 是否用 DHCP 推荐场景
DHCP 静态绑定 网络管理员
Netplan 静态 IP Ubuntu 桌面/服务器
nmcli CentOS / RHEL
ifcfg / interfaces 老系统

如果你愿意,可以告诉我:

  • ✅ Linux 发行版和版本
  • ✅ 是服务器还是虚拟机 / 物理机
  • ✅ 是否使用 DHCP 服务器

我可以给你最合适、最安全的配置方案

0