【问题标题】:Allow or Blocking access in Linux to a port在 Linux 中允许或阻止对端口的访问
【发布时间】:2010-11-25 05:13:42
【问题描述】:

对于我目前正在进行的项目,任务是从磁盘读取格式如下的文件:

port number [in/out/both]

因此,如果端口号后跟 in,则仅允许入站连接。如果后跟 out,则只允许出站连接,如果后跟两个则是双向的。阻止所有其他端口。

一种方法是在启动时读取文件并存储端口并输入数据结构并将其保存在内存中,当进程尝试使用端口时,根据数据结构授予访问权限那是在记忆中。 问题是,我不知道如何实际实现这一点,只需要朝着正确的方向推进。我知道这可以使用 iptables 完成,但这是不允许的。

【问题讨论】:

    标签: linux sockets linux-kernel


    【解决方案1】:

    作为 Linux 内核编码的开始,对于您的问题的某些部分,您可能会发现这很有用:

    Storing struct array in kernel space, Linux

    编辑:

    对于您的数据包过滤的具体问题,我建议您使用内核中的 netfilter 框架来设置适当的规则来满足您的需求。创建自己的数据包过滤框架可能过于复杂 - 而且重新发明轮子通常不是一个好主意。

    netfilter 子系统是非常模块化的,因此您可能需要考虑创建另一个具有您预期功能的模块的可能性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多