我已经用尽了这里的所有知识,但仍然卡住了。
问题:我想找出设备连接到哪个物理交换机端口,并引用 MAC 地址。我已经能够在有线设备上找到很多信息,但我似乎找不到任何能给我想要的命令。
下面是我试过的。
命令:BRCTL
busy box 中的默认 BRCTL 没有“showmacs”命令。为了得到这个,你必须安装 bridge 包和 --force 依赖。
我相信这个命令告诉我哪些 MAC 地址正在与网桥通信,但是 PORT 值只有 1 或 2。这似乎分别与 eth0 和 wlan0 相关,因为这是它们分配给网桥的顺序.
问题是这没有给我插入路由器背面的物理端口。 IE。 1-4。所以我一直在寻找。
输出:
brctl showmacs br-lan<br>
port no mac addr is local? ageing timer <br>
1 00:21:70:be:19:2b no 17.34 <br>
2 00:22:5f:28:64:54 no 11.16 <br>
2 10:40:f3:af:ee:6a no 0.05 <br>
1 10:6f:3f:29:72:22 yes 0.00 <br>
2 5c:0a:5b:84:27:8b no 1.25 <br>
1 5c:26:0a:7a:a7:60 no 0.00 <br>
命令:swconfig -注意我已经删除了这个命令的很多输出以使其更整洁。
此命令向我显示了一些有关端口的有用信息。它告诉连接了哪些物理端口以及连接速度。但是问题是这个命令提供的信息都没有给我 MAC 地址,这意味着我无法确定哪个设备连接到哪个端口。
我似乎找不到将 mac 地址与端口值匹配的方法。
root@OpenWrt:~# swconfig dev eth0 show
Global attributes:
enable_vlan: 1
Port 0:
mib: Port 0 MIB counters
{deleted mib values}
pvid: 1
link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
mib: Port 1 MIB counters
{deleted mib values}
pvid: 1
link: port:1 link:up speed:1000baseT full-duplex auto
Port 2:
mib: Port 2 MIB counters
{deleted mib values}
pvid: 1
link: port:2 link:up speed:1000baseT full-duplex auto
Port 3:
mib: Port 3 MIB counters
{deleted mib values}
pvid: 1
link: port:3 link:down
Port 4:
mib: Port 4 MIB counters
{deleted mib values}
pvid: 1
link: port:4 link:down
VLAN 1:
vid: 1
ports: 0 1 2 3 4
root@OpenWrt:~#
最佳答案
路由器和物理端口之间有一个开关。 swconfig 接口(interface)到该交换机。如果您有默认配置,则路由器不知道每个物理端口,它只能看到一个到交换机的连接。您有两种可能的选择,为每个物理端口配置不同的接口(interface),以便路由器可以区分它们,或者获得增强版的 swconfig,它可以查询交换芯片的内部结构,其中应该有每个端口的 MAC 列表.参见 http://wiki.openwrt.org/doc/uci/network/switch .
关于linux - 查找以太网设备的物理端口 - OPENWRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19670980/