我想确定防火墙后面的哪台计算机发送数据包。
想象一下,我有 2 台 PC 在防火墙后面,我想在进行 NAT 之前,根据(我的算法)在防火墙级别做出决定。基本上拦截数据包,然后做出决定,我该怎么做?
我应该使用什么工具来编写自定义 C 代码来执行该操作。
答案1
目前尚不清楚您是否要实际对数据包中的数据进行操作,还是只是根据发送数据的计算机来路由数据?
iptables
可以做路由,而且非常复杂。具有讽刺意味的是,它利用了所谓的“表”,因此您可以在数据通过各种“表”时询问并重新路由数据。
请参阅本教程以获取更多信息:http://wiki.centos.org/HowTos/Network/IPTables。
有 3 个主要表,但可以通过插件/模块添加更多表,也可以开发自定义表。
主要的:
- 输入
- 向前
- 输出
因此,当数据包进入盒子时,它将通过“输入”表,在那里它可以被执行。当数据包流出盒子时,它们会流经“输出”表,并且也可以对其进行操作。
请查看本教程以获取有关 的更多信息iptables
。