Linux `ifconfig` 命令详解

Linux `ifconfig` 命令详解

Linux ifconfig 命令详解

🎯 学习目标

理解 ifconfig 命令的基本功能与作用

掌握 ifconfig 的常用参数及使用方法

能在实际网络故障排查和配置中灵活运用 ifconfig 查看、启用/禁用网卡、设置 IP 地址等

了解 ifconfig 在不同 Linux 发行版(如 Ubuntu、CentOS、Euler)中的行为差异以及现代替代命令 ip

🔑 核心重点

功能

说明

默认行为

显示所有激活的网络接口信息

eth0, lo, wlan0

不同类型网络接口名称

up/down

启用或禁用指定网卡

inet addr

IPv4 地址

Bcast

广播地址

Mask

子网掩码

实际应用场景

网络调试、临时 IP 设置、服务恢复、脚本调用等

🧠 详细讲解

📌 一、什么是 ifconfig?

ifconfig 是 interface configuration 的缩写,是 Linux 中用于查看和配置网络接口的传统命令。

📌 它可以用来:

查看当前系统中所有网络接口的状态

临时设置 IP 地址、子网掩码、广播地址

启用或禁用网卡

查看 MAC 地址、MTU、数据包统计等信息

⚠️ 注意:ifconfig 已被标记为过时命令,推荐使用 ip 命令(见后续章节)。但因其广泛使用,仍需掌握。

📌 二、基础用法示例

✅ 示例 1:显示所有网络接口信息

$ ifconfig

eth0: flags=4163 mtu 1500

inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255

ether 00:0c:29:xx:xx:xx txqueuelen 1000 (Ethernet)

RX packets 123456 bytes 123456789 (117.7 MiB)

TX packets 654321 bytes 987654321 (941.9 MiB)

lo: flags=73 mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

loop txqueuelen 1000 (Local Loopback)

RX packets 1234 bytes 123456 (120.6 KiB)

TX packets 1234 bytes 123456 (120.6 KiB)

📌 输出含义:

flags:接口状态标志

UP 表示启用

RUNNING 表示物理连接正常

inet:IPv4 地址

netmask:子网掩码

broadcast:广播地址

ether:MAC 地址

RX/TX packets:接收/发送的数据包数量

mtu:最大传输单元(默认 1500)

✅ 示例 2:只查看特定网卡的信息

$ ifconfig eth0

📌 非常适合在脚本中提取某个接口的详细信息。

📌 三、常用操作与参数详解

✅ 操作 1:启用/禁用网卡

sudo ifconfig eth0 up # 启用网卡

sudo ifconfig eth0 down # 禁用网卡

📌 适用于重启网络服务失败后的手动恢复。

✅ 操作 2:临时设置 IP 地址和子网掩码

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

📌 适用于临时测试网络环境,重启后失效。

✅ 操作 3:设置广播地址

sudo ifconfig eth0 broadcast 192.168.1.255

📌 多用于局域网通信测试。

✅ 操作 4:查看网卡的 MAC 地址

$ ifconfig eth0 | grep ether

ether 00:0c:29:xx:xx:xx txqueuelen 1000 (Ethernet)

📌 或者使用 cat /sys/class/net/eth0/address

📌 四、常见网络接口类型

接口名

类型

说明

lo

Loopback

本地回环接口,用于本地测试

eth0, eth1

Ethernet

有线以太网接口

ens33, enp0s3

新式命名规则(systemd)

更具可读性

wlan0, wlp2s0

Wi-Fi

无线网卡接口

docker0

Docker 虚拟网络

容器桥接网络接口

veth*

虚拟接口

通常用于容器或虚拟化技术

📌 五、进阶实战案例

🧪 场景 1:脚本中判断网卡是否启用

#!/bin/bash

iface="eth0"

if ifconfig "$iface" | grep -q "RUNNING"; then

echo "✅ $iface 正在运行"

