目前,我限制哪些客户端可以通过iptables使用IP地址访问我的服务器,只有经过批准的IP地址才能连接。
但是,这个问题是,如果客户端在笔记本电脑上,并且去了一个不同的位置,他们不能再连接,因为IP已经改变了。
由于各种原因,iptablesauthentication是我唯一的select。
有没有办法限制访问设备而不是IP地址。 例如,只允许某个MAC地址连接到5000端口。
是否有可能通过iptables做到这一点? 请注意,这些计算机不在同一个networking上,可以从世界任何地方连接。
你不能这样做,因为MAC地址不可用于已经穿越互联网的连接。
要做你想做的事情,设置一个VPN会更安全,只允许通过它连接到你的关键基础设施。 如果你不能这样做,那么你可以尝试设置某种双因素authentication 。
如果你真的被困在iptables那么你可能会通过端口敲门 。 在Arch Linux上似乎有一个相当不错的教程 ,但留意警告,不要在您的环境中使用示例端口/序列。
上述的组合会使技术更好。
iptables有一个mac模块。 你可以像这样使用它:
/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
nixCraft有关如何基于mac地址创build过滤规则的广泛指南 。
但是这只能在同一个networking上工作,因为MAC地址是链路层特定的,在使用路由时不会被转发。 所以,只要设备在需要路由的不同networking上,这是行不通的。