我一直在 netfilter/iptables 主页上四处奔波,并恳求 Google,但到目前为止还没有运气。
我有一个 Rails 应用程序,它需要控制其 Linux 主机的数据包过滤。当然,它可以通过将规则转储到 /etc/sysconfig/iptables 并反弹 iptables 启动脚本来做到这一点。但如果它可以通过 API 无缝地进行调用,那就更好了。
该应用程序的要求实际上非常非常简单;它只需要添加和删除给定源 IP 地址到服务器上给定 TCP 端口的 ACCEPT 规则,即可控制对该服务的访问。
我发现了一个 ruby-iptables 项目的参考资料,但显然几年前这个项目已经垂死了。
如果我不得不求助于原始的 getsocketopt() 调用等,我将只使用文本文件并重新启动方法,这会冒犯我的 Slickness Sensor 但会让我的客户微笑,因为他更喜欢工作软件而不是真的优雅的软件,很快就会运行。