ubuntu 14.04/14.10 iptables 防火墙设置

简介: 1. 一键批处理设置 呆狐狸.凨#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin:~/binexport PATH# Check if user is rootif [ $UID != 0 ]; then echo "Error: You must be

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





目录
相关文章
|
11月前
|
Ubuntu Linux 程序员
Ubuntu 18.04 安装详细步骤与设置指南
接下来,我们将探讨如何进行个人信息设置。重启选择高级模式,联网更新软件包并安装硬件驱动程序以完成个人信息设置。在重启过程中,你需要按下esc键(只需按一下)来选择ubuntu的高级模式。重启完成后,请联网并打开终端,然后输入以下字符以继续设置过程。
|
11月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
2076 20
|
10月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
1211 2
|
Ubuntu Shell Python
Ubuntu学习笔记(一):pycharm设置快捷启动图标详解
这篇博客详细讲解了如何在Ubuntu 20.04系统中为PyCharm设置快捷启动图标,包括创建.desktop文件、编辑文件内容以及添加到收藏夹的步骤。
1630 0
Ubuntu学习笔记(一):pycharm设置快捷启动图标详解
|
网络协议 Ubuntu
在Ubuntu 18.04/20.04 LTS设置静态DNS服务器的过程。
以上步骤提供了一种简洁明了的指导,让用户能够在Ubuntu系统中有效设置静态DNS服务器,这对日常管理和网络配置来说是非常实用的技能。
1864 18
|
监控 Ubuntu Linux
在Ubuntu环境中制定脚本开机自动启动设置
以上就是在Ubuntu环境下制定脚本开机自动启动的设置方法。通过Systemd服务,你可以按需要轻松管理脚本的自动执行。全新的一天开始时,脚本已静静地运行,无需额外手动启动,机器恰如一位忠诚的仲夏夜的梦想者,在黎明的许诺中尽职尽责。于是心满意足地看着,任由它在自己选择的轨道上静静地飞翔。
1661 26
|
Ubuntu 数据安全/隐私保护
在Ubuntu系统中增加Openfire服务设置和管理
至此,你已经完成了在Ubuntu中增加Openfire服务的设置和管理。希望你在这个过程中,能像享受一场摇滚音乐会一样,体验编程的乐趣和成就感。祝你玩得开心!
272 27
|
12月前
|
Ubuntu 编译器
在Ubuntu中设置QT Creator的交叉编译环境。
在进行交叉编译设置时,请确保遵循你的目标硬件平台和软件的具体指南。以上步骤给出的是一个概括的指南,具体步骤可能因你的特定需求而有所不同。务必参照相关硬件和软件的官方文档进行操作,以获得具体的、针对性的指导。
975 0