在Linux系统中设置静态IP地址是网络管理中的常见操作,尤其对于需要固定IP的服务器或特定网络环境下的设备至关重要,不同Linux发行版使用的网络配置工具和文件路径可能略有差异,但核心原理和命令步骤基本一致,以下将以主流的CentOS/RHEL(使用NetworkManager)和Ubuntu/Debian(使用netplan或ifconfig)为例,详细说明设置静态IP的方法,并补充相关注意事项。

使用NetworkManager(适用于CentOS 7+/RHEL 7+及Fedora)
NetworkManager是现代Linux发行版中默认的网络管理工具,支持命令行和图形界面配置静态IP。
查看当前网络连接名称
执行命令nmcli connection show,列出所有网络连接,通常以太网连接名为ens33、eno1等(根据实际设备名调整)。编辑连接配置
使用nmcli con mod <连接名> ipv4.method manual ipv4.addresses <IP地址/子网掩码> ipv4.gateway <网关> ipv4.dns <DNS服务器>命令设置静态IP参数。nmcli con mod "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
其中
/24表示子网掩码为255.255.255.0,多个DNS服务器用逗号分隔。
(图片来源网络,侵删)重启网络服务使配置生效
nmcli con down "ens33" && nmcli con up "ens33"
或使用
systemctl restart NetworkManager。验证配置
执行ip addr show ens33检查IP地址是否生效,或使用ping 8.8.8.8测试网络连通性。
使用Netplan(适用于Ubuntu 18.04+/Debian 10+)
Netplan是Ubuntu等发行版采用的YAML格式网络配置工具。
定位配置文件
配置文件通常位于/etc/netplan/目录下,如01-network-manager-all.yaml或50-cloud-init.yaml。编辑YAML配置文件
使用vim或nano打开文件,按以下格式修改(示例为以太网配置):network: version: 2 ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]注意缩进错误会导致配置失败,建议使用空格而非Tab键。
应用配置
执行netplan apply命令使配置生效,若无报错则表示成功。验证与调试
使用ip a查看IP地址,或通过netplan --debug apply排查错误。
传统方法(适用于旧版系统或无NetworkManager/Netplan的系统)
编辑网络配置文件
以CentOS 6/7为例,配置文件为/etc/sysconfig/network-scripts/ifcfg-ens33,添加或修改以下参数:BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114 ONBOOT=yes
重启网络服务
service network restart
常见问题与注意事项
- IP冲突:静态IP需与网络内其他设备不冲突,可通过
arping -I ens33 192.168.1.100测试IP是否被占用。 - 配置文件权限:Netplan和ifcfg文件需root权限编辑,建议使用
sudo或su。 - 网络服务重启影响:生产环境中重启网络可能导致短暂断连,建议在低峰期操作。
相关FAQs
Q1:如何查看当前Linux系统的网络管理工具是NetworkManager还是传统ifconfig?
A1:执行nmcli -t -g RUNNING命令,若返回running则表示使用NetworkManager;或检查/etc/sysconfig/network-scripts/目录下是否存在ifcfg文件,同时ps aux | grep NetworkManager可查看NetworkManager进程是否运行。
Q2:设置静态IP后无法上网,如何排查?
A2:首先检查IP、网关、DNS配置是否正确(ip route查看网关,cat /etc/resolv.conf查看DNS);其次使用ping 网关IP测试本地网络连通性,ping 8.8.8.8测试外网连通性;若均失败,可能是防火墙拦截(systemctl stop firewalld临时关闭测试)或网卡驱动问题(dmesg | grep eth查看日志)。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/398168.html<
