我正在旧 PC 上设置 WAMP/LAMP 堆栈。这台计算机将与大约十二台其他 PC 连接到本地网络。我有兴趣限制来自其他人的计算机的访问,以便只有我和我的伙伴可以访问我们的本地服务器。我认为最好的方法是阻止其他人的 MAC 地址(路由器自动分配 IP,所以我不想依赖它)。我想补充一点,我无权访问路由器的配置页面,因此必须从服务器本身完成。
任何人都可以扩展这是如何完成的吗?
我正在旧 PC 上设置 WAMP/LAMP 堆栈。这台计算机将与大约十二台其他 PC 连接到本地网络。我有兴趣限制来自其他人的计算机的访问,以便只有我和我的伙伴可以访问我们的本地服务器。我认为最好的方法是阻止其他人的 MAC 地址(路由器自动分配 IP,所以我不想依赖它)。我想补充一点,我无权访问路由器的配置页面,因此必须从服务器本身完成。
任何人都可以扩展这是如何完成的吗?
linux/iptables,一种黑名单方式,这将丢弃来自指定 mac 地址的所有流量:
iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 1> -j DROP
iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 2> -j DROP
但是,我不确定这是否是您想要的,mac-address 并不是过滤流量的可靠方法。大多数现代 NIC 都允许您更改 MAC 地址,如果以太网帧封装的 ip 数据包已通过路由器,则以太网帧上的源 MAC 地址将是最后一个它通过的路由器而不是原始计算机。
我建议研究 mod_auth_basic 或类似的东西,在犯错时它比 iptables 更宽容。如果你决定走 iptables 路线,我会建议更多的白名单方法,其中 iptables 默认丢弃某些流量,然后允许通过你想要的。
iptables -A INPUT -p tcp --dport 80 -m mac --source <your mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m mac --source <your partners mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
首先要看的是路由器的控制面板。通常路由器(至少对于无线路由器)允许基于物理地址的访问控制。
对您有帮助的第二件事是防火墙。寻找通过 mac 地址限制访问的防火墙(如果您使用的是 linux,我很确定它已经具有此功能,在我的 wintel 上,我使用的是 Comodo Personal Firewall,它允许我按物理地址进行过滤。)
如果您不能摆弄路由器,那么您必须对服务器本身实施限制:根据您想要的偏执程度,您想到的一些选项是: