服务器上的iptables 防火墙设置脚本规则

完整脚本如下:

复制代码代码示例:

#!/bin/bash
# by www.jbxue.com
iptab="/sbin/iptables"
#----------------------- 清空所有规则  -----------------------------------#
$iptab -F
$iptab -X
$iptab -Z
$iptab -t nat -F
$iptab -t nat -X
$iptab -t nat -Z

#------------------- 拒绝默认规则之前开放SSH 端口(33169)----------------#
$iptab -A INPUT -p tcp --dport 33169  -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 33169 -m state --state RELATED,ESTABLISHED -j ACCEPT

#----------------------- 拒绝所有的规则  ---------------------------------#
$iptab -P INPUT DROP
$iptab -P OUTPUT DROP
$iptab -P FORWARD  DROP

#-------------------------- 打开回环设备  ----------------------------------#
$iptab -A INPUT -p tcp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$iptab -A OUTPUT -p tcp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

$iptab -A INPUT -i lo -j ACCEPT
$iptab -A OUTPUT -o lo -j ACCEPT

#----------------------- 打开FTP服务端口(21)-------------------------------#
$iptab -A INPUT -p tcp --dport 21 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 21 -m state --state RELATED,ESTABLISHED -j ACCEPT

#--------------------------- 开放SMTP 服务端口(25) -------------------------#
$iptab -A INPUT -p tcp --dport 25 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 25 -j ACCEPT

$iptab -A INPUT -p tcp --sport 25 -j ACCEPT
$iptab -A OUTPUT -p tcp --dport 25  -j ACCEPT

#------------------------ 开放DNS解析服务端口(53) ---------------------------#
$iptab -A INPUT -p udp --dport 53 -j ACCEPT
$iptab -A OUTPUT -p udp --sport 53 -j ACCEPT

$iptab -A INPUT -p udp --sport 53 -j ACCEPT
$iptab -A OUTPUT -p udp  --dport 53  -j ACCEPT

#------------------- 开放http 服务端口(80)--------------------------------#
$iptab -A INPUT -p tcp --dport 80 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport  80 -m state --state RELATED,ESTABLISHED -j ACCEPT

#------------- imp3(143) imp3s(995) pop3(110) pop3s(993) port ----------------#
$iptab -A INPUT -p tcp --dport 110 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 110 -j ACCEPT

$iptab -A INPUT -p tcp --dport 143 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 143 -j ACCEPT

$iptab -A INPUT -p tcp --dport 993 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 993 -m state --state RELATED,ESTABLISHED  -j ACCEPT

$iptab -A INPUT -p tcp --dport 995 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 995 -m state --state RELATED,ESTABLISHED  -j ACCEPT

#--------------------开放 Mysql 服务端口(3306)----------------------------#
$iptab -A INPUT  -p tcp --dport 3306 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 3306 -j ACCEPT

#---------------------开放所有tomcat所依赖端口  ----------------------------#
$iptab -A INPUT -p tcp --dport 8005 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8005 -j ACCEPT

$iptab -A INPUT -p tcp --dport 8009 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8009 -j ACCEPT

$iptab -A INPUT -p tcp --dport 8080 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8080 -m state --state RELATED,ESTABLISHED -j ACCEPT

$iptab -A INPUT  -s 222.35.140.70 -p tcp --dport 8080 -j ACCEPT
$iptab -A OUTPUT -d 222.35.140.70 -p tcp --sport 8080 -j ACCEPT

$iptab -A INPUT -p tcp --dport 8081 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8081 -m state --state RELATED,ESTABLISHED -j ACCEPT

#---------------------- 开放http监听端口(8084)  --------------------------#
$iptab -A INPUT -p tcp --dport 8084 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8084 -m state --state RELATED,ESTABLISHED -j ACCEPT

$iptab -A INPUT -p tcp --dport 8250 -j ACCEPT
$iptab -A OUTPUT -p tcp --sport 8250 -j ACCEPT

#----------------- 开放SSH服务端口(33169)--------------------------------#
$iptab -A INPUT -p tcp --sport 33169 -j ACCEPT
$iptab -A OUTPUT -p tcp --dport 33169  -m state --state RELATED,ESTABLISHED -j ACCEPT

