linux常见防火墙

#! /bin/bash
 
# ------------------------------------------
# File: /usr/local/sbin/firewall
#       root:root, 700
# Created by Statemood, 2013.08.29
# Updated by Statemood, 2013.08.29
#
# ------------------------------------------
 
PORT_SSH='7168'
CORP_IP1='210.13.116.210'
CORP_IP2='122.192.65.148'
 
IPTABLES='/sbin/iptables'
MODPROBE='/sbin/modprobe'
 
KERN_MOD='ip_conntrack'
 
# Load Kernel modules
 
for mod in $KERN_MOD
do
    $MODPROBE $KERN_MOD
done
 
# init iptables
$IPTABLES -F
$IPTABLES -X
$IPTABLES -P INPUT DROP
 
$IPTABLES -N LGDRP
 
 
# ACCEPT rules
# --------------------------------
 
# Default rules
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate INVALID                -j LGDRP
$IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED    -j ACCEPT
 
$IPTABLES -A LGDRP -m limit --limit 10/m --limit-burst 5 -j LOG --log-prefix "INVALID DROP " --log-ip-option --log-tcp-option
$IPTABLES -A LGDRP -j DROP
 
# SSH 
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp -s $CORP_IP1         --dport $PORT_SSH -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp -s $CORP_IP2         --dport $PORT_SSH -j ACCEPT
 
 
# Accept Ping from $CORP_IP1
$IPTABLES -A INPUT -p icmp  --icmp-type echo-request -s $CORP_IP1                       -j ACCEPT
$IPTABLES -A INPUT -p icmp  --icmp-type echo-request -s $CORP_IP2                       -j ACCEPT
 
# Coustom rules
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp          --dport 80    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 8080    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 8800    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 18088    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 28088    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 38088    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 18080    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 28080    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 38080    -j ACCEPT
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp                      --dport 111   -j DROP
 
 
# Unmatched rules
$IPTABLES -A INPUT -j DROP
 
# Save rules
/sbin/service iptables save
 
printf "`date +'%F %T'` \033[1;33mAll rules loaded\n\033[0m"
 

将上面另存为firewall文件

放到 /usr/local/sbin/, 执行 chown root:root /usr/local/sbin/firewall, chmod 700 /usr/local/sbin/firewall

然后执行 firewall 即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值