接口配置
理解接口配置基本字段含义
配置输出
在 MacOS 上,ifconfig 命令(interface configuration)用于查看和配置网络接口:
$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
anpi1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:a7
media: none
status: inactive
anpi0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:a6
media: none
status: inactive
anpi2: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:a8
media: none
status: inactive
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:86
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:87
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether ea:b2:22:1a:98:88
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 36:71:50:ac:55:00
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 36:71:50:ac:55:04
media: autoselect <full-duplex>
status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 36:71:50:ac:55:08
media: autoselect <full-duplex>
status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 36:71:50:ac:55:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x0
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 10 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 11 priority 0 path cost 0
member: en3 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 12 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive
ap1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether be:c2:5b:f4:16:75
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (none)
status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether 72:aa:f6:89:9b:43
inet 192.168.1.100 netmask 0xffffff00 broadcast 255.255.255.0
inet6 fe80::ca6:5ef6:4cfb:b51d%en0 prefixlen 64 secured scopeid 0x10
inet6 fdbd:ff1:ce00:2c8:18bd:89f3:be98:506d prefixlen 64 autoconf secured
inet6 fdbd:ff1:ce00:2c8::15da prefixlen 64 dynamic
inet 10.79.234.25 netmask 0xfffff000 broadcast 10.79.239.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
awdl0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether a2:fa:be:62:2c:71
inet6 fe80::a0fa:beff:fe62:2c71%awdl0 prefixlen 64 scopeid 0x12
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether a2:fa:be:62:2c:71
inet6 fe80::a0fa:beff:fe62:2c71%llw0 prefixlen 64 scopeid 0x13
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (none)
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet6 fe80::bfb1:85f6:9d3b:a910%utun0 prefixlen 64 scopeid 0x14
nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::65a7:a362:27ae:589f%utun1 prefixlen 64 scopeid 0x15
nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::a35e:537c:97ed:f672%utun2 prefixlen 64 scopeid 0x16
nd6 options=201<PERFORMNUD,DAD>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x17
nd6 options=201<PERFORMNUD,DAD>
en8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6464<VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether 44:67:52:0c:9e:60
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (none)
status: inactive
en6: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6464<VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether 14:4f:d7:c3:86:6c
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (none)
status: inactive配置含义
通用字段一览:
| 字段 | 含义 | 示例/备注 |
|---|---|---|
| 接口名 | 网卡或虚拟网卡的名称 | lo0、en0、awdl0 |
| flags | 接口状态标记合集 | 见下表 |
| mtu | 最大传输单元 | 以太网常见 1500 |
| ether | MAC 地址 | 72:aa:f6:89:9b:43 |
| inet | IPv4 地址 | 192.168.1.100 |
| netmask | 子网掩码 | 0xffffff00(255.255.255.0) |
| broadcast | 广播地址 | 192.168.1.255 |
| inet6 | IPv6 地址 | fe80::xxxx |
| status | 接口是否真正连上网络 | active / inactive |
| media | 物理介质 / 速率信息 | autoselect 等 |
| options | 网卡的硬件加速功能开关 | 如 TSO4、CHANNEL_IO 等 |
常见 flags 释义:
| 标记 | 含义 |
|---|---|
| UP | 接口已启用 |
| RUNNING | 已连接并工作中 |
| BROADCAST | 支持广播 |
| MULTICAST | 支持多播 |
| LOOPBACK | 本地回环 |
| POINTOPOINT | 点对点链路(隧道、VPN) |
| PROMISC | 混杂模式(抓包等) |
接口名
基础接口
- lo0:本地回环(本机与本机通信)
- bridge0:网桥(把多个接口桥接到一起)
以太网 / Wi‑Fi
- en0:主网卡(设备不同可能是 Wi‑Fi 或以太网)
- en1–en7:其他以太网/虚拟以太网接口(未连接时通常 inactive)
无线相关
- ap1:虚拟 AP(热点)
- awdl0:Apple Wireless Direct Link(AirDrop、AirPlay 等)
- llw0:Apple 低延迟无线,常与 awdl 配套
隧道 / 虚拟
- utun0–utun3:VPN 隧道(系统 VPN、AppVPN、ZeroTier、Tailscale 等)
- gif0 / stf0:隧道封装接口
- anpi0–anpi2:Apple 私有接口(系统内部用途)
总结
- 看 status: active 找到当前真正在线的接口(常见为 en0)
- lo0 仅用于本机回环通信(127.0.0.1)
- 192.168.x.x 常见家庭私网;10.x.x.x 常见企业或 VPN 私网
- awdl0 用于隔空投送等近场通信;出现 utunX 表示正在使用隧道/VPN
- 其他接口多为虚拟、未连接或系统内部用途,按需忽略