zoukankan      html  css  js  c++  java
  • 设置Linux防火墙

    设置 Linux 服务器防火墙脚本,Web_iptables.sh

    1. 通过内网可访问服务器所有开放端口
    2. 给跳板机开放sshd端口连接服务器
    3. 信任ip 所有端口均开放
    4. 开放部分端口供外部访问
    #!/bin/bash
    
    #Intranet_network=`ifconfig eth1 |grep "inet addr"|awk -F: '{print $2}'|awk '{print $1}'|awk -F "." '{print $1}'`
    #取得本机内网IP
    function getLocalInnerIP()
    {
            ifconfig | grep 'inet addr:' | awk -F"inet addr:" '{print $2}'  | awk '{print $1}' | while read theIP; do
                A=$(echo $theIP | cut -d '.' -f1)
                B=$(echo $theIP | cut -d '.' -f2)
                C=$(echo $theIP | cut -d '.' -f3)
                D=$(echo $theIP | cut -d '.' -f4)
                int_ip=$(($A<<24|$B<<16|$C<<8|$D))
                #10.0.0.0(167772160)~10.255.255.255(184549375)
                if [ "${int_ip}" -ge 167772160 -a "${int_ip}" -le 184549375 ]; then
                    echo $theIP
                elif [ "${int_ip}" -ge 2886729728 -a "${int_ip}" -le 2887778303 ]; then     #172.16.0.0(2886729728)~172.31.255.255(2887778303)
                    echo $theIP
                elif [ "${int_ip}" -ge 3232235520 -a "${int_ip}" -le 3232301055 ]; then   #192.168.0.0(3232235520)~192.168.255.255(3232301055)
                    echo $theIP
                fi
            done
    }
    innerIP=`getLocalInnerIP`
    Intranet_network=`echo $innerIP|awk -F "." '{print $1}'`
    
    IPT=/sbin/iptables
    
    #tiaobanji
    #TIAOBANJI="218.17.152.189 113.107.167.90 58.253.68.90"
    TIAOBANJI=""
    
    #trust ip
    ETL1=219.129.216.224
    LAN_IP=$Intranet_network.0.0.0/255.0.0.0
    
    #guangzhou idc ip
    yw1=43.230.88.130
    
    #NAGIOS_IP=121.10.141.196
    TRUST_IP="$LAN_IP $ETL1 $yw1 121.10.141.196"
    
    # Delete Any Existing Chains In Filter Table
    $IPT -F -t filter
    $IPT -X -t filter
    $IPT -Z -t filter
    
    ### Allow TRUST IP (LAN_IP ETL1 ETL2 GM1 GM2 ACCPET)
    for TURST in $TRUST_IP
    do
            $IPT -A INPUT -s $TURST -j ACCEPT 
    done
    
    #tiaobanji
    for TBJ in $TIAOBANJI
    do
            $IPT -A INPUT -s $TBJ -p tcp --dport 16333 -j ACCEPT
    done
    
    # localhost
    $IPT -A INPUT -p icmp -j ACCEPT
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    ### The ALL network for open ports
    $IPT  -A INPUT  -p tcp -m multiport --dports 80,443,8080 -j ACCEPT
    $IPT  -A INPUT  -p tcp -m multiport --dports 9202,9200,9300,9400,9500 -j ACCEPT
    $IPT  -A INPUT  -p tcp -m multiport --dports 9001,9002,9003,9004,9005 -j ACCEPT
    
    ### The zabbix server
    $IPT -A INPUT -s 113.107.166.246 -p tcp --dport 10050 -j ACCEPT
    
    # Setting Default Policies, just accept output, drop any other
    $IPT -P INPUT DROP
    $IPT -P OUTPUT ACCEPT
    $IPT -P FORWARD DROP
    
    ### save iptables 
    /etc/init.d/iptables save
    
    exit
    Web_iptables.sh
    #!/bin/bash
    IPT=/sbin/iptables
    
    $IPT -F
    $IPT -P INPUT ACCEPT
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -A INPUT -p icmp -j ACCEPT
    $IPT -A INPUT -s 120.25.153.31 -j ACCEPT
    $IPT -A INPUT -p tcp --dport 36000 -j ACCEPT
    $IPT -A INPUT -p tcp --dport 10050:10051 -j ACCEPT
    $IPT -A INPUT -s 120.25.153.31 -p tcp --dport 80 -j ACCEPT
    $IPT -A INPUT -s 183.14.0.0/16 -p tcp --dport 80 -j ACCEPT
    $IPT -A INPUT -s 183.14.1.0/24 -p tcp --dport 80 -j ACCEPT
    $IPT -A INPUT -s 120.25.153.32 -j DROP
    $IPT -A INPUT -j DROP
    iptables.sh
  • 相关阅读:
    《追风筝的人》书摘与笔记
    《清单革命》读书笔记
    华为HMS Core音频服务,让有声世界更动听
    Unity平台 | 快速集成华为性能管理服务
    【Demo见真章】投稿赢HarmonyOS手机Beta公测名额
    【开发者必看】2020年移动应用趋势洞察白皮书
    华为帐号服务升级,助力应用快速验证用户身份
    简单的路径规划案例分享
    Cocos|快速集成华为AGC云存储服务
    Flutter平台 | 零代码快速集成AGC崩溃服务
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/6418987.html
Copyright © 2011-2022 走看看