iptables详解(14):iptables小结之常用套路

  • A+
所属分类:iptables  linux基础

不知不觉,已经总结了13篇iptables文章,这些文章中有一些需要注意的地方。

此处,我们对前文中的一些注意点进行总结,我们可以理解为对"常用套路"的总结。

记住这些套路,能让我们事半功倍。

阅读这篇文章之前,请确定你已经阅读了之前的文章,否则你有可能会不理解为什么要这样做。

iptables详解(14):iptables小结之常用套路

1、规则的顺序非常重要。

如果报文已经被前面的规则匹配到,iptables则会对报文执行对应的动作,通常是ACCEPT或者REJECT,报文被放行或拒绝以后,即使后面的规则也能匹配到刚才放行或拒绝的报文,也没有机会再对报文执行相应的动作了(前面规则的动作为LOG时除外),所以,针对相同服务的规则,更严格的规则应该放在前面。

 

2、当规则中有多个匹配条件时,条件之间默认存在"与"的关系。

如果一条规则中包含了多个匹配条件,那么报文必须同时满足这个规则中的所有匹配条件,报文才能被这条规则匹配到。

 

3、在不考虑1的情况下,应该将更容易被匹配到的规则放置在前面。

比如,你写了两条规则,一条针对sshd服务,一条针对web服务。

假设,一天之内,有20000个请求访问web服务,有200个请求访问sshd服务,

那么,应该将针对web服务的规则放在前面,针对sshd的规则放在后面,因为访问web服务的请求频率更高。

如果将sshd的规则放在前面,当报文是访问web服务时,sshd的规则也要白白的验证一遍,由于访问web服务的频率更高,白白耗费的资源就更多。

如果web服务的规则放在前面,由于访问web服务的频率更高,所以无用功会比较少。

换句话说就是,在没有顺序要求的情况下,不同类别的规则,被匹配次数多的、匹配频率高的规则应该放在前面。

 

4、当iptables所在主机作为网络防火墙时,在配置规则时,应着重考虑方向性,双向都要考虑,从外到内,从内到外。

 

5、在配置iptables白名单时,往往会将链的默认策略设置为ACCEPT,通过在链的最后设置REJECT规则实现白名单机制,而不是将链的默认策略设置为DROP,如果将链的默认策略设置为DROP,当链中的规则被清空时,管理员的请求也将会被DROP掉。

 

好了,套路就总结到这里,希望能够对你有所帮助。

 

