• 防火墙iptables的简单使用


    规则定义

    # service iptables start

    # chkconfig iptables on

    想让规则生效,则shell命令行下执行

    sh /bin/iptables.sh即可

    [root@node3 ~]# cat /bin/iptables.sh

    #!/bin/bash
    # 清理防火墙规则
    /sbin/iptables -F
    
    # 放行已经建立的连接
    /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # for ssh
    /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    # 放行 tcp 8555端口
    /sbin/iptables -A INPUT -p tcp --dport 8555 -j ACCEPT
    
    #for ping:
    /sbin/iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
    /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    /sbin/iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT
    
    /sbin/iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
    /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    
    #for DNS:
    /sbin/iptables -A INPUT -p tcp --source-port 53 -j ACCEPT
    /sbin/iptables -A INPUT -p udp --source-port 53 -j ACCEPT
    #for ntp:
    /sbin/iptables -A INPUT -p udp --source-port 123 -j ACCEPT
    /sbin/iptables -A INPUT -p udp --destination-port 123 -j ACCEPT
    
    
    ### 拒绝input和forward所有
    /sbin/iptables -A INPUT -j DROP
    /sbin/iptables -A FORWARD -j DROP
    #!/bin/bash
    ### Required modules
    /sbin/modprobe ip_tables
    /sbin/modprobe ip_conntrack
    /sbin/modprobe iptable_mangle
    /sbin/modprobe iptable_nat
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_limit
    /sbin/modprobe ipt_state
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_owner
    /sbin/modprobe ipt_REJECT
    
    ### Clean Rules
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t nat -P OUTPUT ACCEPT
    iptables -t mangle -P PREROUTING ACCEPT
    iptables -t mangle -P OUTPUT ACCEPT
    iptables -F
    iptables -t nat -F
    #iptables -t mangle -F
    iptables -X
    iptables -t nat -X
    #iptables -t mangle -X
    
    ### Drop all pocket,first
    iptables -P INPUT DROP
    #iptables -P OUTPUT DROP
    iptables -P FORWARD DROP
    
    ### Create New chains
    iptables -N bad_tcp_packets
    #iptables -N allowed
    iptables -N icmp_packets
    
    ### Bad_tcp_packets chain
    /sbin/iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags ALL ALL        -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags ALL NONE         -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN  -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST  -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags FIN,RST FIN,RST  -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags ACK,FIN FIN      -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags ACK,PSH PSH      -j DROP
    /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags ACK,URG URG      -j DROP
    
    ### ICMP Rules
    iptables -A icmp_packets -p icmp --icmp-type 8 -j ACCEPT
    iptables -A icmp_packets -p icmp --icmp-type 11 -j ACCEPT
    #iptables -A icmp_packets -p icmp -j DROP
    
    ### LookBack and Private interface
    iptables -A INPUT -p ALL -i lo -j ACCEPT
    iptables -A INPUT -p ALL -i eth1 -j ACCEPT
    
    ##keepalived
    #iptables -A INPUT -i eth1 -p vrrp -s 192.168.254.122 -j ACCEPT
    
    ### INPUT chain
    iptables -A INPUT -p tcp -j bad_tcp_packets
    iptables -A INPUT -p icmp -j icmp_packets
    iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    #限制源IP的访问数量
    iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 100 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
    iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 100 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
    iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 8080 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 100 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
    
    
    # Count Limit
    #iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT INPUT PACKET DIED:"
    
    iptables -I INPUT  -p udp --dport 1701 -j ACCEPT
    
    ### Open Ports
    Public_access="80"
    Server_access="873 1500"
    Company_access="22"
    
    ### Allow Ips
    
    Servers_ip="192.168.254.0/24 10.11.0.0/16"
    Company_ip="1.1.1.1"
    ### Public access Rules
    for port in $Public_access
    do
            iptables -A INPUT -p tcp --dport $port -i eth0 -j ACCEPT
    done
    
    ### Servers access Rules
    for port in $Server_access
    do
            for ip in $Servers_ip
            do
                    iptables -A INPUT -p tcp --dport $port -s $ip -i eth0 -j ACCEPT
            done
    done
    
    ### Company access Rules
    for port in $Company_access
    do
            for ip in $Company_ip
            do
                    iptables -A INPUT -p tcp --dport $port -s $ip -i eth0 -j ACCEPT
            done
    done

    # 邮箱服务器将25端口映射到2500端口上
    iptables -t nat -A PREROUTING -p tcp --dport 2500 -j REDIRECT --to-ports 25

     

    # 25端口转到2500端口
    iptables -t nat -A PREROUTING -p tcp --dport 25 -j REDIRECT --to-ports 2500

    #####指定访问ip的 2500 to 25 #####
    iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 2500 -j REDIRECT --to-ports 25

    # 将访问指定ip的25号端口映射到2500上
    iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 25 -j REDIRECT --to-ports 2500

  • 相关阅读:
    理解 Delphi 的类(十) 深入方法[15] 调用其他单元的函数
    理解 Delphi 的类(十) 深入方法[13] 在 interface 区声明的方法
    理解 Delphi 的类(十) 深入方法[12] implementation 区中的方法
    理解 Delphi 的类(十) 深入方法[6] Result
    什么是B*树倒排索引技术 已解决 搜搜问问
    caoruntao的博客 数据结构及算法分类文章列表 ITeye技术网站
    PForDelta索引压缩算法的实现
    计算机词汇(融合了搜狗所有的计算机词库)_搜狗输入法词库
    一种由B+树实现的倒排索引《电脑知识与技术》2011年08期
    海量数据处理专题(九)——外排序
  • 原文地址:https://www.cnblogs.com/reblue520/p/8732757.html
Copyright © 2020-2023  润新知