ubuntu 14.04/14.10 iptables 防火墙设置

1. 一键批处理设置

呆狐狸.凨

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin:~/bin
export PATH
# Check if user is root
if [ $UID != 0 ]; then echo "Error: You must be root to run the install script, please use root to install lanmps";exit;fi

iptables-save >> _.iptables.up.rules #保存防火墙设置,以便没保存时使用
iptables -L -n 2>&1 | tee -a "_.iptables.log"
iptables -F        #清除预设表filter中的所有规则链的规则
iptables -X        #清除预设表filter中使用者自定链中的规则
iptables -Z        #计数器清零

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#双向
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许本机
iptables -A INPUT -i lo -j ACCEPT
#FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#www 80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#13306 映射转发到  mysql数据库 3306
iptables -A PREROUTING -p tcp --dport 13306 -j REDIRECT --to-ports 3306 -t nat
#3306 mysql数据库
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#memache
#iptables -A INPUT -p tcp --dport 11211 -j ACCEPT

#对于OUTPUT规则,因为预设的是ACCEPT,所以要添加DROP规则,减少不安全的端口链接。
iptables -A OUTPUT -p tcp --sport 31337 -j DROP
iptables -A OUTPUT -p tcp --dport 31337 -j DROP

#丢弃坏的TCP包
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#处理IP碎片数量,防止攻击,允许每秒100个
#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

#设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

#防止外部的ping和SYN洪水攻击
iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j  ACCEPT
#ping洪水攻击,限制每秒的ping包不超过10个
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –limit-burst 10 -j ACCEPT
#防止各种端口扫描,将SYN及ACK SYN限制为每秒钟不超过200个
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT

#最后规则拒绝所有不符合以上所有的
iptables -A INPUT -j DROP

if [ -z "`grep "iptables-save" /etc/network/interfaces`" ]
then
	echo "#以下有防火墙需要的可以使用
pre-up iptables-restore < /etc/iptables.up.rules #启动时应用防火墙
post-down iptables-save > /etc/iptables.up.rules #关闭时保存防火墙设置,以便下次启动时使用  " >> /etc/network/interfaces

else
     echo "iptables-save find "
fi

clear
echo "iptables ok ";
echo ""

iptables -L -n
cat /etc/network/interfaces

把上面的保存为 (如果还有其他端口规则请一起在上面配置,执行时清空规则):

lanmps_iptables.sh

上传到服务器然后设置权限,并执行

chmod 777 lanmps_iptables.sh
./lanmps_iptables.sh

那么  防火墙就设置完成了

2. ubuntu iptables 防火墙 启动

modprobe ip_tables

3. ubuntu iptables 防火墙 关闭

ubuntu 并没有关闭命令,所以要通过变通方法解决防火墙

iptables -F
iptables -X  
iptables -Z  
iptables -P INPUT ACCEPT  
iptables -P OUTPUT ACCEPT  
iptables -P FORWARD ACCEPT  
modprobe -r ip_tables  
依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示  FATAL: Module ip_tables is in use.

4. Iptables的保存和调用

防止每次开机或重启后都需要去调用一次,把它设置自动执行

第一步 更改网卡配置文件

sudo vi /etc/network/interfaces 

第二部 在最后增加配置

#以下有防火墙需要的可以使用
pre-up iptables-restore < /etc/iptables.up.rules #启动时应用防火墙
post-down iptables-save > /etc/iptables.up.rules #关闭时保存防火墙设置,以便下次启动时使用  

如果不明白的看 http://blog.csdn.net/fenglailea/article/details/12191607#t1

感谢:http://hongwei.im/iptables-setting-for-ubuntu-1304

时间: 2024-08-07 14:49:41

ubuntu 14.04/14.10 iptables 防火墙设置的相关文章

