skill——iptables(五)

黑白名单

黑名单:即默认策略为 ACCEPT,链中规则对应的动做应该为 DROP 或 REJECT ,表示只有匹配到规则的报文才会被拒绝,没有匹配到规则的报文默认被放行
白名单:即默认策略为 DROP 或 REJECT,链中规则对应的动做应该为 ACCEPT ,表示只有匹配到规则的报文才会被放行,没有匹配到规则的报文默认被拒绝
也就是说:
白名单时,默认全部人是坏人,只放行好人
黑名单时,默认全部人是好人,只拒绝坏人
案例一:
简单的黑名单(默认策略为 ACCEPT,链中规则对应的动做为 DROP 或 REJECT)
skill——iptables(五)
案例二:
简单的白名单(默认策略为 DROP 或 REJECT,链中规则对应的动做为 ACCEPT )
先添加规则动做为 ACCEPT 的链使端口 22 能够被访问,而后使用 -P 把默认策略改成 DROP
以下图:
skill——iptables(五)
注意:可是上图的设置有个问题,就是若是误操做把这这条规则删掉了或执行了 iptables -F INOUT 清空了链,正在链接的 ssh 就会 的断开,这个显然不是咱们想要的
能够作如下修改:
让默认策略继续为:ACCEPT,在须要放行的规则后面添加一条拒绝全部请求的规则
意思是:若是报文符合放行规则,则会被放行规则匹配到,得以经过,若是没有,则会被最后一条拒绝规则禁止通行
skill——iptables(五)
这样作的目的是在误操做的状况下(iptables -F INOUT 清空了链),也能够保证链接是畅通的ssh

自定义链

用于解决默认链中规则很是多时,方便咱们分类管理,好比定义一条链,只存放针对 80 端口的入站规则
案例三tcp

  1. 建立一条自定义链
    注意:前面说过,-t filter 能够省略,为默认值
    skill——iptables(五)
    skill——iptables(五)
  2. 向 IN_WEB 中添加并查看规则
    注意:操做自定义链与默认链没什么不一样
    skill——iptables(五)
  3. 使用默认链来引用自定义链
    注意:没有默认链引用时,以前定义的规则是没法被正常使用的,被哪条默认链引用取决于实际工做场景(自定义链也能够引用其余自定义链)
    注意:此时的 “-j 动做” 表示访问本机的 80 端口的 tcp 报文将由自定义链来处理,咱们也能够发现 IN_WEB 中的 references 数值变为了 1,表示该自定义链被引用了一次
    skill——iptables(五)
    skill——iptables(五)
  4. 重命名自定义链
    skill——iptables(五)
    skill——iptables(五)
  5. 删除自定义链
    注意:删除自定义链需知足两个条件
    1)自定义链中没有任何规则,即自定义链为空
    2)自定义链没有被任何默认链引用,即自定义链的引用计数为 0
    skill——iptables(五)
相关文章
相关标签/搜索