人人都会AI编程

11.1 网络配置:ip、ifconfig 查看与配置网卡、IP、路由

更新时间:2026-07-12

在日常运维中,最频繁的网络操作就是查看网卡状态、设置 IP 地址、管理路由表。Linux 下完成这些任务的两个主要工具是传统的 ifconfig 和现代推荐的 ip 命令。理解它们的用法和区别,足以应对 90% 的网络配置场景。

1. ifconfig:经典的网络接口工具

ifconfig(interface config)来自 net-tools 软件包,历史悠久,大部分系统管理员最早接触的就是它。虽然在新版 Linux 发行版中逐渐被 ip 替代,但依然广泛可用,输出格式直观,适合快速查看。

查看所有活动网卡

ifconfig

不加参数即列出当前活跃的网络接口(包括环回口 lo 和物理网卡如 eth0、wlan0)。你会看到每个接口的 MAC 地址、IPv4 地址、子网掩码、广播地址、收发数据包统计等信息。

查看指定网卡

ifconfig eth0

仅显示 eth0 的详细信息。如果网卡未启用(down),则不会出现在无参输出中,需要加上 -a 选项显示所有接口(包括未激活的):

ifconfig -a

启用/禁用网卡

sudo ifconfig eth0 up      # 启用
sudo ifconfig eth0 down    # 禁用

临时设置 IP 地址和子网掩码

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

这会立即生效,但重启网络服务或重启系统后丢失,适合临时调试。

修改 MAC 地址

sudo ifconfig eth0 hw ether 00:11:22:33:44:55

注意ifconfig 对现代网络特性的支持已显不足(例如多 IP 显示不够清晰、无法直接管理策略路由等),因此建议将 ip 命令作为主要工具学习。

2. ip:功能更强大、设计更统一的现代工具

ip 命令来自 iproute2 工具集,是当前 Linux 网络管理的标准。它通过子命令完成各种操作,语法结构清晰:ip [ OPTIONS ] OBJECT { COMMAND | help }。常用 OBJECT 包括 addr(地址)、link(链路)、route(路由)、neigh(邻居)等。

查看所有接口的链路状态

ip link show

输出包括接口名、状态(UP/DOWN)、MAC 地址、MTU 等。只显示物理接口可以用 ip link show type ethernet

查看 IP 地址(比 ifconfig 更清晰)

ip addr show          # 所有接口的 IP
ip addr show eth0     # 指定接口

输出中每个 IP 地址都标明是 inet(IPv4)还是 inet6(IPv6),且可以直接看到一个接口上绑定的多个 IP(别名),比如 eth0:1ifconfig 中显示为子接口,而 ip 会直接在 eth0 下显示多个 inet 条目。

添加/删除 IP 地址

sudo ip addr add 192.168.1.100/24 dev eth0   # 添加
sudo ip addr del 192.168.1.100/24 dev eth0   # 删除

注意这里必须指明子网掩码用 CIDR 格式(如 /24)。一个接口可以轻松绑定多个 IP。

启用/禁用网卡

sudo ip link set eth0 up
sudo ip link set eth0 down

修改 MAC 地址

sudo ip link set dev eth0 address 00:11:22:33:44:55

查看路由表

ip route show
# 或者简写
ip r

输出会显示默认网关(default via 192.168.1.1 dev eth0)以及各个目标网段的路由条目。在没有参数的情况下,route -n(传统命令) 或 ip route 都能满足查看需求。

添加/删除静态路由

sudo ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0
sudo ip route del 10.0.0.0/8

添加默认网关:

sudo ip route add default via 192.168.1.1

查看邻居表(ARP 缓存)

ip neigh show

替代原来的 arp -n

3. 使用建议与持久化配置

  • 临时 vs 永久:所有 ipifconfig 命令直接生效,但重启后消失。要让配置永久化,需要修改发行版对应的网络配置文件。例如 Ubuntu 可以通过 /etc/netplan/ 下的 YAML 文件配置,再执行 sudo netplan apply;Red Hat 系通常在 /etc/sysconfig/network-scripts/ifcfg-eth0 中编写。但掌握 ip 命令是基础,因为永久配置工具底层调用的也是相同的 kernel 接口。
  • 命令替代对照表

| 传统命令 | 现代替代 | 示例 |
| :--- | :--- | :--- |
| ifconfig | ip addrip link | ip addr show |
| route -n | ip route show | ip route |
| arp -n | ip neigh show | ip neigh |
| netstat -rn | ip route | – |
| netstat -i | ip -s link | 查看接口统计信息 |

  • 排错提示:如果发现 ip 命令不可用,可能是 iproute2 包未安装,可使用 apt install iproute2yum install iproute。绝大多数现代发行版默认包含。

掌握 ipifconfig 的基本操作,你就具备了对 Linux 网络进行实时查看和临时调整的能力。在网络排错、临时搭建服务或云环境中绑定浮动 IP 时,这些命令会频繁用到。