1

我正在旧 PC 上设置 WAMP/LAMP 堆栈。这台计算机将与大约十二台其他 PC 连接到本地网络。我有兴趣限制来自其他人的计算机的访问,以便只有我和我的伙伴可以访问我们的本地服务器。我认为最好的方法是阻止其他人的 MAC 地址(路由器自动分配 IP,所以我不想依赖它)。我想补充一点,我无权访问路由器的配置页面,因此必须从服务器本身完成。

任何人都可以扩展这是如何完成的吗?

4

3 回答 3

3

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
于 2009-05-28T09:07:49.667 回答
1

首先要看的是路由器的控制面板。通常路由器(至少对于无线路由器)允许基于物理地址的访问控制。

对您有帮助的第二件事是防火墙。寻找通过 mac 地址限制访问的防火墙(如果您使用的是 linux,我很确定它已经具有此功能,在我的 wintel 上,我使用的是 Comodo Personal Firewall,它允许我按物理地址进行过滤。)

于 2009-05-28T08:38:23.847 回答
1

如果您不能摆弄路由器,那么您必须对服务器本身实施限制:根据您想要的偏执程度,您想到的一些选项是:

  • 最简单 - 在 Apache 中设置一个 VirtualHost,将主机名设置为无法通过 DNS 解析的唯一名称:只需将此条目添加到本地主机文件,然后瞧 - 任何通过 IP 访问服务器的人都将获得默认的 Apache 主机(欢迎页面)。
  • 中 - 使用 mod_auth_basic 添加基本(通过 htpasswd 的用户名 + 密码)访问网络服务器
  • 最难 - 添加 iptables 规则以阻止对端口 80 的所有访问,除了来自给定 mac 的访问
于 2009-05-28T08:46:50.333 回答