linux中IPTABLES常用的例子

1.安装iptables

很多Linux已经默认安装iptables,可使用后文的查看命令测试是否安装
CentOS/RedHat下执行:

yum install iptablesDebian/Ubuntu下执行:

apt-get install iptables

iptables –F

例子

#删除已经存在的规则

iptables -P INPUT DROP
#配置默认的拒绝规则。基本规则是:先拒绝所有的服务,然后根据需要再添加新的规则。

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#打开WEB服务端口的tcp协议

iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#打开POP3服务端口的tcp协议

iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#打开SMTP服务端口的tcp协议

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#打开FTP服务端口的tcp协议

iptables -A INPUT -p tcp -s 202.106.12.130 --dport 22 -j ACCEPT
#允许IP地址为202.106.12.130这台主机连接本地的SSH服务端口

iptables -A INPUT -p tcp --dport 53 -j ACCEPT
#允许DNS服务端口的tcp数据包流入

iptables -A INPUT -p udp --dport 53 -j ACCEPT
#允许DNS服务端口的udp数据包流入

iptables -A INPUT -p icmp -icmp-type echo-request -i eth1 -j DROP
#防止死亡之ping,从接口eth1进入的icmp协议的请求全部丢弃。

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
#防止SYN Flood (拒绝服务攻击)

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.226 -j MASQUERADE
#允许 192.168.0.226通过eth1 IP伪装出外网

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.4 -p tcp --dport 25 -j MASQUERADE
#允许 192.168.0.4通过eth0 伪装访问外网的 25端口

6.设置开机启动

一般在安装iptables完成后,开机启动会自动设置成功,但在个别CentOS系统上,貌似还有些问题,可以使用如下命令手动设置
chkconfig --level 345 iptables on

7.保存iptables规则

service iptables save

8.iptables在手动防CC攻击中的简单应用

关于获取攻击者ip的方法,可以通过很多方法获取,如查看网站日志等,本文不再赘述。
a).建立要屏蔽的ip/ip段文件,名为ip.txt

#屏蔽的ip
123.4.5.6
#屏蔽的ip段(编写方法,同前文)
123.4.5.6/24b).建立block_ip.sh脚本文件

复制代码代码如下:

#!/bin/sh
# Filename: block_ip.sh
# Purpose: blocks all IP address/network found in a text file
# The text file must have one IP address or network per line
#################################################################
# Change the following path/filename to match yours
IP_LIST_FILE=/path/to/ip.txt
#################################################################
# Don't change anything below unless you are a smarty pant!
#################################################################
IPTABLES_BIN=/sbin/iptables
# Get the IP address/network from the file and ignore any line starting with # (comments)
BAD_IP_ADDR_LIST=$(grep -Ev "^#" $IP_LIST_FILE)
# Now loop through the IP address/network list and ban them using iptabels
for i in $BAD_IP_ADDR_LIST
do
echo -n "Blocking $i ...";
$IPTABLES_BIN -A INPUT -s $i -j DROP
$IPTABLES_BIN -A OUTPUT -d $i -j DROP
echo "DONE.";
done
##################################################################
# END OF SCRIPT - NOTHING TO SEE HERE - THAT'S ALL FOLKS!
##################################################################

c).运行脚本

sh /path/to/block_ip.sh

时间: 2024-10-28 04:36:15

linux中IPTABLES常用的例子的相关文章

linux中iptables配置学习笔记

iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅. 首先要说明的是,iptables操作的是2.4以上内核的netfilter.所以需要linux的内核在2.4以上.其功能与安全性远远比其前辈 ipfwadm,ipch

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

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

在Linux中打印常用书信与信封

管互联网已经十分普及了,E-mail也成为日常必不可少的迅捷交流工具,但在日常办公中仍然少不了传统书信.文书的交流.正因如此,许多Office软件都内置了诸如信纸,信封之类的模板,用户使用这些模板可以快速创建书信及信封.Linux中的办公套件,如OpenOffice.RedOffice.StarOffice等也都内置了大量的书信.信封模板,但却没有常用的信纸样式模板.笔者使用了永中Office 2007 Beta版之后,发现使用该Office的文字处理可以轻而易举地实现信纸样式的书信及信封制作.

linux中iptables防火墙怎么设置

当新配置了一台linux的服务器时,如果需要配置iptables,一般按照以下命令进行配置: 一,安装并启动防火墙 [root@linux ~]# /etc/init.d/iptables start 当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig /iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了. 1.加载模块 /s

linux中iptables中DNAT与SNAT的理解

这是我们在设置Linux网关或者防火墙时经常要用来的两种方式.以前对这两个都解释得不太清楚,现在我在这里解释一下. 首先,我们要了解一下IP包的结构,如下图所示: 在任何一个IP数据包中,都会有Source IP Address与Destination IP Address这两个字段,数据包所经过的路由器也是根据这两个字段是判定数据包是由什么地方发过来的,它要将数据包发到什么地方去.而iptables 的DNAT与SNAT就是根据这个原理,对Source IP Address与Destinati

lsof在Linux中的10个例子

http://kumu-linux.github.io/ www.tecmint.com 本文主要是介绍lsof相关使用方法,原文主要是10个例子的讲解,笔者又新增了一些实用案例,原文地址 . lsof的意思是'列出打开的文件',用于找出哪些文件被哪些进程打开或是占用.我们都知道Linux/UNIX的理念就是一切皆文件(包括pipes管道.sockets.directories目录.devices设备等等).使用lsof命令的原因之一就是,当一个磁盘不能被卸载时,借助lsof这个命令我们可以轻易

linux中iptables防火墙劫持并拦截DNS查询53端口实现转向

企业内网中经常会有这样的需求,比如说业务服务器的IP地址为192.168.6.25,大家也就习惯于访问这个地址了,运维也很厚道的将某个域名解析到这个IP地址,这样大家也就不必记住繁琐的IP地址,同时运维也很方便的将业务服务器由192.168.6.25的主机迁移到192.168.6.26的主机而无需通知客户端更改地址,这也是域名发挥的作用,好了,现在问题来了:-) 客户说我们企业很小,不想另外购买域名,好吧,每年五十几块也是一笔费用,而且购买域名后还需要有人维护,比如要记得续费什么的,略麻烦.同样

linux中iptables防火墙常规设置

当新配置了一台linux的服务器时,如果需要配置iptables,一般按照以下命令进行配置: 一,安装并启动防火墙 [root@linux ~]# /etc/init.d/iptables start 当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了. 1.加载模块 /sb

linux中crontab定时任务的例子

语法 格式:*/分 */时 */日 */月 */年 执行的任务 比如下面的例子,每分钟执行一次任务:   */1 * * * * /usr/bin/php /Users/huangyibiao/Desktop/Shell/test.php >> /Users/huangyibiao/Desktop/Shell/test.log   常用命令 查看当前crontab文件中的任务列表:   crontab -l   如果要暂停任务,直接将任务注释掉即可! 进入crontab任务列表中编辑:   c