Linux 命令 ifconfig 全面解析!

ifconfig 是 network interfaces configuring 的缩写。

在 Linux 操作系统中,ifconfig 用于显示或配置网络设备的参数信息。

查看网卡信息

shell 复制代码
$ ifconfig # 显示激活状态(up 状态)的网卡信息
eth0 Link encap:Ethernet  HWaddr 00:0c:29:75:8c:97  
     inet addr:192.168.58.128  Bcast:192.168.58.255  Mask:255.255.255.0
     inet6 addr: fe80::6ae2:c35e:aa62:2b95/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:1110 errors:0 dropped:0 overruns:0 frame:0
     TX packets:115 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:72987 (72.9 KB)  TX bytes:12448 (12.4 KB)

lo    Link encap:Local Loopback  
     inet addr:127.0.0.1  Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING  MTU:65536  Metric:1
     RX packets:204 errors:0 dropped:0 overruns:0 frame:0
     TX packets:204 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:15378 (15.3 KB)  TX bytes:15378 (15.3 KB)

以 eth0 为例,其网卡信息含义如下所示:

名称 含义
eth0 网卡名称
Link encap 网卡连接类型
HWaddr 网卡 MAC 地址
inet addr IPv4 的 IP 地址
Bcast 广播地址
Mask 子网掩码
inet6 addr IPv6 的 IP 地址
Scope IPv6 的域范围
UP 表示网卡已经启用
BROADCAST 表示主机支持广播
RUNNING 表示网卡正在运行中
MULTICAST 表示主机支持多播
MTU 最大传输单元
Metric 表示接口度量值
RX packets: 接收的数据包数
errors: 接收时错误的数据包数
dropped 接收时丢弃的数据包数
overruns: 接收时由于 buffer 溢出而丢弃的数据包数
frame: 接收时由于 frame 错位而丢弃的数据包数
TX packets 发送的数据包数
errors: 发送时错误的数据包数
dropped: 发送时丢弃的数据包数
overruns: 发送时由于 buffer 溢出而丢弃的数据包数
carrier: 发送时由于 carrier 错误而丢弃的数据包数
collisions: 表示冲突信息的数据包数目
txqueuelen: 表示网卡设置传输队列的大小
RX bytes: 接收的数据包字节数
TX bytes: 发送的数据包字节数

常见的网络接口

  • lo 本地回环接口
  • br0 网桥接口
  • eth0 以太网接口
  • wlan0 无线接口

其他常用命令

查看帮助

shell 复制代码
$ ifconfig --help
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [metric <NN>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [[-]dynamic]
  [up|down] ...
  
  ...

查看全部网卡信息

shell 复制代码
$ ifconfig -a

查看网卡摘要信息

shell 复制代码
$ ifconfig -s

查看指定网卡信息

shell 复制代码
$ ifconfig eth0     #查看 eth0 网卡

启用/禁用指定网卡

shell 复制代码
$ ifconfig eth0 up      #启用 eth0 网卡
$ ifconfig eth0 down    #禁用 eth0 网卡

启用/禁用 ARP 协议

shell 复制代码
$ ifconfig eth0 arp   #启用 eth0 ARP
$ ifconfig eth0 -arp  #关闭 eth0 ARP

启用/禁用广播功能

shell 复制代码
$ ifconfig eth0 broadcast 192.168.1.255   # 启用 eth0 广播功能
$ ifconfig eth0 -broadcast                # 禁用 eth0 广播功能

配置 IP、子网掩码、广播地址

shell 复制代码
$ ifconfig eth0 192.168.1.123   #配置 eth0 IP 地址
$ ifconfig eth0 192.168.1.123 network 255.255.255.0 #配置 eth0 IP 地址和子网掩码
$ ifconfig eth0 192.168.1.123 network 255.255.255.0 broadcast 192.168.1.255 #配置 eth0 IP 地址、子网掩码和广播地址

单网卡配置/删除多个 IP

shell 复制代码
$ ifconfig eth0:0 192.168.0.123 network 255.255.255.0 up #添加 IP
$ ifconfig eth0:1 192.168.0.100 network 255.255.255.0 up #添加 IP
$ ifconfg eth0:0 down #删除 IP
$ ifconfg eth0:1 down #删除 IP

配置/删除 IPv6 地址

shell 复制代码
$ ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 #为网卡设置 IPv6 地址
$ ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 #为网卡删除 IPv6 地址

修改 MAC 地址

shell 复制代码
$ ifconfig eth0 hw ether FF:AA:BB:CC:DD:EE #修改 eth0 MAC 地址

配置最大传输单元

shell 复制代码
$ ifconfig eth0 mtu 1500 #设置 eth0 能通过的最大数据包大小为 1500 bytes

开启/关闭混杂模式

shell 复制代码
$ ifconfig eth0 promisc  #开启混杂模式
$ ifconfig eth0 -promisc #关闭混杂模式

配置度量值

shell 复制代码
$ ifconfig eth0 metric 1

更多内容

相关推荐
RuoyiOffice6 分钟前
Hyper-V+Kubernetes 搭建实战:保留 Windows,构建三节点 Linux 容器集群
linux·spring boot·kubernetes·containerd·hyper-v·微服务部署·ruoyi office
承渊政道27 分钟前
Linux网络学习【五种IO模型与⾮阻塞IO】
linux·网络·学习·ubuntu·io模型·非阻塞io
wuminyu2 小时前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
kiros_wang2 小时前
通用工具模块封装:防抖节流、参数校验公共工具类
linux·运维·ubuntu
honsor2 小时前
以太网温湿度传感器|动环监控核心采集设备,协议、组网、Zabbix接入实战
linux·服务器·ubuntu
Android系统攻城狮2 小时前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
深圳恒讯2 小时前
香港云主机硬盘满了怎么办?Linux和Windows在线扩容操作教程
linux·运维·windows
Android系统攻城狮2 小时前
Linux FFmpeg深度解析之av_parser_init调用流程与实战(二十一)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
HideF2 小时前
Linux 查看用户和组
linux
寺中人3 小时前
CentOS 7进程与任务管理
linux·运维·centos·服务器搭建与管理·linux运维命令·nohup screen