weinxin
我的微信公众号
关注"实用运维笔记"微信公众号,当博客中有新文章时,可第一时间得知哦~
朱双印

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:51   其中:访客  43   博主  8

    • avatar 老徐 0

      半个多月时间,拜读完成,受益匪浅! 感谢作者

      • avatar 老张 2

        感谢博主好文。期待更多精彩文章,谢谢!
        下面还是错误字。

        如果将链的默认策略设置诶DROP

        • avatar 小屋 0

          感谢博主,写的非常清晰易懂,不过少了nat的内容,后续还会有nat的内容吗?

          • avatar 前转后不前不后 0

            感谢博主,作为一个偏前端的人我也能看懂,而且还知道哪些是我目前需要的,感谢

            • avatar xiaopan233 0

              感谢博主带我理解了iptables。博主的其他文章对我也很有帮助。感谢大佬!!!

              • avatar 是学长啊 0

                花了两天时间,看完了朱兄的iptables系列,朱兄讲解的真是层次分明,浅显易懂,非常感谢朱兄

                • avatar fdc 1

                  全篇终于看完,前后用了一个月,自己也做了大量测试,真的万分感谢您的BLOG,带我进入iptables大门,谢谢

                  • avatar 那个谁 0

                    我一般看过帖子不评论的,但是看了博主的这个帖子,真的写的不错,通俗易懂还很全面。拜读完毕,准备看你其他的内容了,感谢分享!!!

                    • avatar somebody 0

                      看了一天看完了,感谢博主…

                      • avatar firewalld 0

                        写得太棒了,逻辑清晰!感谢

                        • avatar kevin 1

                          你好,看完了你的这个系列文章,让我对 iptables 有了更全面和更深刻的认识。感谢。但是看到这里发现博主好像没有提到 iptables 的 snat 和 dnat 这一部分内容。最近在学习 iptables 除了做过滤规则,还有就是想做转发规则。期待博主能继续更新。

                          • avatar 轮世 0

                            看完博主的iptables系列真是受益匪浅,非常细致详细!

                            • avatar 0

                              也是在研究k8,看到博主这篇,豁然开朗,感谢。

                              • avatar 宇宙尽头 2

                                最近在研究kubernetes网络,无意中看到博主的文章,这组博文是入门iptables非常好的材料,实验清晰,讲述名白,用了一个周末拜读完毕。写的很细致,博主应该是个暖男类型 :mrgreen: 。再次感谢。

                                • avatar Chenxb 0

                                  hello 请问作者了解如何用iptables 做本地主机的应用控制吗?就是在这个机器里只让某些进程访问网络,其他进程不能访问?

                                  • avatar 在别处 0

                                    文章写得很专业很细致,终于我把防火墙这部分给弄懂了。但是好像缺了NAT部分的一些内容。

                                    • avatar hugeo 1

                                      感谢,看完了,舒畅!

                                      • avatar J3ck0r 2

                                        博主写得很好,长见识了,谢谢!

                                        • avatar 思绪飘然 1

                                          请问一下大佬,我见过有些地方动作指定为MARK的,好像也不是自定义链,有什么特殊作用吗,像下面的
                                          Chain KUBE-MARK-MASQ (41 references)
                                          target prot opt source destination
                                          MARK all — 0.0.0.0/0 0.0.0.0/0 MARK or 0x4000

                                            • avatar 宇宙尽头 2

                                              @思绪飘然 这里的MRAK也是-j的target,nfmark是个32bit,将数据包的nfmark和0x4000做“位或”操作,就是让nfmark最高位置1。这个数据包的nfmark应该会和ip rule中的fwmark做匹配来进行策略路由之类的应用。

                                            • avatar 看完朱双印个人日志的人 0

                                              看完了,很有启发!

                                              • avatar jason 1

                                                感觉还有好多没有讲。能不能再进一步,讲多点。我目前是用的ros。ros是基于iptables开发的,为了搞清楚防火墙的应用,于是从iptables学起。ros防火墙的选项貌远不止这些,iptables肯定也是有对应的。

                                                • avatar 卧石青篱 1

                                                  朱工,iptables可以记录一个规则上匹配到的数据包和字节个数,这样我们可以实现流量统计。有个问题就是,有没有办法直接限制一个规则最多可以匹配到的字节数,以实现流量限制(这个流量限制不是网速的限制,而是一个总的流量的限制)?非常感谢

                                                  • avatar iptables 1

                                                    centos 7已默认不使用iptables了,希望能写个:firewall-cmd和firewalld的教程!

                                                    • avatar iptables 1

                                                      写得非常好,是我在整个互联网中找到的最好的教程,已全部保存为mhtml文件并准备打印供同事们一起学习!

                                                        • avatar 朱双印 Admin

                                                          @iptables 希望能推荐同事看在线版本,大家都能保存,但是肯捧场的不多,谢谢肯定,常来

                                                        • avatar jd 0

                                                          完结打卡😆

                                                          • avatar 我只看看 1

                                                            ACCEPT icmp — anywhere anywhere icmp echo-reply
                                                            ACCEPT icmp — anywhere anywhere icmp echo-request limit: avg 10/sec burst 20
                                                            DROP icmp — anywhere anywhere icmp echo-request
                                                            比如我有以上规则,其实drop是不会发生的对吧?

                                                              • avatar Ray 1

                                                                @我只看看 1对1的测试肯定不丢,因为发包的频率低于生成令牌的速率,如果N个人一起ping,肯定有人丢了

                                                              • avatar yyrdl 0

                                                                谢博主,很详细。

                                                                • avatar 谁见过风 0

                                                                  一口气看完的,感谢,共勉

                                                                  • avatar Higx 0

                                                                    谢谢指导,看完后对整个iptables基本入门了,十分感激。

                                                                    • avatar fantastic_show 0

                                                                      看了两遍,基本已经入门,非常感谢你的分享

                                                                      • avatar fantastic_show 0

                                                                        总结的确实不错,根据iptables系列下来完全可以入门了

                                                                        • avatar linux菜鸟 0

                                                                          无意发现这篇博客,博主总结的很多东西都非常棒,写的每个知识点都有看了一遍,真心感谢,希望持续更新Linux相关知识

                                                                            • avatar 朱双印 Admin

                                                                              @linux菜鸟 谢谢客官捧场,如果想要提高博客质量,总是需要花费更多的时间,不过有你们的肯定与支持,我有空了肯定会继续更新的,一起加油~~

                                                                            • avatar yuyang 0

                                                                              博主iptables系列的文章相当棒啊,一口气读下来感觉神清气爽啊,希望读到更多博主的文章

                                                                                • avatar 朱双印 Admin

                                                                                  @yuyang 神清气爽,常来捧场,客官评论没毛病~~~~

                                                                                • avatar zhengjiajin 0

                                                                                  博主,iptables 的文章很不错。

                                                                                  • avatar 请输入您的QQ号 1

                                                                                    棒棒哒,话说你是前端出身吗?

                                                                                    • avatar 越来越好 0

                                                                                      博主你好,初次接触Linux,第一次看到这么好的文章,一口气读完14章节的IPTABLES,受益匪浅。敬佩之情油然而生。希望能有关于squid的专题,谢谢。

                                                                                      • avatar 呆呆呆不懂 1

                                                                                        写的灰常好,我现在还有个疑惑,我看iptables扩展匹配还有过滤mac的功能,我以前以为到iptables作用的时候把二层帧首部剥掉了,那mac又是如何过滤的呢?还是我从根本上的认识就错了、、在iptables的时候还包含二层mac首部?

                                                                                        • avatar 某人 1

                                                                                          支持下,总结的很好,看完后对iptables了解更清晰了,感谢!

                                                                                          • avatar 问天 3

                                                                                            写的真棒!看完收获颇丰

                                                                                            • avatar 小石头 1

                                                                                              消灭零回复

                                                                                                • avatar 朱双印 Admin

                                                                                                  @小石头 iptables的总结已经告一段落了,之后会总结其他方面的知识,不过我会坚持更新的,谢谢关注~