`
cppmule
  • 浏览: 436330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

iptables简易脚本

 
阅读更多

iptables简易脚本
      基于linux内核的防火墙iptables功能强大,可以抵挡来自网络层的大部分攻击.今天写一个入门级的iptables脚本,以备日后查阅修改之用,也希望对刚接触iptables的新手有点借鉴意义.
      系统环境:单网卡主机,RHEL4,iptables系统内带无须安装.下面是脚本内容及说明.
#vi /root/scirpts/iptables.sh                                   #脚本路径及名称均可自定
-----------------------------------------------------------------------------------------------------------------
#!/bin/bash
#脚本的基本思路是先拒绝所有的请求再允许特定的请求.
#脚本通过测试,可以直接使用
PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATH                #设置脚本命令路径
 
# 加载相关模块:
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc       
                     
# 清空所有规则:
iptables -F
iptables -X
iptables -F
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
 
# 设置默认规则:                                                
iptables -P INPUT          DROP                                         #默认拒绝所有进入的请求
iptables -P OUTPUT      ACCEPT                                    #默认允许所有出去的请求
iptables -P FORWARD ACCEPT                                    #默认允许所有转发的请求
iptables -t nat -P PREROUTING       ACCEPT               
iptables -t nat -P POSTROUTING    ACCEPT               
iptables -t nat -P OUTPUT                ACCEPT                #默认允许所有nat的请求
 
# 允许所有进出回环口的请求
iptables -A INPUT -i lo -j ACCEPT
 
# 允许特定端口(对应服务)的请求
iptables -A INPUT -p tcp --dport 22 -j ACCEPT             #ssh
iptables -A INPUT -p tcp --dport 21 -j ACCEPT             #ftp
iptables -A INPUT -p tcp --dport 20 -j ACCEPT             #ftp
iptables -A INPUT -p tcp --dport 80 -j ACCEPT             #www
# 以上仅开放ssh(远程登陆)、ftp及www服务,开放更多服务参照增加即可
 
#保存防火墙配置、重启服务
/etc/init.d/iptables save
/etc/init.d/iptables restart
 
#关于规则表、规则链在此不做说明,如需了解请google、baidu
#部分iptables命令参数的说明如下:
#[-t]指定规则表(后接filter、nat、mangle,如不指定默认为filter)
#[-F] [-X] [-Z]清除规则表、规则链、规则
#[-P] 设置默认规则DROP还是ACCEPT
#[-A] 增加规则
#[-p] 指定协议
#[--dport]指定目标端口  [--sport]指定源端口
#[-j]规则动作DROP还是ACCEPT
#[-i]指定进入的网卡 [-o]指定出去的网卡
#[-s]指定ip源,如-s 192.168.1.0/24   -s 10.10.10.1/32
--------------------------------------------------------------------------------------------------------------------
       以上脚本只是最简单的针对web server类的入门级iptables设置,更高级的功能将在后续文章补充。由于本人自身知识匮乏,以上所述难免有不当之处,还望批评指正,将不甚感谢。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics