zoukankan      html  css  js  c++  java
  • Linux IPTables

    Netfilter(内核):
        chain(链、过滤点):INPUT、FORWARD、OUTPUT、PREROUTING、POSTROUTING
        表(功能):filter、nat、mangle

    用户通过iptables命令来管理netfilter模块
    iptables通过规则对数据进行访问控制
    一个规则占用一行
    规则按顺序排列 (在前面的先生效)
    每个数据包按规则顺序依依匹配,如果有匹配的,则立即执行该规则指定的动作(允许、丢弃)

    查看当前设置:
        iptables -L  
        service iptables status

    插入: -I (TABLE)
    删除:  -D (TABLE)

    动作(-j):
     ACCEPT
     DROP
     REJECT

    筛选:
     基于IP地址
        -s 源IP地址
        -d 目标IP地址
     基于接口
        -i eth0  收接口
        -o eth1  发接口
     基于协议及端口
         -p (tcpudpicmp)  --(dportsport) x
     排除参数  '!' 

    NAT:
      进行路由跳转(PREROUNTING) -j DNAT --to-dest xxx.xxx.xxx.xxx
      对出向数据跳转(OUTPUT)    -j DNAT --to-dest xxx.xxx.xxx.xxx
      对数据流伪装(POSTROUNTING) -o eth0 -j MASQUERADE (将数据伪装成eth0的IP,例如公网IP)
      隐藏源IP地址(POSTROUNTING) -j SNAT --to-sources xxx.xxx.xxx.xxx

    用iptables命令设置不会永久保存,需要要写入文件

    1、iptables规则保存在配置文件:
    /etc/sysconfig/iptables

    2、以下命令可以将当前iptables配置保存到配置文件中:
    service iptables save

    IP地址格式 xxx.xxx.xxx.xxx/(子网掩码)

    命令示范:

    插入一个iptables规则:
    iptables -I INPUT 3 -p tcp --dport 80 -s 192.168.1.0/24 -j DROP
    iptables -I INPUT 3 -p tcp --dport 80 -s '!' 192.168.1.0/24 -j DROP

    删除一个iptables规则:
    iptables -D INPUT 3
    iptables -D INPUT  -p tcp --dport 80 -s 192.168.1.0/24 -j DROP

    配置一个NAT伪装:
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  • 相关阅读:
    [转载]PhotoShop性能优化
    SVN常用命令
    [转载]SVN使用教程
    MyEclipse Java Build Path详解
    MyEclipse安装后需要进行的配置
    c#中base64加密解密
    C# MD5 加密
    C# http Post 方法
    EPF与Myeclipse 增强代码自动智能提示
    汉字代码手册
  • 原文地址:https://www.cnblogs.com/wuminye/p/3257469.html
Copyright © 2011-2022 走看看