else

echo "❌ $iface 未启用"

fi

📌 可用于自动化部署或健康检查脚本。

🧪 场景 2:临时搭建测试环境(模拟多 IP)

sudo ifconfig eth0:0 192.168.1.200 netmask 255.255.255.0 up

📌 创建虚拟接口 eth0:0,实现单网卡多 IP 测试 Web 服务绑定。

🧪 场景 3:快速清除 IP 地址并重置

sudo ifconfig eth0 0.0.0.0 down

sudo ifconfig eth0 up

📌 清除 IP 并重新启用网卡,常用于 DHCP 获取新 IP 前的操作。

📌 六、不同 Linux 发行版上的行为差异

发行版

是否自带 ifconfig

所属软件包

特点

Ubuntu 18.04+

❌ 默认不安装

net-tools

推荐使用 ip

CentOS 7/8

✅ 默认安装

net-tools

支持完整功能

EulerOS 2.9+

✅ 默认安装

net-tools

华为企业级系统

Alpine Linux

❌ 默认不带

net-tools

需手动安装

Arch Linux

❌ 默认不带

net-tools

推荐使用 ip

🔧 安装建议:

# Ubuntu/Debian

sudo apt install net-tools

# CentOS/EulerOS

sudo yum install net-tools

# Alpine

apk add net-tools

📌 七、与 ip 命令对比(现代替代方案)

功能

ifconfig

ip

查看接口信息

ifconfig

ip addr show

设置 IP 地址

ifconfig eth0 192.168.1.10

ip addr add 192.168.1.10 dev eth0

启用网卡

ifconfig eth0 up

ip link set eth0 up

禁用网卡

ifconfig eth0 down

ip link set eth0 down

支持 IPv6

有限

完整支持

性能与兼容性

传统工具

推荐使用,更强大

📌 推荐学习顺序:

初学者先学 ifconfig

进阶后转向 ip 命令,因为它支持更多高级功能(如 VLAN、策略路由等)

📌 八、结合实际项目举例

📂 项目背景:服务器突然无法访问外部网络

✅ 故障排查步骤:

查看网卡是否启用

ifconfig eth0

若无输出或没有 inet 地址,说明网卡可能被禁用。

尝试启用网卡

sudo ifconfig eth0 up

尝试设置静态 IP(若 DHCP 无效)

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

检查网关是否可达

ping 192.168.1.1

检查 DNS 解析

nslookup www.example.com

📌 通过这些步骤可以快速定位是网卡问题、IP 配置问题还是 DNS/DHCP 问题。

📚 总结

通过本章学习,你应该已经掌握:

ifconfig 命令的基本语法和参数含义

如何使用 ifconfig 查看、配置网络接口信息

在 Shell 脚本中结合 ifconfig 实现自动化网络检测

不同 Linux 发行版下的兼容性问题及解决方法

实战中如何避免误操作和性能陷阱

💡 提醒:虽然 ifconfig 已被现代 Linux 系统逐步淘汰,但它仍是运维人员必须掌握的基础命令之一。熟练掌握它将帮助你在旧系统维护、脚本编写和紧急排障中游刃有余。

如果你还想深入了解 ifconfig 在 Python、Go、Shell 脚本中的高级用法,请继续提问 👇

相关推荐

男人射精时抽搐怎么回事
下载365app

男人射精时抽搐怎么回事

📅 07-10 🔥 283
[分享评测]Moto Z电池模块 摩电能量的体现
怎么下载和安装pps影音客户端
beat365网址大全

怎么下载和安装pps影音客户端

📅 07-11 🔥 831
怎么把手机屏幕倒过来
beat365网址大全

怎么把手机屏幕倒过来

📅 07-01 🔥 33
1寸等于多少米?
365bet亚洲真人

1寸等于多少米?

📅 06-27 🔥 81
“一代名将”魏延之死,历史上的魏延,究竟是个什么样的人?