MAC 使用命令行终端在 Wifi 接入点上的地址 Blocking/Filtering

MAC Address Blocking/Filtering on Wifi Access Point using command line terminal

我可以在 Raspberry Pi 中通过充当 Jatson Nano 接入点的 wifi 卡获得 Wifi 连接。
但现在我想继续研究连接到 Jatson Nano AP 的设备,并启动 Raspberry Pi 以外的设备。如果我假设,我知道 Pi 的 MAC 地址,是否可以启动任何与该 MAC 地址不匹配的设备?
注意:这个 AP 是 wifi 卡而不是路由器,所以没有设置面板来过滤 MAC 地址,只能通过 ssh 或一些 bash/python 脚本
使用终端命令来完成 是否可以使用终端 block/filter 具体 MAC 地址?

您可以尝试使用 iptables 按 MAC 地址过滤。查看 this answer.

# Create the DHCP_clients chain in the 'raw' table
iptables -t raw -N DHCP_clients

# Incoming DHCP, pass to chain processing DHCP
iptables -t raw -A PREROUTING -p udp --dport 67 -j DHCP_clients

# Allowed DHCP clients
iptables -t raw -A DHCP_clients -m mac --mac-source <ALLOWED MAC> -j ACCEPT

# Deny other clients not listed above
iptables -t raw -A DHCP_clients -j DROP


  • raw table 指定为 -t

raw: This table is used mainly for configuring exemptions from connection tracking in combination with the NOTRACK target. It registers at the netfilter hooks with higher priority and is thus called before ip_conntrack, or any other IP tables. It provides the following built-in chains: PREROUTING (for packets arriving via any network interface) OUTPUT (for packets generated by local processes)

-t, --table table
This option specifies the packet matching table which the command should operate on.
  • 并创建一个新的链名称以供参考。
-N, --new-chain chain
Create a new user-defined chain by the given name. There must be no target of that name already.
  • 原始 table 提供 PREROUTING(对于通过任何网络接口到达的数据包),-A 将规则附加到您的链。
  • DHCP 使用端口 67 和 68 以及 UDP 协议。您可以通过阻止这些端口上的通信来阻止 DHCP 请求。
-A, --append chain rule-specification
Append one or more rules to the end of the selected chain.
  • 然后你有规则只接受你想要的 MAC 地址并丢弃所有其他地址。

iptables manual