在Linux系统中,更改IP地址是网络管理的基础操作,无论是临时调试还是永久配置,都需要掌握正确的方法,由于Linux发行版较多(如Ubuntu、CentOS、Debian等),且不同版本采用的配置工具存在差异,本文将综合介绍命令行和图形界面两种方式,涵盖临时与永久修改IP地址的详细步骤,并补充网关、DNS等关联配置的注意事项。
临时更改IP地址(重启后失效)
临时修改IP地址适用于快速测试或临时网络场景,无需修改配置文件,重启网络服务或系统后配置将恢复默认,常用命令为ip
(现代Linux推荐)和ifconfig
(需安装net-tools
包)。
使用ip
命令(推荐)
ip
命令是iproute2
工具包的核心命令,功能强大且兼容性广,基本语法为:
sudo ip addr add <IP地址>/<子网掩码> dev <网卡名称> sudo ip link set <网卡名称> up
示例:为网卡eth0
配置静态IP地址168.1.100
,子网掩码24
(即255.255.0
):
sudo ip addr add 192.168.1.100/24 dev eth0 sudo ip link set eth0 up
若需配置动态IP(DHCP),则使用:
sudo dhclient eth0 # 或 sudo dhcpcd eth0(根据发行版)
验证配置:
ip addr show eth0 # 查看网卡IP配置 ping 192.168.1.1 # 测试网连通性
使用ifconfig
命令(旧版系统)
部分旧版Linux(如CentOS 6)默认安装ifconfig
,需先安装net-tools
:
sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
静态IP配置示例:
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 sudo ifconfig eth0 up
动态IP配置:
sudo dhclient eth0
永久更改IP地址(重启后保留)
永久修改需编辑配置文件,不同发行版采用不同的配置工具和文件格式,需根据系统选择合适方法。
Ubuntu/Debian(使用Netplan或NetworkManager)
(1)Ubuntu 18.04+:Netplan配置
Netplan是Ubuntu 18.04及后续版本默认的网络配置工具,通过YAML文件管理网络。
步骤:
- 编辑Netplan配置文件(通常位于
/etc/netplan/
目录,如01-netcfg.yaml
):sudo nano /etc/netplan/01-netcfg.yaml
- 配置静态IP示例:
network: version: 2 ethernets: eth0: # 网卡名称 dhcp4: no # 禁用DHCP addresses: [192.168.1.100/24] # IP地址及子网掩码 gateway4: 192.168.1.1 # 网关地址 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
- 应用配置:
sudo netplan apply
(2)Ubuntu 16.04及旧版:NetworkManager
通过nmcli
命令行工具或图形界面配置。
命令行示例:
sudo nmcli connection modify "eth0" 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 "eth0"
CentOS/RHEL(使用NetworkManager或ifcfg文件)
(1)CentOS 7+:NetworkManager(默认)
命令行示例:
sudo nmcli connection modify "eth0" 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 "eth0"
(2)传统方式:ifcfg文件
编辑网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0
):
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet BOOTPROTO=none # 静态IP,dhcp为动态 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 # 开机自启
重启网络服务:
sudo systemctl restart network
其他发行版(如Arch Linux)
Arch Linux使用systemd-networkd
或netctl
,可通过systemd-networkd
配置:
- 创建网卡文件
/etc/systemd/network/eth0.network
:[Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8 114.114.114.114
- 启动服务:
sudo systemctl enable systemd-networkd sudo systemctl start systemd-networkd
配置方法对比
方法 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
ip 命令 |
临时测试、快速修改 | 命令简洁,无需安装额外工具 | 重启后失效,需重复操作 |
Netplan(Ubuntu) | Ubuntu 18.04+ | 配置直观,支持YAML格式 | 仅限Ubuntu,其他发行版不兼容 |
NetworkManager | 大多数现代Linux发行版 | 图形+命令行双支持,灵活度高 | 参数较多,需熟悉命令语法 |
ifcfg文件(CentOS) | CentOS 7及旧版 | 传统稳定,兼容性好 | 文件格式复杂,易出错 |
注意事项
- 网卡名称确认:修改前需确认网卡名称(如
eth0
、ens33
),可通过ip link show
或ls /sys/class/net/
查看。 - 网关与DNS配置:更改IP地址时,通常需同步配置网关(
gateway
)和DNS(nameservers
),否则无法上网。 - 权限问题:所有修改命令需使用
sudo
执行,确保有管理员权限。 - 多网卡场景:若系统有多个网卡,需明确指定网卡名称,避免误配置其他接口。
相关问答FAQs
Q1:更改IP地址后无法上网,如何排查?
A:首先检查网关和DNS配置是否正确,可通过ip route show
查看网关,cat /etc/resolv.conf
查看DNS;其次测试网络连通性,如ping 8.8.8.8
(测试DNS)和ping 192.168.1.1
(测试网关);最后检查防火墙是否拦截,如sudo ufw status
(Ubuntu)或sudo firewall-cmd --list-all
(CentOS)。
Q2:如何查看当前IP地址配置?
A:可通过以下命令查看:
ip addr show
:显示所有网卡的IP、子网掩码等信息,推荐使用。ifconfig
:旧版命令,显示网卡详细配置(需安装net-tools
)。nmcli connection show
:NetworkManager管理的连接信息,包含IP、网关等。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29396.html