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

Linux网络配置命令有哪些,如何修改IP地址?

Linux 网络配置是系统管理员必须掌握的核心技能,也是保障服务器稳定运行和数据高效传输的基石,在现代 Linux 生态系统中,传统的 net-tools 工具包(如 ifconfig、route)已逐渐被功能更强大、设计更合理的 iproute2 套件所取代。掌握 ip 命令、nmcli(NetworkManager Command Line Interface)以及 netplan 等现代化工具,能够实现对网络接口、路由表及 DNS 的高效管理与持久化配置。 本文将遵循金字塔原则,从核心上文归纳出发,深入解析这些关键命令的使用场景与实战技巧,为读者提供专业且具备权威性的网络配置解决方案。

Linux网络配置命令有哪些,如何修改IP地址?

核心工具:iproute2 套件

iproute2 是目前 Linux 内核网络协议栈交互的首选工具,其中的 ip 命令集成了地址管理、链路状态控制和路由表操作等功能,相较于旧工具,它支持更高级的网络特性(如网络命名空间、策略路由)。

网络接口与 IP 地址管理
使用 ip addrip a 可以查看当前系统的网络接口状态,若要配置 IP 地址,推荐使用 ip addr add 命令,要为网卡 eth0 添加一个 IP 地址 168.1.100,子网掩码为 24,命令如下:

ip addr add 192.168.1.100/24 dev eth0

注意,使用该命令直接添加的 IP 地址在系统重启后会失效,若要删除 IP,只需将 add 替换为 del,在排查网络问题时,首先应使用 ip link show 检查网卡是否处于 UP 状态,若网卡被禁用,需执行 ip link set eth0 up 激活。

路由表配置
路由配置决定了数据包的转发路径,核心命令为 ip route,查看默认路由通常使用 ip route show,添加默认网关的命令如下:

ip route add default via 192.168.1.1

对于复杂的网络环境,可能需要配置静态路由,将前往 0.0.0/8 网段的数据包通过 168.1.254 转发:

ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0

专业的网络运维中,理解策略路由(基于源地址或数据包标签路由)至关重要,这需要结合 ip rule 命令进行多路由表管理,以满足企业级多出口负载均衡的需求。

企业级配置:nmcli 与 Netplan

为了实现配置的持久化(即重启后依然生效),直接编辑配置文件或使用发行版提供的专用管理工具是最佳实践。

Linux网络配置命令有哪些,如何修改IP地址?

RHEL/CentOS 系统的 nmcli
在 Red Hat 系列发行版中,NetworkManager 是默认的网络管理服务,nmcli 是其命令行前端,它支持交互式和脚本化操作,非常适合服务器批量管理。
查看网络连接列表:

nmcli connection show

若要修改 eth0 的 IPv4 地址为静态配置,并设置网关和 DNS,可以使用以下组合命令:

nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24
nmcli connection modify eth0 ipv4.gateway 192.168.1.1
nmcli connection modify eth0 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify eth0 ipv4.method manual
nmcli connection up eth0

关键点在于,修改完成后必须执行 connection upreload 命令使配置生效。nmcli 还能轻松管理 Bonding(绑定)和 Team(组网)接口,提升网络的高可用性。

Ubuntu/Debian 系统的 Netplan
从 Ubuntu 18.04 开始,netplan 成为默认的网络配置工具,它通过 YAML 格式的配置文件进行渲染,后端调用 systemd-networkdNetworkManager
配置文件通常位于 /etc/netplan/ 目录下,编辑 01-netcfg.yaml 文件示例如下:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        192.168.1.100/24
      routes:
        to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

特别注意,YAML 对缩进极其敏感,必须使用空格而非 Tab 键,配置完成后,执行 sudo netplan apply 即可应用配置,若要测试配置是否正确而不立即应用,可使用 sudo netplan try,这在远程配置服务器时能有效防止因配置错误导致断网。

网络故障排查与物理层检测

专业的网络配置不仅仅是设置 IP,更包括对物理链路和协议层的深度诊断。

物理链路诊断
ethtool 是排查物理层问题的神器,它可以查看网卡的速率、双工模式以及链路是否检测到物理信号。

Linux网络配置命令有哪些,如何修改IP地址?

ethtool eth0

重点关注 SpeedDuplex 是否与交换机端口匹配,以及 Link detected 是否为 yes,如果出现大量丢包,检查 RXTX error counts 是必要的步骤。

端口与连接状态检测
传统的 netstat 已被 ss(Socket Statistics)取代。ss 能够直接读取内核数据,速度更快且信息更详细。
查看所有监听端口:

ss -tulwn

查看特定进程占用的端口:

ss -ltpn | grep :80

结合 pingtraceroute(或 mtr),可以逐跳排查网络连通性问题,在防火墙配置复杂的场景下,使用 tcpdump 抓包分析是定位连接被阻断或握手失败的最权威手段。

相关问答

Q1:在 Linux 中,ifconfig 和 ip 命令有什么本质区别,为什么推荐使用 ip 命令?
A1: ifconfig 属于已停止维护的 net-tools 工具包,而 ip 命令属于 iproute2 套件,本质区别在于 ifconfig 通过 ioctl 系统调用与内核交互,功能受限且无法处理复杂的网络场景(如策略路由、网络命名空间)。ip 命令则直接通过 Netlink Socket 与内核通信,支持更细粒度的控制、更快的执行速度以及对现代 Linux 网络特性的完整支持,为了系统的兼容性和未来的可维护性,强烈推荐使用 ip 命令。

Q2:如何在不重启服务器的情况下,让 Linux 网络配置文件永久生效?
A2: 这取决于使用的发行版和管理工具,如果是 RHEL/CentOS,使用 nmcli connection modify 修改参数后,执行 nmcli connection up <接口名> 即可重载配置,如果是 Ubuntu 18.04+,修改 /etc/netplan/*.yaml 文件后,执行 netplan apply 命令即可立即生效且持久化,如果是通过直接编辑 /etc/sysconfig/network-scripts/ (RHEL 旧版) 或 /etc/network/interfaces (Debian 旧版),则需要重启 NetworkManager 服务或使用 systemctl restart networking 来加载新配置。
能帮助您深入理解 Linux 网络配置的核心逻辑,如果您在实战中遇到特定的网络问题,欢迎在评论区留言,我们一起探讨解决方案。

赞(0)
未经允许不得转载:好主机测评网 » Linux网络配置命令有哪些,如何修改IP地址?