仅为经过身份验证的客户端启用网关

仅为经过身份验证的客户端启用网关

我希望我的服务器可以作为某些客户端的互联网网关。我并不关心是否启用转发,而是将其限制为仅供某些客户端使用。

我不需要允许iptables从指定 IP 地址进行访问的硬编码规则,因为网络中的机器可以声明它想要的任何 IP。

我正在寻找一种对机器进行身份验证的方法,然后动态添加一条规则,授予其 IP 通过我的服务器重定向流量的权利,并且可能每分钟运行一个 cron 作业来检查 IP 地址是否仍然分配给同一台机器。

主意

到目前为止,我的想法是创建一个小型网站来验证用户身份(例如使用令牌),然后使用 PHP 的exec函数来创建iptables规则。我唯一的问题是安全地授予 apache 权利sudo

我发现了有关该主题的这两个 SO 问题(第一的第二),但据我所知,这两个答案都存在安全问题。

答案1

也许更简单的方法是使用 iptables 中的 mac 身份验证并跳过整个单独的网站部分。当然,这不会动态添加规则,因此可能不符合您的喜好,但它足以仅允许您所需的用户访问。当然,MAC 欺骗是一种官方可能性,但如果您的用户如此精明/具有欺骗性,那么您将面临更大的问题。

相关内容