上一篇
linux系统下如何配置ip地址
- Linux
- 2025-07-31
- 7
nux系统下可通过命令(如ifconfig或ip)临时设置IP,或修改/etc下的配置文件永久生效
Linux系统中配置IP地址是一个常见且重要的操作,无论是为了服务器部署还是日常管理,以下是详细的步骤指南,涵盖临时性和永久性两种配置方式,以及不同发行版的具体实现方法:
临时配置(重启后失效)
-
使用
ip
命令- 设置IP与子网掩码:执行
sudo ip addr add <IP地址>/<CIDR> dev <接口名>
,sudo ip addr add 192.168.1.100/24 dev eth0
,这里的CIDR值对应子网掩码位数,如/24表示255.255.255.0。 - 启用网卡:运行
sudo ip link set eth0 up
确保网络接口激活。 - 添加默认网关:通过
sudo ip route add default via <网关IP>
指定路由出口,sudo ip route add default via 192.168.1.1
。
- 设置IP与子网掩码:执行
-
使用旧版工具
ifconfig
- 若系统支持该命令,可直接输入
sudo ifconfig <接口名> <IP地址> netmask <子网掩码> up
,如sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
,随后用sudo route add default gw <网关IP>
设置网关,此方法适用于快速测试,但不推荐用于生产环境。
- 若系统支持该命令,可直接输入
永久配置(修改配置文件)
Debian/Ubuntu系列
-
传统方式(编辑
/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,8.8.4.4
- 保存并重启网络服务:
sudo service network restart
或sudo systemctl restart networking
。
- 打开文件后追加如下内容:
-
现代Netplan管理(Ubuntu 18.04+)
- 编辑YAML格式的配置文件(通常位于
/etc/netplan/
目录下),示例如下:network: version: 2 renderer: networkd ethernets: eth0: addresses: 192.168.1.100/24 routes: to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
- 应用更改:
sudo netplan apply
。
- 编辑YAML格式的配置文件(通常位于
Red Hat/CentOS系列
- 修改对应网卡的配置文件:进入
/etc/sysconfig/network-scripts/ifcfg-<接口名>
,典型参数包括:DEVICE=eth0
(设备名称)BOOTPROTO=static
(静态分配模式)ONBOOT=yes
(开机启动该接口)IPADDR=192.168.1.100
(目标IP地址)NETMASK=255.255.255.0
(子网掩码)GATEWAY=192.168.1.1
(默认网关)DNS1=8.8.8.8
(首选DNS服务器)DNS2=8.8.4.4
(备用DNS服务器)- 完成编辑后执行
sudo systemctl restart network
使配置生效。
图形化工具辅助(可选)
-
nmcli命令行工具:对于支持NetworkManager的桌面环境,可以使用以下指令快速调整设置:
- 修改IP、网关及DNS:
sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1
sudo nmcli con mod eth0 ipv4.dns "8.8.8.8,8.8.4.4"
sudo nmcli con mod eth0 ipv4.method manual
。 - 刷新并重启连接:
sudo nmcli con down eth0 && sudo nmcli con up eth0
。
- 修改IP、网关及DNS:
-
nmtui交互界面:输入
nmtui
启动文本模式的配置向导,逐步完成各项参数填写,适合不熟悉命令的用户。
验证与故障排查
-
检查当前配置
- 使用任一命令查看结果:
ip addr show eth0
或ifconfig eth0
,重点关注是否显示预期的IP、掩码和网关信息。 - 确认路由表是否正确:
ip route show
应包含指向默认网关的有效条目。
- 使用任一命令查看结果:
-
测试连通性
- Ping公共DNS服务器验证外网访问能力:
ping 8.8.8.8
,若出现超时错误,可能是防火墙阻止了ICMP请求,需暂时禁用相关规则进行测试。 - 确保本地主机之间能够互相通信,排除物理链路故障的可能性。
- Ping公共DNS服务器验证外网访问能力:
-
常见问题处理
- 权限不足导致修改失败:所有操作均需以root用户身份执行,必要时前置
sudo
前缀。 - 接口名称不一致:现代Linux发行版可能采用类似ens33、enp0s3这样的命名规则替代传统的eth0,请根据实际情况替换。
- 配置冲突覆盖问题:同一子网内存在其他设备的相同IP会导致冲突,建议提前规划合理的地址段。
- 权限不足导致修改失败:所有操作均需以root用户身份执行,必要时前置
以下是两个常见的相关问题及其解答:
FAQs
Q1: 修改IP地址后无法上网怎么办?
A: 首先检查新配置的IP是否与同一局域网内的其他设备处于同一网段;其次确认网关可达性(尝试ping网关IP);最后查看防火墙设置是否拦截了必要的端口流量,如果仍然异常,可尝试恢复之前的可靠配置,并逐步排查差异点。
Q2: 如何确保配置在重启后依然有效?
A: 必须采用永久配置方式(即修改对应的配置文件),而非仅依赖临时命令,对于基于Netplan管理的Ubuntu系统,还需验证YAML文件语法正确性并成功应用;而在Red Hat/CentOS中,则要保证ifcfg-
开头的文件被正确识别和加载,建议在修改前备份原始文件以防误操作导致