服务器上的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. The content of element type "sqlMapConfig" is incomplete,

    The content of element type "sqlMapConfig" is incomplete, it must match "(properties? ...

  2. CC2640-之功耗

    一.测量方式,以DEMO板测量,以消除其它外围不同造成的电流不同. 二.测量结果 以原厂simpleBLEperipheral工程为例 1.如果在低功耗模式下,+5DB发射,最小电流为1.66MA 2 ...

  3. Nginx upstream的5种权重分配方式

    .轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,后端服务器down掉,能自动剔除 .weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. upstre ...

  4. Cygwin安装与配置

    Cygwin可以在windows环境下模拟Linux系统,而且可以重用Linux下面丰富的脚本工具.windows的cmd太弱了.Cygwin是由Cygnus(天鹅座) Solution公司开发,不过 ...

  5. 【单例模式】单例模式 & GCD单例模式 & 将封装单例模式到宏

    懒汉式单例模式 下面的代码块, 基本是单例模式的完整版本了. 可扩展的地方,可以在init方法中作扩展. // static 在全局变量的作用域仅限于当前文件内部 static id _instanc ...

  6. git - 必备指令

    1. 查看远程分支 加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话): $ git branch -a master remote tungway v1. * zron ...

  7. 1038: [ZJOI2008]瞭望塔 - BZOJ

    Description 致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安.我们将H村抽象为一维的轮廓.如下图所示 我们可以用一条山的上方轮廓折线(x1, ...

  8. js常识

    btnDelAll.Attributes.Add("onclick", "<script lunguage='javascript'>return windo ...

  9. 斯坦福数据挖掘Introduction

    感谢敖山.薛霄老师把我引进了统计学和现代服务业的大门.......至少是长见识了. 查相似项检索时发现的. 中间一部分资料来自厦门大学数据库实验室,感谢大牛们的传道授业,爱你们. 查资料时发现很多计算 ...

  10. 在RedHat5.4 LINUX 安装mySQL数据库

    linux下mysql 最新版安装图解教程 1. 查看当前安装的linux版本 通过上图中的数据可以看出安装的版本为RedHat5.4,所以我们需要下载RedHat5.4对应的mysql安装包