#注意:最有一条规则是在SSH服务器再次的使用SSH服务访问他人的SSH服务所制定的规则。

总结:
在 linux中配置防火墙时,一定要注意iptables中规则的顺序,哪个在前,哪个在后,这点不能乱。
另外,配置iptables规则,建议在本机测试好,然后在放到生产环境的主机上。

服务器上的iptables的更多相关文章

  1. 阿里云服务器上使用iptables设置安全策略

    转自:http://www.netingcn.com/aliyun-iptables.html 公司的产品一直运行在云服务器上,从而有幸接触过aws的ec2,盛大的云服务器,最近准备有使用阿里云的弹性 ...

  2. Linux服务器上安装织梦CMS

    安装篇 第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置): vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上 ...

  3. 解放双手:如何在本地调试远程服务器上的Node代码

    写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过nod ...

  4. 在linux服务器上发布web应用的完整过程

    首先你要有一个完整的web应用的小Demo,一个简单的demo就可以了,但是要涉及到数据库,笔者这里简单的模拟一个登陆的过程. 在本地测试,访问项目: 键入账号密码,点击登陆: 就是这么个简单的动作, ...

  5. 在suse上折腾iptables

    需求背景:有台服务器希望屏蔽掉某IP对它的SSH连接. 临时客串下DevOps,下面的做法可能在专业运维的同学里不太专业,还请指教. 该服务器的操作系统是SuSE Linux,服务器上是安装了ipta ...

  6. 无法远程连接服务器上的mysql

    使用mysql管理工具连接服务器删过得mysql,显示连接被拒绝,但是在服务器上是可以登录mysql的. 无法远程连接通常以下几种情况: 首先,关闭mysql.        service mysq ...

  7. Linux服务器上安装vsftpd

    1.首先判断你服务器上是否安装了vsftpd rpm -q vsftpd   2.安装vsftpd yum -y install vsftpd   3.重启vsftpd service vsftpd ...

  8. Centos服务器上NFS灾备环境及KVM的搭建及使用

    1.概述 由于在单台服务器上搭建灾备环境需要KVM和NFS的支持,下面先列出KVM的搭建流程,再列出使用NFS实现单台服务器灾备的流程. A.搭建KVM环境 1>.主机环境准备 Linux Sy ...

  9. 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器

    #!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...

随机推荐

  1. sybase convert 函数

    1.从string到int的转换 convert(int,@string) select convert( int , '15') 2. 从int 到 decimal 的转换 convert(deci ...

  2. ExtJs 4.2 treePanel 点击树节点 传送参数到后台(多个参数)

    //***********************************************左边树开始********************************************** ...

  3. Js 处理将时间转换 “年-月-日”

    将时间  \/Date(1432828800000+0800)\/"  转换成:“年-月-日” //时间转换function ChangeDateFormat(val) {    if (v ...

  4. C# DataTable

    http://www.cnblogs.com/xun126/archive/2010/12/30/1921557.html http://msdn.microsoft.com/zh-cn/librar ...

  5. 'vt100': unknown terminal type.

    在Linux终端执行clear或top命令时出现:vt100: unknown terminal type的错误 1.临时办法,下次启动失效,需要重新执行 执行以下命令 $ printenv | gr ...

  6. [转载].Net中如何操作IIS(源代码)

    ///***********************************************************///************** IIS控制管理类 1.0 Beta ** ...

  7. 成功解决Tomcat-JDBC-MySQL乱码

    0.MySQL-JDBC驱动文档 官方解释 1.数据库的字符编码和表内字段的编码 在MySQL中数据库的字符编码和表内字段的编码的要指定为utf8(utf8_general_ci) 2.jsp中 pa ...

  8. ***用php的strpos() 函数判断字符串中是否包含某字符串的方法

    判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...

  9. Redis安装整理(window平台) +php扩展redis

    window平台Redis安装 redis windows安装文件下载地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownloa ...

  10. 安装Ubuntu双系统系列——安装Ubuntu

    一.将Ubuntu系统烧进U盘 1.打开老毛桃,选择“U盘启动” -> "ISO模式":选择ISO文件,我这里安装的是Ubuntu12.04-64bit,你可以在网上下载一个 ...