在Linux系统中配置IP地址是网络管理的基础操作,无论是服务器还是个人电脑,正确的IP配置都是确保网络连通性的前提,Linux系统提供了多种IP配置方式,包括临时配置、永久配置、命令行工具和图形化界面等,不同场景下可选择合适的方法,本文将详细介绍Linux系统配置IP地址的各类方法及注意事项。
临时IP配置(重启后失效)
临时配置IP适用于快速测试或临时网络需求,配置后不会写入配置文件,系统重启或网络服务重启后将恢复默认设置,常用工具为ip
命令(推荐)或ifconfig
命令(旧版系统)。
使用ip
命令配置
ip
命令是iproute2
工具包的核心命令,功能更强大且推荐用于现代Linux系统。
-
查看网络接口:首先需要确认当前系统的网络接口名称,通常以太网接口为
eth0
、ens33
、enp0s3
等(不同发行版和虚拟化环境可能不同),可通过以下命令查看:ip addr show
输出结果中
inet
字段对应IPv4地址,link/ether
对应MAC地址。 -
配置IP地址:假设为接口
ens33
配置静态IP168.1.100
,子网掩码255.255.0
(CIDR表示法为/24
),执行:# 启动接口 ip link set ens33 up # 配置IP地址 ip addr add 192.168.1.100/24 dev ens33
若需同时配置多个IP,可重复执行
ip addr add
命令,添加不同IP即可。 -
配置默认网关:默认网关是跨网段通信的出口,假设网关IP为
168.1.1
,执行:ip route add default via 192.168.1.1
-
配置DNS服务器:DNS用于域名解析,临时配置可写入
/etc/resolv.conf
文件:echo "nameserver 8.8.8.8" > /etc/resolv.conf # Google DNS echo "nameserver 114.114.114.114" >> /etc/resolv.conf # 国内DNS
使用ifconfig
命令(旧版系统)
ifconfig
属于net-tools
工具包,在CentOS 7之前、Ubuntu 18.04之前的系统中较常见,新系统默认可能未安装(需通过yum install net-tools
或apt install net-tools
安装)。
- 配置IP地址:
ifconfig ens33 192.168.1.100 netmask 255.255.255.0 up
- 配置默认网关:
route add default gw 192.168.1.1
永久静态IP配置(基于配置文件)
永久配置会将IP信息写入系统配置文件,重启后仍会生效,适用于服务器等需要固定IP的场景,不同Linux发行版的配置文件位置和格式不同,主要分为ifcfg
文件(CentOS/RHEL)和netplan
(Ubuntu 18.04+)两大类。
CentOS/RHEL系统(使用ifcfg
文件)
以CentOS 7/8为例,网络配置文件位于/etc/sysconfig/network-scripts/
目录下,接口文件命名格式为ifcfg-<接口名>
(如ifcfg-ens33
)。
-
编辑配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ``` 如下(关键参数说明): ```ini TYPE=Ethernet # 网络类型 BOOTPROTO=static # 静态IP(dhcp为动态获取) NAME=ens33 # 接口名称 DEVICE=ens33 # 设备名称 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=114.114.114.114 # 备用DNS服务器
-
重启网络服务:保存文件后,执行以下命令使配置生效:
systemctl restart network
注意:若使用NetworkManager管理网络(CentOS 7默认启用),需先禁用NetworkManager对接口的管理,或通过
nmcli
命令修改(后文详述)。
Ubuntu/Debian系统(使用netplan
)
Ubuntu 18.04及后续版本默认使用netplan
管理网络,配置文件为YAML格式,位于/etc/netplan/
目录下(如01-netcfg.yaml
或50-cloud-init.yaml
)。
-
编辑配置文件:
vim /etc/netplan/01-netcfg.yaml ``` 示例: ```yaml network: version: 2 # netplan版本固定为2 renderer: networkd # 使用systemd-networkd渲染 ethernets: ens33: # 接口名称 dhcp4: no # 禁用DHCP addresses: # 静态IP列表(可配置多个) - 192.168.1.100/24 # IP地址/子网前缀 gateway4: 192.168.1.1 # 默认网关 nameservers: # DNS配置 addresses: [8.8.8.8, 114.114.114.114] search: [localdomain] # 搜索域(可选)
-
应用配置:保存文件后,执行以下命令使配置生效:
netplan apply
不同发行版配置参数对比
为方便理解,以下表格总结关键配置参数的含义:
参数名 | CentOS ifcfg文件 | Ubuntu netplan文件 | 说明 |
---|---|---|---|
IP地址 | IPADDR | addresses | 静态IPv4地址 |
子网掩码 | NETMASK | /前缀(如/24) | 子网掩码或CIDR前缀 |
默认网关 | GATEWAY | gateway4 | 跨网段通信的网关IP |
DNS服务器 | DNS1/DNS2 | nameservers.addresses | 域名解析服务器IP |
启用DHCP | BOOTPROTO=dhcp | dhcp4: yes/no | 是否自动获取IP |
开机自启 | ONBOOT=yes | 系统启动时是否启用接口 |
使用NetworkManager管理网络
NetworkManager是现代Linux系统(如CentOS 7+、Ubuntu 18.04+)默认的网络管理工具,支持命令行(nmcli
)和图形化(nmtui
)两种方式,适合动态调整网络配置。
命令行工具nmcli
- 查看连接状态:
nmcli connection show
- 修改静态IP配置:假设连接名为
ens33
,执行:nmcli con mod "ens33" ipv4.method manual # 设置静态IP ipv4.addresses 192.168.1.100/24 # IP地址 ipv4.gateway 192.168.1.1 # 网关 ipv4.dns "8.8.8.8 114.114.114.114" # DNS
- 启用连接:
nmcli con up "ens33"
图形化工具nmtui
- 启动命令:
nmtui
,进入交互式界面,可通过方向键选择“Edit a connection”修改连接配置,或“Activate a connection”启用/禁用网络。
动态IP(DHCP)配置
若网络环境支持DHCP服务器(如家庭路由器),可配置自动获取IP,无需手动指定地址。
- 临时配置:
ip
命令中设置BOOTPROTO=dhcp
(ifcfg文件)或dhcp4: yes
(netplan),或通过nmcli
设置ipv4.method auto
。 - 永久配置:在
ifcfg
文件中设置BOOTPROTO=dhcp
,在netplan中设置dhcp4: yes
,保存后重启网络服务即可。
配置后的验证
无论采用哪种方式配置IP,均需验证网络连通性:
- 查看IP配置:
ip addr show <接口名>
或ifconfig <接口名>
。 - 测试网关连通性:
ping <网关IP>
(如ping 192.168.1.1
)。 - 测试外网连通性:
ping 8.8.8.8
或ping www.baidu.com
(需DNS配置正确)。 - 检查路由表:
ip route show
,确认默认路由(default via <网关IP> dev <接口名>
)存在。
相关问答FAQs
问题1:配置静态IP后无法ping通网关,如何排查?
答:可按以下步骤排查:
- 检查IP地址、子网掩码、网关是否正确,确保IP与网关在同一网段(如IP为192.168.1.100,网关为192.168.1.1,子网掩码255.255.255.0)。
- 确认网络接口已启动:
ip link show <接口名>
,若状态为DOWN
,执行ip link set <接口名> up
。 - 检查防火墙是否拦截:
systemctl stop firewalld
(临时关闭)或添加放行规则。 - 确认NetworkManager未冲突:若使用
ifcfg
文件,可通过nmcli con mod <接口名> connection.autoconnect no
禁用NetworkManager管理该接口。
问题2:如何在Ubuntu系统中确认网络配置是否永久生效?
答:可通过以下方式确认:
- 检查
netplan
配置文件:cat /etc/netplan/01-netcfg.yaml
,确认IP、网关、DNS等参数是否正确保存。 - 重启系统后验证:
reboot
,重启后执行ip addr show
和ip route show
,确认IP和默认路由仍存在。 - 查看网络服务日志:
journalctl -u systemd-networkd
,确认网络服务启动时是否加载了配置文件。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29999.html