如何在Linux下设置IP地址?
- Linux
- 2025-06-15
- 3
在Linux环境下设置IP地址是网络管理的基础操作,可通过临时修改(重启失效)或永久配置实现,以下是详细方法,适用于主流发行版(Ubuntu、CentOS、Debian等),请根据系统版本选择对应方案:
临时设置IP(重启后失效)
适用场景:快速测试网络配置
命令工具:ip(推荐)或 ifconfig(部分系统需安装)
# 查看网卡名称(如ens33、eth0) ip addr show # 设置IP地址和子网掩码 sudo ip addr add 192.168.1.100/24 dev ens33 # 添加默认网关 sudo ip route add default via 192.168.1.1 # 修改DNS(临时生效) echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
永久设置IP(不同发行版方法)
Ubuntu 18.04+ / Debian 10+(使用Netplan)
步骤:
① 编辑YAML配置文件(路径可能不同):
sudo nano /etc/netplan/01-netcfg.yaml
② 修改配置(示例为静态IP):
network: version: 2 renderer: networkd ethernets: ens33: addresses: [192.168.1.100/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]
③ 应用配置:
CentOS/RHEL 7+(使用NetworkManager)
方法1:nmtui文本界面
sudo nmtui # 选择"Edit a connection" → 选择网卡 → 手动配置IP
方法2:修改配置文件
① 编辑网卡配置:
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
② 修改以下参数:

③ 重启网络服务:
sudo systemctl restart NetworkManager
通用方案(systemd-networkd)
适用系统:Arch Linux、新版Debian等
① 创建配置文件:
sudo nano /etc/systemd/network/10-static-ens33.network
② 写入配置:
[Match] Name=ens33 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8
③ 启用服务:

sudo systemctl enable --now systemd-networkd
验证配置是否生效
# 检查IP地址 ip addr show dev ens33 # 测试网关连通性 ping 192.168.1.1 # 验证DNS解析 nslookup google.com # 查看路由表 ip route
常见问题排查
-
网卡未启动:
sudo ip link set ens33 up # 启用网卡
-
IP冲突:
使用 arp-scan -l 扫描局域网,确保IP无重复。
-
服务未重启:
修改配置后务必重启网络服务(如 sudo systemctl restart NetworkManager)。
-
防火墙拦截:
临时关闭防火墙测试:
sudo ufw disable # Ubuntu sudo systemctl stop firewalld # CentOS - 备份配置文件:执行前备份(如 sudo cp /etc/netplan/01-netcfg.yaml ./backup.yaml)。
- 使用静态IP的场合:服务器、网络设备等需固定地址的场景。
- 生产环境谨慎操作:建议通过物理控制台访问,避免远程连接中断。
- Linux ip 命令手册(man7.org)
- Netplan官方文档(netplan.io)
- Red Hat网络配置指南(access.redhat.com)
配置路径可能因系统版本略有差异,操作前请核对官方文档。
安全操作建议
引用说明:
