Linux:当用户具有静态定义的 IP 地址时不允许访问网络

Linux:当用户具有静态定义的 IP 地址时不允许访问网络

在我的网络中,我运行 dhcpd3,设置为仅将 IP 地址分配给特定的 MAC 地址。它工作得很好,我甚至将它与 bind9 集成,以自动创建具有自定义 TLD 的直接和反向 DNS 主机名等。

但有一件事我还没搞清楚:如果用户在他的机器上设置一个静态 IP,他就可以访问网络。使用 iptables 过滤不在 dhcpd3 分配范围内的 IP 地址也没有多大帮助,因为如果 IP 地址为 192.168.0.20 的用户不在办公室,该 IP 地址仍会在允许列表中。当他插入计算机时,我们会遇到很多地址重复等问题。

一种解决方案是,dhcpd3(或其他 DHCP 服务器)运行一个外部脚本,该脚本调用 iptables 来解除对地址的阻止,但这并没有什么用,我找不到可以执行此操作的 DHCP 服务器。

我考虑过使用 802.1X 和 RADIUS,但我网络上的一些打印机和 IP 电话不支持它,所以我需要告诉交换机一些端口不使用 802.1X。这打开了一个漏洞,他们可以在网络中添加小型 8 端口交换机并将他们的机器插入那里。此外,IP 电话有一个嵌入式 2 端口交换机。

我知道有一种叫做 RADA 的东西,它允许特定的 MAC 地址绕过 RADIUS 身份验证,但不幸的是我的交换机不支持它。

我真的对这个问题没什么主意了。也许有一个非常简单而优雅的解决方案,但我自己实在找不到。

答案1

你不能在 IP 级别上做到这一点;如果用户将他的计算机配置为具有有效的地址/掩码,它将要能够访问您的网络。这里唯一的选择是在 MAC 级别过滤访问,从而只允许属于您信任的计算机(或设备)的以太网卡。802.1x 确实是这里最好的解决方案。

答案2

我猜在系统分配 IP 地址后打开过滤器会导致时间问题。我会先使用 arpwatch 或类似的东西来扫描新系统,将其与 DHCP 租约表或允许的系统列表进行比较,如果发现未经授权的系统,则在此时阻止它。如何阻止它取决于您的网络布局和硬件。如果您在办公室不使用很多桌面交换机,我的想法是停用有问题的交换机端口。

另一个更简单的解决方案可能是为大多数端口激活 802.1X,但对无法启用该功能的端口使用允许的 MAC 列表。当然,您的交换机型号必须支持此功能。

答案3

有些交换机可以满足您的要求。对于某些思科 Catalytic 交换机,有一项名为“ip source guard”的功能可以满足您的要求。(其他一些供应商也有类似的功能;只需在 Google 中搜索供应商名称和“ip source guard”即可)。

来自思科文档:

“当在不受信任的接口上启用 DHCP 侦听时,您可以启用 IP 源防护。在接口上启用 IP 源防护后,交换机将阻止接口上接收的所有 IP 流量,但 DHCP 侦听允许的 DHCP 数据包除外。端口访问控制列表 (ACL) 应用于接口。端口 ACL 仅允许源 IP 地址在 IP 源绑定表中的 IP 流量,并拒绝所有其他流量。”

看:http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_35_se/configuration/guide/swdhcp82.html 有关思科交换机上的 ip source-guard 和 dhcp snooping 的更多信息。

答案4

您可能能够将某些端口限制到特定的 MAC 地址。如果您将每个端口限制到特定的 MAC(例如打印机的 MAC)或使用 802.1X 来验证其使用情况,那么您可能已经尽可能安全并且保持理智。

我认为有些交换机如果检测到未经授权的 MAC 地址,就有关闭端口的功能,因此只要将集线器连接到打印机的位置,就会导致打印机在将计算机连接到集线器后处于离线状态。

它需要多安全/你要保护什么?你能通过手动检查来增强这一点吗(只需将头伸进每个房间寻找连接到端口的奇怪东西即可。)

相关内容