iptables,允许从某些 MAC 地址访问

use*_*171 9 iptables authentication mac-address

目前,我限制了哪些客户端可以通过 iptables 使用 IP 地址访问我的服务器,只有经过批准的 IP 地址才能连接。

但是,问题在于如果客户端在笔记本电脑上并转到不同的位置,他们将无法再连接,因为 IP 已更改。

由于各种原因,iptables 身份验证是我唯一的选择。

有没有办法通过设备而不是 IP 地址来限制访问。例如,只允许某些 MAC 地址连接到端口 5000。

是否可以通过 iptables 做到这一点?请注意,计算机不在同一网络上,它们可以从世界任何地方连接。

Izz*_*zzy 9

iptables 有一个mac模块。你可以这样使用它:

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
Run Code Online (Sandbox Code Playgroud)

nixCraft 有一个关于如何基于 mac 地址创建过滤规则的广泛指南

但这仅适用于同一网络,因为 MAC 地址是特定于链路层的,并且在使用路由时不会被转发。因此,只要设备位于需要路由的不同网络上,这将不起作用。


use*_*517 8

您不能这样做,因为您无法通过 Internet 连接使用MAC 地址

为了做你想做的事,设置一个VPN并只允许通过它连接到你的关键基础设施会更安全。如果您不能这样做,那么您可以尝试设置某种两因素身份验证

如果您真的只使用 iptables,那么您可以通过端口敲门来解决问题。Arch Linux wiki 中似乎有一个相当不错的教程,但请注意警告,不要在您的环境中使用示例端口/序列。

将上述技术结合起来会更好。