在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin LEMP是一个操作系统和几个开源软件包的合称.缩写LEMP来自 Linux,Nginx(发音是 engine-x)HTTP服务器, MySQL数据库,和 PHP/ Perl/ Python的首字母. 在这篇教程里,让我们看一下如何在 Ubuntu 14.10 上安装 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin. 安装Nginx Nginx (发音是engine-

Ubuntu 14.04下已经给adb设置了权限,为什么仍然还提示没有权限

问题描述 Ubuntu 14.04下已经给adb设置了权限,为什么仍然还提示没有权限 heliheng@heliheng-Inspiron-5520:/media/heliheng/Resource/android-sdk-linux/platform-tools$ sudo chmod 777 adbheliheng@heliheng-Inspiron-5520:/media/heliheng/Resource/android-sdk-linux/platform-tools$ ./adbba

Ubuntu 14.04/13.10 用户怎样安装 Ubuntu Touch 核心应用

这是来自国外博客的教程,没有验证过,喜欢的童靴可以试试.Ubuntu Touch核心应用程序,是在Ubuntu开发者监督下的第三方开发项目创建的,为Ubuntu平台和手机操作系统开发的基本应用程序. 视频展示 Ubuntu touch 多任务显示改进 Mark Shuttleworth 的目标是要创建一个完全融合的移动系统,意思就是相同的程序可以在两个版本的Ubuntu中运行:应用程序在分辨率小的和大的显示器上运行良好. 本文将教大家如何在Ubuntu 14.04/13.10系统上安装 Ubun

Ubuntu 16.04系统安装以后该怎么设置?

  Ubuntu 16.04系统安装以后该怎么设置?          一.Ubuntu版本选择建议 1.版本选择的建议不是出于专业建议而是出于易于上手目的. 2. 版本:尝鲜可以选择最新发行版,目前是16.10(不是长期支持版),长期支持版是带 LTS 后缀的版本,目前是16.04,如果你想后面更省心就下载Ubuntu kylin (Ubuntu for China )中国专版.还有就是Ubuntu分有多种版本,记得选Ubuntu Desktop (桌面版)就好. 3.安装:至于安装可以选虚拟

如何安装透明窗口主题Emerald在Ubuntu 13.04/12.10/12.04中-PPA

Emerald 窗口装饰可能已经停止发展,在Ubuntu软件库也只提供几个版本的包,但也有用户想继续使用,所以以使其更易于安装,国外webupd8博客上传了Emerald到主WebUpd8 PPA,可支持Ubuntu13.04,12.10和12.04. Emerald是一款Compiz的窗口装饰主题,可实现全面的复合窗装饰,非常漂亮.主题很多有附带框.标题栏.按钮,所以你会看到在其他窗口看不到的装饰效果,这也是Emerald如此受欢迎最主要的原因.emerald高度可定制. 因为它需要Compi

iptables 防火墙设置

1.安装iptables防火墙 怎么知道系统是否安装了iptables?执行iptables -V,如果显示如: iptables v1.3.5 说明已经安装了iptables. 如果没有安装iptables需要先安装,执行: yum install iptables-services 在Linux中设置防火墙,以CentOS为例,打开iptables的配置文件:  vi /etc/sysconfig/iptables 通过/etc/init.d/iptables status命令查询是否有打开

NetFilter/iptables防火墙设置(上)

大多数主要的Linux发行商,包括SuSE,在防火墙设置方面都有某些独特的用户接口特征.他们这样并没有错,但是这样我就无法直接得到最想要的配置,所以只好自己手动设置.Iptable man页面完全是个依照iptable命令行句法的文件,它不提供关于将不同规则的防火墙结合起来的指导说明.你可以搜索到许多零散的关于iptables的信息,但是这些都不足以教会我想要弄明白的东西.最后我用运行着SuSE Linux Pro10.0 的一个Vmware虚拟机终于弄清楚了到底应该怎样做.下面就是用iptab

slackware-10.1 下 adsl 拨号上网的 iptables 防火墙设置

提要: 因为家里的机器是使用adls拨号上网,为了防止家伙们对我的机器作端口扫描,因此设置好防火墙显得比较重要起来. 我尝试了普通方式来设置iptables,发现一般的设置方法并不能很好的满足我的需要,主要是因为ppp的联结建立在放火墙脚本运行(通过手工编写 /etc/rc.d/rc.firewall)后.觉得更好的的方法是用rp-pppoe来调用你的防火墙设置,因为rp-pppoe的配置文件(/etc/ppp/pppoe.conf)中有一个选项,具体可以参考slackware下面/etc/pp

linux中iptables防火墙设置学习笔记

以下内容总结自鸟哥的 Linux 私房菜 -- 服务器(第三版),同时推荐喜欢Linux的同学们学习阅读. For Linux Kernel 2.6+ I. 图解防火墙 图解防火墙 上面的图示很复杂喔!不过基本上你依旧可以看出来,我们的 iptables 可以控制三种封包的流向: 封包进入 Linux 主机使用资源 (路径 A): 在路由判断后确定是向 Linux 主机要求数据的封包,主要就会透过 filter 的 INPUT 链来进行控管: 封包经由 Linux 主机的转递,没有使用主机资源,