欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Red hat Linux内置防火墙软件iptables---子链 RH-Firewall-1-INPUT

iptablesLinux内置的封装包过滤软件。它定义了进出Linux封包的过滤规则。Iptables由多个表格组成,每个表格由若干链组成,每个链由若干规则组成。

其中最常用也是最重要的是管理本机进出封包的filter(过滤器)表格,filter默认包含以下3个链:

  •  INPUT链:定义了进入Linux主机的封包的过滤规则;

  •  OUTPUT链:定义了送出Linux主机的封包的过滤规则;

  • FORWORD链:这个链与本机没有什么关系,它可以转递封包到后台的计算机中,与iptables中的另外一个表格nat相关性较高;

上面三个链是filter表格中默认的链,可以称作父链。用户还可以自定义自己的链规则,可以称作子链。当封包满足一定规则,则由父链跳转到子链进行特定的处理。

iptables-save命令查看完整的防火墙规则,也即是查看/etc/sysconfig/iptables中保存的内容。在实验室服务器的执行结果如下:


其中防火墙规则可以从总体上分为两个部分,如图所示,由红线分开;

  1. 红线上面部分为防火墙filter过滤器定义的4个链:INPUTFORWARDOUTPUTRH-Firewall-1-INPUT。其中前面三个链是系统默认的链,称为父链;RH-Firewall-1-INPUT是用户自定义的链,称为子链。

  2. 红线以下部分是4个链所定义的对应的规则。这部分规则可以分为三个部分,由蓝线分开。

  • 第一部分:INPUT链所对应的规则;这部分规则其实只有第一条会有用,其他的都不会用到,因为当一个封包进入主机后,首先会进入INPUT链,然后再由INPUT链进入RH-Firewall-1-INPUT进行处理

  • 第二部分:FORWARD链所对应的规则;和INPUT链一样,封包会由RH-Firewall-1 -INPUT链所定义的规则处理

  • 第三部分:RH-Firewall-1-INPUT链所对应的规则;

其实上面这两条规则就是将子链RH-Firewall-1-INPUT分别加到INPUTFORWORD主链中,这样封包进入到INPUT链后,然后会进入到RH-Firewall-1-INPUT子链中进行相应的处理。


这是Red hat独有的防火墙设置,把INPUT 和 FORWARD 链引到一起统一处理所以在这种防火墙规则的前提下,增加防火墙规则时,必须把规则都添加到子链RH-Firewall-1 -INPUT中,这样才会生效,添加到父链中是没有效果的。


来自  https://blog.csdn.net/anonymalias/article/details/8478587



[ 标签:chain,firewall,input ]        

                        Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     esp  --  anywhere             anywhere            
ACCEPT     ah   --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
帮我解释下这几个链
==================
我刚刚加了下面这样的规则:iptables -I INPUT - p tcp -dport 2000 -J ACCEPT  可是 RH-Firewall-1-INPUT链 、NPUT链 都没有发现踪影  什么情况?




引用:
原帖由 fan798304 于 2012-1-30 15:55 发表 
[ 标签:chain,firewall,input ]        

                        Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
A ...
iptables我学得最不好了,概念性的过了一次,这个我留意,有空和你研究一下!




Chain RH-Firewall-1-INPUT  只是 插在  INPUT  表上, 等于一个 外连接 而已




呵呵,看看下面的分析:
引用:
             :lol首先呢,不说别的,你的命令就有两条错误:
                          :victory: iptables -I INPUT - p tcp -dport 2000 -J ACCEPT
                           :call: -I   //**  是插入的意思,不是增加,你没有给一个插入的位置,它插哪呀??
                           :call:-dport   //**  前面的减号应该是两个,不是一个滴...
                 所以整个命令应该是这样滴:
                           :victory: root shell# iptables -I INPUT 1 -p tcp --dport2000 -j ACCEPT
                           :victory: 上面的数字 1 表示将这条规则插入到 INPUT 链中的第一条规则之上
             :lol其次呢,iptables 命令默认使用的是filter表,所以你这个插入的命令如果成功的话,是在 filter表的INPUT链中的。
             :lol其次是呢,你问的这个链的作用的话,打个比方:楼上的人做了一个网站,写了一段文字,不过由于杂七杂八事情的需要,说:我的这段文字还没有写完,你们要想看懂我的网站就必须把他看完,并且其余的文字网放在我朋友的网站那里,了,你们去访问他的网站吧。然后呢,楼上的人就在下面贴了他朋友网站的链接,所有想要看看懂这段文字的人都要去访问它朋友的网站去看剩下的文字。
              :lol也不是太贴切的比方吧,就像这条链一样,本来所有进入的数据包都要经过是filter表的INPUT链的检查才能通过,但是现在INPUT链告诉大家,我还没完呢,你们还要通过REDHAT-INUPT链的检查才行,所以所有的数据还要再经过另一条链的检查。
本帖最近评分记录
  • l_king_lich 无忧币 +5 精品回复,经常看到你哦,很给力! ... 2012-2-27 19:00




本帖最后由 li17205 于 2012-2-27 15:39 编辑

iptables -I INPUT - p tcp -dport 2000 -J ACCEPT  


iptables -I INPUT -p tcp -dport 2000 -j ACCEPT  

应当这样写


来自  http://bbs.51cto.com/thread-911858-1.html

普通分类: