在Linux系统中配置固定IP是服务器管理、容器部署及网络服务稳定运行的基础操作,尤其对于需要长期提供服务的场景(如数据库、Web服务器),固定IP能避免因DHCP租约变更导致的服务中断,Linux发行版众多,网络管理工具(如Netplan、NetworkManager、ifcfg等)略有差异,本文以主流发行版为例,介绍固定IP的配置方法。
基于Netplan配置(Ubuntu 18.04+、Debian 10+)
Netplan是Ubuntu 18.04及之后版本、Debian 10+默认的网络配置工具,通过YAML文件管理网络配置。
操作步骤:
- 定位配置文件:Netplan配置文件通常位于
/etc/netplan/
目录下,如01-netcfg.yaml
或50-cloud-init.yaml
(云服务器中可能为50-cloud-init.yaml
)。 - 编辑配置文件:使用
vim
或nano
打开文件,添加或修改以下内容(以ens33网卡为例):network: version: 2 ethernets: ens33: dhcp4: no # 禁用DHCP addresses: [192.168.1.100/24] # 固定IP地址及子网掩码(24位掩码即255.255.255.0) gateway4: 192.168.1.1 # 网关地址 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
- 应用配置:执行
sudo netplan apply
使配置生效,若提示错误可用sudo netplan --debug apply
排查。
Netplan关键参数说明:
参数 | 作用说明 |
---|---|
version: 2 |
指定Netplan版本,固定为2 |
dhcp4: no |
禁用IPv4的DHCP获取地址 |
addresses |
设置静态IP地址,格式为IP/掩码位数 |
gateway4 |
指定默认网关IPv4地址 |
nameservers |
配置DNS服务器地址,支持多个 |
基于nmcli配置(CentOS 7+、RHEL 7+、Ubuntu 18.04+)
NetworkManager是大多数Linux发行版的默认网络管理工具,nmcli
是其命令行工具,支持交互式配置,适合快速操作。
操作步骤:
- 查看当前连接:执行
nmcli connection show
获取网络连接名称(如ens33
或eth0
)。 - 修改连接属性:将连接的IPv4方法设置为手动,并配置IP、网关、DNS:
sudo nmcli connection modify "ens33" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114"
- 激活连接:执行
sudo nmcli connection up "ens33"
重新加载配置,无需重启系统。
nmcli关键参数说明:
参数 | 作用说明 |
---|---|
ipv4.method |
地址获取方法,manual 为静态IP |
ipv4.addresses |
静态IP地址,格式为IP/掩码 |
ipv4.gateway |
默认网关地址 |
ipv4.dns |
DNS服务器,多个地址用空格分隔 |
传统ifcfg文件配置(CentOS 6-7、RHEL 6-7等老版本)
对于禁用NetworkManager的老版本系统(如CentOS 6),可通过编辑网卡配置文件实现。
操作步骤:
- 定位配置文件:文件路径为
/etc/sysconfig/network-scripts/ifcfg-网卡名
(如ifcfg-eth0
)。 - 编辑文件内容:添加或修改以下参数:
TYPE=Ethernet BOOTPROTO=static # 禁用DHCP,使用静态IP IPADDR=192.168.1.100 # 固定IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关地址 DNS1=8.8.8.8 # 主DNS DNS2=114.114.114.114 # 备用DNS ONBOOT=yes # 开机自启网卡
- 重启网络服务:执行
sudo service network restart
使配置生效。
配置验证
完成配置后,可通过以下命令验证网络是否正常:
- 查看IP地址:
ip a
或ifconfig
- 测试网关连通性:
ping 192.168.1.1
- 测试外网连通性:
ping 8.8.8.8
- 测试DNS解析:
nslookup www.baidu.com
相关问答FAQs
问题1:配置固定IP后无法联网,如何排查?
解答:首先检查IP配置是否正确(ip a
确认IP、子网掩码),然后测试网关连通性(ping 网关IP
),若不通则检查网关设备或网关配置;若网关正常但无法外网,检查DNS(nslookup 域名
),确认/etc/resolv.conf
中的DNS地址是否生效;最后检查防火墙规则(sudo firewall-cmd --list-all
)是否阻止了网络访问。
问题2:为什么重启后固定IP配置丢失?
解答:通常因配置文件未正确保存或权限问题导致,检查配置文件路径是否正确(如Netplan文件需在/etc/netplan/
,ifcfg文件在/etc/sysconfig/network-scripts/
),确保文件权限为644(Netplan)或600(ifcfg);若使用nmcli,确认ipv4.method
设置为manual
,且修改的是活动连接(nmcli con show
);对于云服务器(如AWS、阿里云),可能需禁用Cloud-init的网络配置(修改/etc/cloud/cloud.cfg
中network: {config: disabled}
),避免覆盖手动配置。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26379.html