繁体   English   中英

在Linux中允许或阻止对端口的访问

[英]Allow or Blocking access in Linux to a port

对于我当前正在处理的项目,任务是从磁盘读取以下格式的文件:

port number [in/out/both]

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

一种方法是在引导时读取文件,然后将端口和类型输入数据结构并将其保存在内存中;当进程尝试使用端口时,请根据以下位置的数据结构授予访问权限:记忆。 问题是,我不知道该如何实际实施,只需要朝正确的方向推进即可。 我知道可以使用iptables完成此操作,但这是不允许的。

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

在Linux内核空间中存储结构数组

编辑:

对于您特定的数据包过滤问题,我建议您从内核内部使用netfilter框架来设置适当的规则,以执行所需的操作。 创建自己的数据包过滤框架可能太复杂了-再者,重新发明轮子通常不是一个好主意。

netfilter子系统是相当模块化的,因此您可能要考虑是否可以仅创建具有预期功能的另一个模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM