为防止Linux动态IP变动影响服务,可配置静态IP:一、编辑/etc/network/interfaces(Debian/Ubuntu);二、修改/etc/netplan/*.yaml(Ubuntu 18.04+);三、用nmcli命令配置NetworkManager;四、临时用ip命令设置。

如果您在Linux系统中使用动态IP地址,可能会因DHCP租期到期或网络重启导致IP地址变化,影响远程访问或服务绑定。以下是配置静态IP地址以防止IP变动的多种方法:
一、通过修改网络接口配置文件(适用于Debian/Ubuntu系)
该方法直接编辑网卡的持久化配置文件,使静态IP在每次系统启动时自动生效,不依赖图形界面或临时命令。
1、使用文本编辑器打开网卡配置文件,通常路径为/etc/network/interfaces。
2、找到对应网卡(如eth0或ens33)的配置段,将dhcp行替换为static并添加IP、子网掩码、网关和DNS信息。
3、示例配置内容如下:
auto ens33<br>
iface ens33 inet static<br>
address <strong><font color="green">192.168.1.100</font></strong><br>
netmask <strong><font color="green">255.255.255.0</font></strong><br>
gateway <strong><font color="green">192.168.1.1</font></strong><br>
dns-nameservers <strong><font color="green">8.8.8.8 114.114.114.114</font></strong>
4、保存文件后执行sudo ifdown ens33 && sudo ifup ens33重新加载网卡配置。
二、通过Netplan配置(适用于Ubuntu 18.04+及衍生版本)
Netplan是现代Ubuntu系统默认的网络配置工具,采用YAML格式声明式管理网络,避免手动调用底层命令。
1、确认Netplan配置文件位置,常见路径为/etc/netplan/*.yaml,例如/etc/netplan/01-network-manager-all.yaml。
2、备份原文件后使用sudo nano编辑该YAML文件。
3、将原配置中的dhcp4: true改为dhcp4: false,并在同一网卡节点下添加addresses、routes和nameservers字段。
4、示例片段如下:
network:<br>
version: 2<br>
ethernets:<br>
ens33:<br>
dhcp4: false<br>
addresses: [<strong><font color="green">192.168.1.100/24</font></strong>]<br>
routes:<br>
- to: default<br>
via: <strong><font color="green">192.168.1.1</font></strong><br>
nameservers:<br>
addresses: [<strong><font color="green">8.8.8.8</font></strong>, <strong><font color="green">114.114.114.114</font></strong>]
5、运行sudo netplan apply使配置立即生效。
三、使用nmcli命令行工具(适用于NetworkManager管理的系统)
该方法适用于桌面版Linux或已启用NetworkManager的服务环境,通过命令动态修改连接配置并设为永久,无需编辑文件。
1、列出当前所有网络连接:执行nmcli connection show,记下目标连接名称(如Wired connection 1)。
2、禁用DHCP并设置IPv4地址:运行sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses <strong><font color="green">192.168.1.100/24</font></strong> ipv4.gateway <strong><font color="green">192.168.1.1</font></strong> ipv4.dns "<strong><font color="green">8.8.8.8,114.114.114.114</font></strong>"。
3、关闭IPv6以避免干扰(可选):添加ipv6.method ignore参数。
4、重新激活连接:执行sudo nmcli connection down "Wired connection 1" && sudo nmcli connection up "Wired connection 1"。
四、临时设置静态IP(仅当前会话有效)
该方法不修改任何配置文件,适合测试或紧急调试,但系统重启或网络服务重载后失效。
1、确定网卡名称:运行ip link show或ls /sys/class/net,识别活动有线接口(如eth0)。
2、清除现有IP:执行sudo ip addr flush dev eth0。
3、添加新静态IP:运行sudo ip addr add <strong><font color="green">192.168.1.100/24</font></strong> dev eth0。
4、设置默认网关:执行sudo ip route add default via <strong><font color="green">192.168.1.1</font></strong>。
5、配置DNS:向/etc/resolv.conf写入nameserver <strong><font color="green">8.8.8.8</font></strong>(注意该文件可能被NetworkManager覆盖,仅作临时验证)。










