ifconfig 使用详解

在这里插入图片描述

ifconfig(Interface Configurator)是 Linux 和 Unix 系统中用于配置和查看网络接口的经典工具。尽管现代 Linux 系统逐渐转向 ip 命令(来自 iproute2 工具包),但 ifconfig 仍然广泛使用。以下是 ifconfig 的详细使用说明:


一、基本语法

ifconfig [选项] [接口] [操作]

二、常见用途及示例

1. 查看所有网络接口信息

ifconfig
# 或指定接口(如 eth0、wlan0)
ifconfig eth0

输出说明

  • inet: IPv4 地址
  • netmask: 子网掩码
  • inet6: IPv6 地址
  • ether: MAC 地址
  • RX/TX: 接收/发送的数据包统计

2. 启用/禁用网络接口

# 启用接口(如 eth0)
sudo ifconfig eth0 up
# 禁用接口
sudo ifconfig eth0 down

3. 配置 IP 地址和子网掩码

# 临时设置 IP 地址(重启后失效)
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 或简写
sudo ifconfig eth0 192.168.1.100/24

4. 修改 MAC 地址

sudo ifconfig eth0 down          # 先关闭接口
sudo ifconfig eth0 hw ether 00:11:22:33:44:55
sudo ifconfig eth0 up           # 重新启用

注意:MAC 地址修改是临时的,重启后恢复。


5. 启用混杂模式(Promiscuous Mode)

sudo ifconfig eth0 promisc      # 启用
sudo ifconfig eth0 -promisc     # 禁用

用途:用于网络抓包分析(如 Wireshark)。


6. 设置 MTU(最大传输单元)

sudo ifconfig eth0 mtu 1500

默认值为 1500(以太网),可调整用于优化网络性能。


三、其他选项

选项 说明
-a 显示所有接口(包括未启用的)
-s 显示简要统计信息
--help 查看帮助

四、常见问题

1. 新系统中没有 ifconfig

  • 安装 net-tools 包:
    sudo apt install net-tools    # Debian/Ubuntu
    sudo yum install net-tools    # CentOS/RHEL
    

2. ifconfig vs ip 命令

现代 Linux 推荐使用 ip 命令(功能更强大):

ip addr show       # 查看接口(类似 ifconfig)
ip link set eth0 up  # 启用接口
ip addr add 192.168.1.100/24 dev eth0  # 添加 IP

3. 配置永久生效

ifconfig 的配置是临时的,需通过以下方式持久化:

  • 编辑网络配置文件(如 /etc/network/interfaces 或使用 NetworkManager)。
  • 使用 netplan(Ubuntu 18.04+)。

五、总结

  • 适用场景:快速查看或临时配置网络接口。
  • 局限性:逐步被 ip 命令取代,建议学习 iproute2 工具集。
  • 注意权限:大部分操作需 root 权限(使用 sudo)。

掌握 ifconfig 仍对维护旧系统或脚本兼容性有帮助,但建议逐步过渡到 ip 命令。