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:

目前评论:45   其中:访客  32   博主  13

    • 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 朱双印 Admin

                                                      @fantastic_show 贵在坚持,坚持看完应该会有所收获的,感谢客官肯定,常来呦~亲~

                                                    • 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 朱双印 Admin

                                                                      @越来越好 squid没有用过,不好意思没有办法帮助到你,不过有可能总结Varnish,但是目前没有这方面的打算,我不会的东西太多,要学习的东西也太多,所以我会先把时间分配给需要学习的,我自己会用到的知识,最近工作太忙,不过我会抽时间鞭策自己的,你们的支持是我前进的动力,常来捧场呦~~朋友~希望我的博客可以帮助到你~加油~!

                                                                    • avatar 呆呆呆不懂 1

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

                                                                      • avatar 某人 1

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

                                                                          • avatar 朱双印 Admin

                                                                            @某人 谢谢客官的肯定,能够对你有所帮助就好,常来光顾呦,亲~~~

                                                                          • avatar 问天 3

                                                                            写的真棒!看完收获颇丰

                                                                              • avatar 朱双印 Admin

                                                                                @问天 谢谢兄弟捧场,共同努力,共同进步 :mrgreen:

                                                                              • avatar 小石头 1

                                                                                消灭零回复

                                                                                  • avatar 朱双印 Admin

                                                                                    @小石头 兄弟,iptables的总结已经告一段落了,之后会总结其他方面的知识,不过我会坚持更新的,你们的支持是我前进的动力,谢谢啦~~谢谢兄弟捧场~~~