服务器测评网
我们一直在努力

Linux怎么设置IP地址?,Linux修改IP命令是什么?

在Linux系统运维中,网络配置是确保服务器互联互通的基础环节,针对Linux命令设置IP地址这一核心需求,最专业的操作逻辑是区分“临时配置”与“永久配置”,临时配置主要用于调试或应急修复,重启即失效;而永久配置则通过修改网络配置文件或使用网络管理工具实现,重启后依然有效,现代Linux发行版已逐渐废弃老旧的ifconfig命令,转而全面拥抱功能更强大的ip命令及nmcli工具,掌握这两类核心命令,是高效管理Linux网络的关键。

Linux怎么设置IP地址?,Linux修改IP命令是什么?

使用ip命令进行临时IP配置

ip命令是iproute2软件包的一部分,它取代了传统的net-tools(即ifconfig),能够更高效地管理网络接口、路由和隧道,在进行网络故障排查或需要立即变更网络环境时,ip命令是首选方案。

查看当前网络接口状态
在配置IP之前,必须明确网卡的名称,现代服务器中,网卡命名通常为ens33eth0enp0s3等,使用以下命令可以查看所有接口的详细信息:

ip addr show

或者简写为:

ip a

该命令会列出所有网卡,重点关注link/ether后的MAC地址以及现有的inet地址。

为网卡添加IP地址
假设要给网卡ens33设置IP地址为168.1.100,子网掩码为255.255.0(即CIDR格式的/24),可以使用ip addr add命令:

sudo ip addr add 192.168.1.100/24 dev ens33

注意:如果该网卡上已有IP地址,上述命令会追加一个新的IP,而不会覆盖旧地址,如果需要替换,建议先删除旧IP。

删除网卡的IP地址
若要移除指定的IP地址,使用ip addr del命令:

sudo ip addr del 192.168.1.100/24 dev ens33

启用或禁用网卡接口
配置完IP后,如果网卡处于DOWN状态,需要将其启动:

sudo ip link set ens33 up

反之,禁用网卡则使用:

sudo ip link set ens33 down

通过ip命令进行的所有修改都是非持久化的,一旦系统重启或网络服务重启,配置将丢失,它仅适用于临时的测试场景。

Linux怎么设置IP地址?,Linux修改IP命令是什么?

使用nmcli命令进行永久IP配置

对于需要长期稳定运行的服务器,永久配置IP是必须的,在CentOS 7/8、RHEL 8、Fedora以及较新的Ubuntu版本中,NetworkManager是默认的网络管理服务,nmcli(NetworkManager Command Line Interface)是其官方推荐的命令行工具,它比直接编辑配置文件更直观、更安全,且能立即生效。

查看网络连接列表
使用nmcli查看当前的网络连接名称和设备名称:

nmcli connection show

输出中通常包含NAME(连接名称)和DEVICE(设备名称),通常连接名称与设备名称相同,如ens33Wired connection 1

修改连接为静态IP
使用nmcli connection modify命令修改连接属性,以下是将连接ens33设置为静态IP的完整流程:

  • 设置IPv4地址和子网掩码:
    sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24
  • 设置IPv4网关:
    sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1
  • 设置DNS服务器(可设置多个,用空格分隔):
    sudo nmcli connection modify ens33 ipv4.dns "8.8.8.8 114.114.114.114"
  • 关键步骤:将连接模式从DHCP(自动获取)改为手动(manual):
    sudo nmcli connection modify ens33 ipv4.method manual

生效配置
修改完成后,需要重启连接使配置生效:

sudo nmcli connection up ens33

系统会自动更新后台的配置文件,并立即应用新的IP设置,即便重启服务器,该配置也会被自动加载。

传统配置文件修改方法(适用于特定环境)

虽然nmcli已成为主流,但在某些精简版Linux系统或老旧的Debian/Ubuntu版本中,直接编辑网络配置文件依然是资深运维人员的常用手段,这种方法要求对Linux文件系统有较深的理解。

RHEL/CentOS 7及以下版本
配置文件位于/etc/sysconfig/network-scripts/ifcfg-<网卡名>,例如编辑ifcfg-ens33

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
```修改为:
```text
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

保存退出后,执行sudo systemctl restart network生效。

Debian/Ubuntu版本
配置文件位于/etc/network/interfaces,编辑该文件:

Linux怎么设置IP地址?,Linux修改IP命令是什么?

sudo vi /etc/network/interfaces

添加或修改如下内容:

auto ens33
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8

保存后,执行sudo systemctl restart networking生效。

验证与故障排除

配置完成后,验证连通性是必不可少的步骤。
再次使用ip a确认IP地址是否已正确绑定到网卡上。
使用ping命令测试与网关及外网的连通性:

ping -c 4 192.168.1.1
ping -c 4 baidu.com

如果ping不通网关,通常是IP地址配置错误或网关设置有误;如果ping通网关但ping不通外网,则应重点检查DNS配置。

常见故障点

  1. MAC地址冲突:在虚拟化环境中,克隆虚拟机往往导致MAC地址重复,NetworkManager可能会因此拒绝加载配置文件,解决方法是删除/etc/udev/rules.d/70-persistent-net.rules(旧版)或使用nmcli修改连接的MAC地址属性。
  2. 连接名称与设备名称不一致:在使用nmcli时,务必确认修改的是connection name而非仅仅是device name,如果不确定,建议先删除旧连接nmcli con delete old-name,然后重新创建。

在Linux命令行下设置IP地址,临时测试首选ip命令,永久配置首选nmcli命令,这种组合既符合现代Linux发行版的发展趋势,又能兼顾操作效率与系统稳定性,直接编辑配置文件虽然传统,但在自动化脚本和特定场景下依然具有不可替代的价值,熟练掌握这三种方法,能够帮助运维人员在面对不同的网络环境时,游刃有余地完成配置任务。

相关问答

Q1:使用ip命令设置的IP地址重启后为什么消失了?
A: ip命令属于iproute2工具集,它直接与内核交互来修改网络栈的运行状态,这种修改是非持久化的,仅存储在内存(RAM)中,当系统重启或网络服务重启时,内核会重新读取磁盘上的配置文件(如NetworkManager的配置或ifcfg文件)来初始化网络,从而覆盖了之前通过ip命令所做的临时更改。

Q2:如何判断当前系统应该使用nmcli还是编辑/etc/network/interfaces文件?
A: 最简单的判断方法是检查系统中是否有NetworkManager服务在运行,执行命令systemctl status NetworkManager,如果状态是active (running),则说明系统由NetworkManager管理,强烈推荐使用nmcli,如果该服务不存在或未运行,且系统是Debian或Ubuntu旧版,则通常使用/etc/network/interfaces;如果是CentOS 6等旧系统,则使用/etc/sysconfig/network-scripts/下的文件。
能帮助您顺利完成Linux系统的IP配置,如果您在操作过程中遇到任何报错或特殊情况,欢迎在评论区留言,我们将共同探讨解决方案。

赞(0)
未经允许不得转载:好主机测评网 » Linux怎么设置IP地址?,Linux修改IP命令是什么?