zoukankan      html  css  js  c++  java
  • iptables练习题(四)

    设有一台Linux服务器,利用iptables作为防火墙,要求新建一条名为MYCHAIN的新链,来实现只允许开放本机的http服务,其余协议和端口均拒绝。

    脚本:

    [root@miyan ~]# cat newchain.sh 
    #!/bin/bash
    #清除filter表中规则
    iptables
    -F
    #删除filter表中自定义的链 iptables
    -X
    #自定义名字为MYCHAIN的链 iptables
    -N MYCHAIN
    #MYCHAIN链中追加一条规则,功能为接收协议为TCP且目标端口为80的数据包 iptables
    -A MYCHAIN -p tcp --dport 80 -j ACCEPT
    #在MYCHAIN链中追加一条规则,返回调用该链出的下一条规则。 iptables
    -A MYCHAIN -j RETURN

    #将INPUT链的默认处理策略设置为DROP
    iptables
    -P INPUT DROP
    #接收本机环回测试的数据包进入 iptables
    -A INPUT -i lo -j ACCEPT #在INPUT链中追加一条规则,功能为跳转到MYCHAIN链中去执行其中的规则
    iptables
    -A INPUT -j MYCHAIN
    #在INPUT链中追加一条规则,功能是将访问本机TCP端口22的数据包记录到日志中,并在日志中加入前缀"<--my GO ON-->" iptables
    -A INPUT -p tcp --dport 22 -j LOG --log-prefix "<--my GO ON-->" #设置OUTPUT链的默认处理策略为DROP
    iptables
    -P OUTPUT DROP
    #在OUTPUT链中追加一条规则,放行协议为TCP且源端口为80的数据包 iptables
    -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -L

    分析:(1)前两条规则清空filter表中所有的规则,并删除了所有自定义的链,设置一个干净的环境。

       (2)接下来的四条规则自定了一条链MYCHAIN,此时仅仅是定义了,并未发挥作用。

       (3)iptables -A INPUT -i lo -j ACCEPT开放本机环回测试网卡进入的数据包

       (4)iptables -A INPUT -j MYCHAIN来调用前面定义的链MYCHAIN,类似于函数调用。

       (5)当在MYCHAIN链中执行到“-j RETURN”时流程返回到调用处继续匹配主链的规则,将访问本机22端口的数据包计入到日志中/var/log/messages.

       (6)iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT设置了针对本机发出(OUTPUT链)的数据包的限制

  • 相关阅读:
    【算法专题】多项式运算与生成函数
    【CodeForces】914 E. Palindromes in a Tree 点分治
    【BZOJ】1468: Tree(POJ1741) 点分治
    【BZOJ】2599: [IOI2011]Race 点分治
    【POJ】2142 The Balance 数论(扩展欧几里得算法)
    【算法专题】仙人掌图问题
    【BZOJ】2125: 最短路 圆方树(静态仙人掌)
    【BZOJ】4316: 小C的独立集 静态仙人掌
    【BZOJ】3039: 玉蟾宫 悬线法
    【BZOJ】1023: [SHOI2008]cactus仙人掌图 静态仙人掌(DFS树)
  • 原文地址:https://www.cnblogs.com/XYJK1002/p/5378847.html
Copyright © 2011-2022 走看看