2017-04-12 93 views
-1

老实说,我知道发生了什么事情的一部分。就像我需要输入规则一样,使用特定的过滤器进行转发。但是我需要一个规则,两个还是三个?为什么一些人做FORWARD和其他人OUT,但还有一些人甚至IN。我需要单独的规则SYNESTABLISHEDRELATEDconntrack是一个单独的包吗?为什么一个指南做-t nat,而其他所有人都没有?用iptables包装端口转发的头脑

这真的很痛苦,因为每个人都可以提供几乎可复制的指南&,但没有足够的解释说明他们实际提供的解决方案,或者如果读者的设置(哦,惊喜)不是100% 。

我基本上要实现的是:

  • 接受*从每个人的连接:443
  • 所有请求发送到1.2.3.4:443(任何人,但我可以达到1.2.3.4)
  • 使请求者接收来自1.2.3.4以及
  • 看到响应dmesg里的东西是否有效,但不是更多,如果没有必要的

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

回答

1

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

例如,here (Simple stateful firewall)是对所有决定进行解释的详细示例。

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

现在我觉得我的水平,我大多只是需要参考下图,其中显示了包如何走过的表和链:

enter image description here

Furhter阅读:

旁注:

  • 我总是弄糊涂​​了,为什么有些指南包含ESTABLISHED,RELATED规则和别人不一样。这些规则是否在那里决定是否已经存在的网络流量被切断。例如,如果您使用ssh会话连接到计算机,那么如果您的ssh会话不会因添加iptables规则而被杀死,那么该规则会允许您的ESTABLISHED连接很好。 RELATED软件包用于实例对ping或网络信息包(ICMP)的响应。
  • Simple stateful firewall example也解释了不同nmap测试之间的差异。
  • 也不错overview