Linux 命令 ifconfig 全面解析!

ifconfignetwork 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

更多内容

相关推荐
IT果果日记5 分钟前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教7 分钟前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特20 分钟前
环境变量简介
linux
小陈phd1 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!1 小时前
【Linux】进程状态
linux·运维
明明跟你说过1 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
Mr_Xuhhh3 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin6 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ10 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习