我希望我的服务器可以作为某些客户端的互联网网关。我并不关心是否启用转发,而是将其限制为仅供某些客户端使用。
我不需要允许iptables
从指定 IP 地址进行访问的硬编码规则,因为网络中的机器可以声明它想要的任何 IP。
我正在寻找一种对机器进行身份验证的方法,然后动态添加一条规则,授予其 IP 通过我的服务器重定向流量的权利,并且可能每分钟运行一个 cron 作业来检查 IP 地址是否仍然分配给同一台机器。
主意
到目前为止,我的想法是创建一个小型网站来验证用户身份(例如使用令牌),然后使用 PHP 的exec
函数来创建iptables
规则。我唯一的问题是安全地授予 apache 权利sudo
。
答案1
也许更简单的方法是使用 iptables 中的 mac 身份验证并跳过整个单独的网站部分。当然,这不会动态添加规则,因此可能不符合您的喜好,但它足以仅允许您所需的用户访问。当然,MAC 欺骗是一种官方可能性,但如果您的用户如此精明/具有欺骗性,那么您将面临更大的问题。