• iptables学习


      iptables由4表、5链和用户在链内写入的各种规则所组成。(iptables(/etc/sysconfig/iptables  /sbin/iptables))
    
      1、表:容纳各种规则链;表是按照功能分的类,具体功能如下:
      (1)raw表:用来决定是否对数据包进行状态跟踪。(不常用)
      (2)mangle表:为数据包设置标记,有ACK、SYN、FIN、RST、PSH、URG等标记。(不常用)
      (3)nat表:修改数据包的IP地址、端口等信息。(网关型防火墙常用)
      (4)filter表:确定是否放行数据包。(常用)
    
      2、链:容纳各种防火墙规则;链是按照时机分的类。
      (1)input:处理入站请求包
      (2)output:处理出站包(就是响应、应答包)
      (3)forward:处理转发数据包,实现不同网段间的通信
      (4)prerouting:在包做路由选择之前应用此链的规则
      (5)postrouting:在数据包做路由选择之后应用此链的规则
    
        3、LOG:在/var/log/messages文件中记录日志信息,然后将包传给下一条规则,防火墙规则的"匹配即停止"对于log操作来说是一个特例,因为log只是一种辅助动作,并没有真正处理包。
    
        4、查询规则
         iptables -nL INPUT --line-number(以数字形式查看filter表INPUT链中的所有规则,并显示规则序号)
         iptables -t filter -L INPUT -vn  (以数字形式详细显示filter表INPUT链的规则)
       iptables -p icmp -h (查看ICMP类型)
    
        5、例子
         iptables -t filter -A INPUT -p tcp -j ACCEPT(在filter表的INPUT链中最后一个规则后面添加一个新的规则)
    
         iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT (在filter表INPUT链第二行插入规则,允许tcp的80端口通过)
    
         iptables -D INPUT 3(删除filter表中INPUT链的第三条规则)
    
         iptables -t raw -F(清空raw表中所有链内的规则)
    
         iptables -F OUTPUT(清空filter表output链内所有规则)
    
         iptables -A FORWARD ! -p icmp -j ACCEPT(除了icmp协议的数据包,别的协议的包都能转发)
    
         iptables -A INPUT -p tcp --dport 20:23 -j ACCEPT(一般是主机型防火墙设置的,我们电脑的20到23端口可以被访问)
    
         iptables -A INPUT -p icmp --icmp-type 8 -j DROP  (别人ping我主机的请求被丢弃,8代表请求)
    
       iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT (我ping别人时,回来的包被允许(一去一回才知道ping没ping通),0带表回来的icmp包)
    
       iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT(3也是代表请求,主机不可达,不常用)
    
         iptables -A INPUT -s 0/0 -m state --state NEW -p tcp -m multiport --dport 123,110 -j DROP (这句意思为源地址是0/0的     
         NEW状态的的TCP数据包都禁止访问我的123和110端口)
    
         iptables -A INPUT -s ! 172.20.89.0/24 -m state --state NEW -p tcp -m multiport --dport 1230,110 -j DROP (""号的意思 取反。就是除了172.20.89.0这个IP段的地址都DROP)
    
         iptables -t nat -A PREROUTING -d 192.168.102.55 -p tcp --dport 90 -j DNAT --to 172.20.11.1:800  (-A PREROUTING 指定在路由前做的。完整的意思是在 NAT TABLE 的路由前处理,目的地为192.168.102.55 的 目的端口为90的我们做DNAT处理,给他转向到172.20.11.1:800那里去)
    
         iptables -t nat -A POSTROUTING -d 172.20.11.1 -j SNAT --to 192.168.102.55  (-A POSTROUTING 路由后。意思为在 NAT TABLE 的路由后处理,凡是目的地为 172.20.11.1 的,我们都给他做SNAT转换,把源地址改写成 192.168.102.55 )
         
         iptables -A INPUT -p tcp -s ip1/32 --dport 22 -j ACCEPT  (允许SSH)

    生效:
    service iptables restart
  • 相关阅读:
    成功引爆
    pecompact2脱壳手记
    象棋
    今天小雨
    出错了,怎么办?
    设计模式——Adapter模式
    表设计中应注意的2点
    设计模式——Singleton模式
    设计模式——Facade模式
    设计模式——Strategy模式
  • 原文地址:https://www.cnblogs.com/sprinng/p/6533555.html
Copyright © 2020-2023  润新知