做测试工作的时候,有时候依赖的外部环境不允许随便启停,但是被测模块需要模拟外部模块挂掉或断网的场景,这时候可以使用iptable来完成
http://man.linuxde.net/iptables
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
语法
iptables(选项)(参数)
选项
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。
iptables命令选项输入顺序:
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
表名包括:
raw:高级功能,如:网址过滤。
mangle:数据包修改(QOS),用于实现服务质量。
net:地址转换,用于网关路由器。
filter:包过滤,用于防火墙规则。
规则链名包括:
INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)。
动作包括:
accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP伪装(NAT),用于ADSL。
LOG:日志记录。
实例
清除已有iptables规则
iptables -F
iptables -X
iptables -Z
开放指定的端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
iptables -A INPUT -j reject #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是
查看已添加的iptables规则
iptables -L -n -v
Chain INPUT (policy DROP 48106 packets, 2690K bytes)
pkts bytes target prot opt in out source destination
5075 589K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
191K 90M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
1499K 133M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
4364K 6351M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6256 327K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 3382K packets, 1819M bytes)
pkts bytes target prot opt in out source destination
5075 589K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
删除已添加的iptables规则
将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers
比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8
分享到:
相关推荐
Linux 防火墙软件 IPtables使用详解.docx
Android iptables 使用及源码分析
LinuxIptables使用资料(整理).docx
iptables使用指南iptables使用指南
iptables 使用指南 内容比较详细
介绍iptables编译,安装,启动以及iptables的工作原理,以及一些编写规则和范例
1、iptables介绍 iptables是复杂的,它集成到linux内核中。用户通过iptables,可以对进出你的计算机的数据包进行过滤。通过iptables命令设置你的规则,来把守你的计算机网络──哪些数据允许通过,哪些不能通过,...
Iptables使用手册. iptables是linux下功能与性能最为强大的防火墙。
一份很好的关于Iptables使用手册,pdf格式,1.6M
iptables 也可以用于 NAT 转发,例如要将外部请求的 80 端口转发到内部的 192.168.100.2 的 80 端口,可以使用以下命令:`iptables -t nat -A PREROUTING -p tcp --dport 80 -d $INTERNET_ADDR -j DNAT --to-...
手册中对linux防火墙工具iptables的使用进行了详细的讲解,非常适合正在研究这款工具的人,尤其对表、链、规则进行了细致的罗列,通俗易懂!
- **Tables (表)**:iptables使用不同的表来组织规则,包括`filter`、`nat`、`mangle`等。 - `filter`表:用于包过滤。 - `nat`表:用于网络地址转换(NAT)。 - `mangle`表:用于修改数据包。 - **Command (命令)*...
总结了iptables原理,在各个场景下的使用方法,并给出了sh脚本的实现过程
第一章序言部分除了第三...第五章和第六章是iptables命令使用方法的详细介绍。 第七章与第八章是实例讲解,对我们编写自己的规则很有指导意义的,强烈建议你看一看。 附录里有一些资源链接是很好的,相信你一定会喜欢。
一份说明IPTABLES基础知识的文档,含有详细使用说明和示例,内容较全面丰富,是一个学习LINUX 防火墙应用知识的材料。
iptables 高级使用研讨
### iptables 1.1中文指南知识点概览 #### 一、iptables简介...以上是对 `iptables 1.1中文指南` 的主要内容和知识点的详细解析,希望能帮助读者更好地理解和掌握iptables的使用方法及其在网络安全管理中的重要作用。
该指南由Oskar Andreasson编写,旨在为用户提供一套全面、实用的iptables使用手册。全文内容覆盖了从iptables的基础知识到高级配置的所有方面,并提供了丰富的实例和常见问题解决方案。 #### 二、基础知识 - **...