• iptables单个规则实例


    iptables -F?
    # -F 是清除的意思,作用就是把 FILTRE TABLE 的所有链的规则都清空

    iptables -A INPUT -s 172.20.20.1/32 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    #在 FILTER 表的 INPUT 链匹配源地址是172.20.20.1的主机,状态分别是NEW,ESTABLISHED,RELATED 的都放行。

    iptables -A INPUT -s 172.20.20.1/32 -m state --state NEW,ESTABLISHED -p tcp -m multiport --dport 123,110 -j ACCEPT
    # -p 指定协议,-m 指定模块,multiport模块的作用就是可以连续匹配多各不相邻的端口号。完整的意思就是源地址是172.20.20.1的主机,状态分别是NEW, ESTABLISHED,RELATED的,TCP协议,目的端口分别为123 和 110 的数据包都可以通过。

    iptables -A INPUT -s 172.20.22.0/24 -m state --state NEW,ESTABLISHED -p tcp -m multiport --dport 123,110 -j ACCEPT

    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 -R INPUT 1 -s 192.168.6.99 -p tcp --dport 22 -j ACCEPT
    替换INPUT链中的第一条规则

    iptables -t filter -L INPUT -vn
    以数字形式详细显示filter表INPUT链的规则

     

    #-------------------------------NAT IP--------------------------------------
    #以下操作是在 NAT TABLE 里面完成的。请大家注意。

    iptables -t nat -F
    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 -d 192.168.20.0/255.255.255.0 -i eth1 -j DROP
    iptables -A INPUT -s 192.168.20.0/255.255.255.0 -i eth1 -j DROP
    iptables -A OUTPUT -d 192.168.20.0/255.255.255.0 -o eth1 -j DROP
    iptables -A OUTPUT -s 192.168.20.0/255.255.255.0 -o eth1 -j DROP

    # 上例中,eth1是一个与外部Internet相连,而192.168.20.0则是内部网的网络号,上述规则用来防止IP欺骗,因为出入eth1的包的ip应该是公共IP

    iptables -A INPUT -s 255.255.255.255 -i eth0 -j DROP
    iptables -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP
    iptables -A INPUT -d 0.0.0.0 -i eth0 -j DROP

    # 防止广播包从IP代理服务器进入局域网:

    iptables -A INPUT -p tcp -m tcp --sport 5000 -j DROP
    iptables -A INPUT -p udp -m udp --sport 5000 -j DROP
    iptables -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP
    iptables -A OUTPUT -p udp -m udp --dport 5000 -j DROP

    # 屏蔽端口 5000

    iptables -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 3306 -j DROP
    iptables -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
    iptables -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 3306 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 3306 -j DROP

    # 防止 Internet 网的用户访问 MySQL 服务器(就是 3306 端口)

    iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset

    #REJECT, 类似于DROP,但向发送该包的主机回复由--reject-with指定的信息,从而可以很好地隐藏防火墙的存在

  • 相关阅读:
    scikit-learn一般实例之四:使用管道和GridSearchCV选择降维
    scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归
    scikit-learn一般实例之三:连接多个特征提取方法
    scikit-learn一般实例之一:保序回归(Isotonic Regression)
    scikit-learn一般实例之一:绘制交叉验证预测
    weblogic控制台定制不同权限的用户
    jquery给input域赋值和取值
    键盘对应的ASCII码
    js控制键盘只能输入数字和退格键,delete键
    mysql创建用户及授权相关命令
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11130216.html
Copyright © 2020-2023  润新知