用iptables

时间:2017-04-12 16:31:13

标签: iptables portforwarding

老实说,我参与了一些事情。就像我需要输入规则一样,转发特定的过滤器。但我需要一条规则,两条,三条吗?为什么有些人FORWARD和其他人OUT,有些人甚至IN。我是否需要针对SYNESTABLISHEDRELATED的单独规则? conntrack是一个单独的包吗?为什么一个指南会-t nat而所有其他人都不会?

这真的很痛苦,因为每个人都提供了几乎复制和可用的指南,但没有足够的解释他们实际提供的解决方案,或者如果读者的设置如何获得帮助(哦惊喜)不是100%相同。

我基本上想要实现的是:

  • 接受来自*:443
  • 的所有人的联系
  • 将所有请求发送到1.2.3.4:443(除了我之外没人能达到1.2.3.4)
  • 使请求者能够接收来自1.2.3.4的响应
  • 在dmesg中查看内容是否有效,但如果没有必要则更多

请解释你为什么做或不做某事。我真的很想掌握这些东西。谢谢!

1 个答案:

答案 0 :(得分:1)

我发现的最佳解释是archwiki,即使进一步参考了更深入的描述和图表。我通过archwiki找到的一个真实的深度指南是this iptables tutorial

例如,here (Simple stateful firewall)是一个详细的例子,解释了所有决定。

因为我是一名视觉学习者,我还发现this youtube video非常有帮助,它展示并解释了一个有两个虚拟机的运行示例,几乎任何人都可以在家中重现。

现在我觉得我的水平基本上只需要参考下图,它显示了一个包如何遍历表和链:

enter image description here

阅读:

附注:

  • 我总是感到困惑,为什么有些指南包含ESTABLISHED,RELATED规则而其他指南却没有。{li>这些规则是否在那里决定是否已经存在已经存在的网络流量。例如,如果你使用ssh会话连接到机器,如果你的ssh会话不会被添加iptables规则杀死会很好,因此有一个允许你ESTABLISHED连接的规则很好。 RELATED个包用于实例对ping或网络信息包(ICMP)的响应。
  • Simple stateful firewall example还解释了不同nmap测试之间的差异。
  • 也是一个很好的overview