答案1
我会回顾netfilter 文档在做任何事情之前,先了解数据包如何流经各种表和链(路由决策的制定地等)是很好的第一要务。然后,您就会对产品的功能有所了解。
就实际而言:您应该使用以下内容启动您的 INPUT、FORWARD 和 OUTPUT 链,以允许已建立的连接“快捷”评估链上的所有规则,并在进行任何进一步评估之前丢弃明显无效的数据包:
-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-m conntrack --ctstate INVALID -j DROP
这将有助于提高性能,尽管您可能没有移动足够的流量来产生任何真正的差异。
您应该认真考虑将“过滤”表链上的默认策略设置为 DROP,并设计规则以明确允许流量通过,而不是试图阻止流量。
答案2
Ubuntu 上简单防火墙的首选界面是联邦快递。您可以先使用它,然后随着需求的增长逐渐转向手写 iptables 规则。该命令以接近于重新创建它的命令iptables-save
序列的格式转储当前 iptables 状态。iptables
这iptables Ubuntu 维基页面是文档的一个很好的起点。