开发者社区> 问答> 正文

个人iptables防火墙简单规则

#!/bin/sh

###############################################################################
# 设置变量
###############################################################################
WAN_ETH='eth1'
LAN_ETH='eth0'
WAN_IP=`ifconfig $WAN_ETH | grep "inet addr" | awk '{print $2}' | awk -F":" '{print $2}'`
LAN_IP=`ifconfig $LAN_ETH | grep "inet addr" | awk '{print $2}' | awk -F":" '{print $2}'`
LAN_NET="10.0.0.0/8"
IPTABLES=/sbin/iptables
IPTABLESAVE=/sbin/iptables-save

###############################################################################
# 关闭 forward 功能
###############################################################################
echo "0" > /proc/sys/net/ipv4/ip_forward

###############################################################################
# 清除先前的设定
###############################################################################
## 清除预设表 filter 中,所有规则链中的规则
$IPTABLES -t filter -F

## 清除预设表 filter 中,自订链中的规则
$IPTABLES -t filter -X

## 清除mangle表中,所有规则链中的规则
$IPTABLES -t mangle -F

## 清除mangle表中,自订链中的规则
$IPTABLES -t mangle -X

## 清除nat表中,所有规则链中的规则
$IPTABLES -t nat -F

## 清除nat表中,自订链中的规则
$IPTABLES -t nat -X


###############################################################################
# 设定 filter table 的预设政策
###############################################################################
$IPTABLES -P OUTPUT   ACCEPT
$IPTABLES -P FORWARD  ACCEPT
$IPTABLES -P INPUT    DROP

###############################################################################
# LoopBack accept
###############################################################################
$IPTABLES -A INPUT -p all -d 127.0.0.1 -s 127.0.0.1      -j ACCEPT
$IPTABLES -A INPUT -p all -d $LAN_IP   -s $LAN_IP        -j ACCEPT
$IPTABLES -A INPUT -p all -d $LAN_IP   -s $LAN_NET       -j ACCEPT
$IPTABLES -A INPUT -p all -d $WAN_IP   -s $WAN_IP        -j ACCEPT

###############################################################################
# Reply Package for INPUT stream
###############################################################################
$IPTABLES -A INPUT -p all -d $LAN_IP -s 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p all -d $WAN_IP -s 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT

###############################################################################
# 防止SYN攻击 轻量级预防
###############################################################################
#$IPTABLES -N syn-flood
#$IPTABLES -A INPUT -p tcp --syn -j syn-flood
#$IPTABLES -I syn-flood -p tcp -m limit --limit 100/s --limit-burst 6 -j RETURN
#$IPTABLES -A syn-flood -j REJECT

###############################################################################
# 防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃
###############################################################################
#$IPTABLES  -A INPUT -i $WAN_ETH -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

###############################################################################
# Service
###############################################################################
$IPTABLES -A INPUT -p tcp --dport 22     -s 0/0 -j ACCEPT # sshd
$IPTABLES -A INPUT -p tcp --dport 80     -s 0/0 -j ACCEPT # httpd



###############################################################################
# 打开 forward 功能
###############################################################################
echo "1" > /proc/sys/net/ipv4/ip_forward


###############################################################################
# Store  ruler
###############################################################################
$IPTABLESAVE  > /etc/sysconfig/iptables


保存为iptables.sh
chmod a+x iptables.sh
./iptables.sh
(仅限centos 6系统)

展开
收起
wzhu.ali 2016-06-15 22:11:57 6226 0
3 条回答
写回答
取消 提交回答
  • 回 2楼(这锅我接了) 的帖子
    iptables还是很复杂的,建议有一定的掌握再做。
    如果要在ECS自己尝试,建议在VNC上操作。
    尤其不要在终端上一条条去执行初始规则,否则后面的规则还没设置好,自己就被挡了。
    2016-06-15 22:50:53
    赞同 展开评论 打赏
  • 回 楼主wzhu.ali的帖子
    非常谢谢  能做个详细的教程吗  

    -------------------------

    回 3楼wzhu.ali的帖子
    谢                                     谢
    2016-06-15 22:37:15
    赞同 展开评论 打赏
  • 阿里云论坛版主,QQ 1978638808
    感谢分享。
    2016-06-15 22:34:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《云防火墙实现多账号统一管控》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载