Iptables的规则语法
(一)
基本语法
iptables-t filter -A INPUT -p icmp -j DROP
高级语法
iptables-t filter -A INPUT -m mac –mac-source 00:1C:23:3B:2E:B1 -j DROP
区别高级语法与基本语法的不同:首先filter的机制是由iptables_filter.ko模块所提供的功能,而这个模块本身就已提供了一些简单的匹配的过滤方式,而所谓的基本语法是指只使用iptable_filter.ko模块自身所提供的功能。高级语法必须调用其它模块的功能。以高级语法的范例为例,“-mmac”就是告知iptables工具,我们要动用xt_mac.ko模块的功能,由于是调用其它的模块,因此,语法的部分将会随着不同的模块而有所改变,而且每一个模块的语法也不一样,这就是所谓的“高级语法”。
举例1:将222.24.21.195送到本机的ICMP封包丢弃
语法:iptables-A INPUT -p icmp -s 222.24.21.195 -j DROP
语法解释:
-AINPUT
|
保护对象 |
因为本范例所使用的是INPUTChain,故其保护的对象为本机 |
-picmp
|
原文 |
-pProtocol(协议) |
|
目的 |
匹配某个特定协议封包,本范例是匹配icmp的封包 |
|
语法 |
-p icmp、-ptcp、 -pudp -p all等 |
-s222.24.21.195
|
原文 |
-s Source |
|
对应的参数 |
-dDestination |
|
目的 |
匹配封包中“来源”或“目的”端的IP |
|
语法 |
-s222.24.21.195 -s www.baidu.com等,由例子可知,IP位置的表示方法可以用单一IP或标准的CID网段,至于QDN的部分,实际上iptables是把FQDN送至DNS去执行解析,最后加入到规则之中的还是IP |
-j
|
目的 |
JUMP |
|
语法 |
将符合以上两项条件的封包以特定的方式来“处理” |
较常见的处理方式:
|
ACCEPT |
允许通过 |
|
DROP |
将封包丢弃调,这种处理方式将导致来源端误以为封包丢失,而不断重新发送封包,这个动作将持续到连接Timeout为止 |
|
REJECT |
将封包丢弃掉,并回送一个DestinationUnreachable的ICMP封包给发送端,发送端的应用程序收到这个错误信息封包之后,会终止连接的动作 |
举例2:不允许222.24.21.195主机通过本机DNS服务来执行名称解析
语法:iptables-A INPUT -p udp -s 222.24.21.195 --dport 53 -j REJECT
语法解释:
--dport53
|
原文 |
--dportDestination Port |
|
对应的参数 |
--sportSource Port |
|
目的 |
匹配TCP、UDP包头中的“来源端Port”或“目的端Port”,这样即可判断连接所要访问的服务,例如:-pudp –dport 53 代表客户端要访问UDP的53port,而UDP的53port就是DNS服务 |
|
语法 |
--dport 80、--sport80,但请注意,当时用--dport或--sport参数时,一定要指明是tcp还是udp协议。注意一点:只要规则语法中用到“Port参数”时,一定要加上“-pudp或-ptcp”的参数。 |
举例3:允许192.168.1.0/24网段的主机对192.168.0.1提出任何的服务请求
语法:iptables-A INPUT -p all -s 192.168.1.0/24 -d 192.168.0.1 -j ACCEPT
语法解释:
-pall
|
目的 |
匹配所有的协议包 |
-s192.168.1.0/24
|
目的 |
匹配来源端IP为192.168.1.0/24网段的封包 |
-jACCEPT
|
目的 |
开放符合以上3项条件的封包进入 |
举例4:只允许用户端主机从eth1访问的本机SSH服务
语法: iptables-A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT
语法解释:
-ieth1
|
原文 |
-iin-interface |
|
对应的参数 |
-oout-interface |
|
目的 |
匹配封包的出入接口 |
|
语法 |
-i eth1 -oeth2 |
举例5:不允许本机的应用程序从eth0接口送出封包去访问www.baidu.com网站
语法:iptables-A OUTPUT -o eth0 -p tcp -d www.baidu.com --dport 80 -j REJECT
语法解释:
-AOUTPUT
|
限制的对象 |
因为该例子使用的OUTPUChain,所以目的是限制本机对外的连接 |
(二)
有上面几个例子了解了iptables的基本语法,下面对参数进行整理总结。
(1)接口的匹配参数
|
参数名称 |
-i 、-o |
|
参数值 |
参数值会因为防火墙主机所使用的物理接口不同而有所改变,下面列出常见的网络接口名称: * eth0 :以太网络的接口名称。 * ppp0:PPP接口的名称。 * lo :LocalLoopback接口。 * fddi0:光线接口 |
|
使用范例 |
-i eth0:匹配从eth0接口送入的封包 |
|
意义 |
匹配封包的进出接口 |
|
补充 |
可搭配“!”来代表反向,例如,“-i!eth0”即表示匹配不是从eth0接口进入的封包 |
(2)上层协议(UpperLayer Protocal)的匹配参数
|
参数名称 |
-p |
|
参数值 |
这些参数会因为匹配的上层协议的不同而有所差异,一般常见的参数如下: * tcp :匹配的上层协议为TCP协议。 * udp :匹配的上层协议为UDP协议。 * icmp :匹配的上层协议为ICMP协议。 * all :匹配所有的上层协议。 关于其它的上层协议可以参考/etc/protocols文档,现在取出一部分内容: ip 0 IP hopopt 0 HOPOPT icmp 1 ICMP igmp 2 IGMP ggp 3 GGP ipencap 4 IP-ENCAP tcp 6 TCP 注:其中第一和第二字段是给系统来使用的,比如说我们写-ptcp还可以写为-p6。因为tcp的代码就是6,第三个字段用于管理员来识别用。 |
(3)匹配来源/目的的IP地址
|
参数名称 |
-s -d |
|
参数值 |
来源及目的IP地址匹配,其可接受的IP地址格式如下: *192.168.0.1 :匹配单一IP。 *172.10.0.0/16 :匹配一个Class B的网段。 *192.168.0.0/24 :匹配一个ClassC的网段。 *192.168.0.0/28 :也可以是任何标准CIDR的网段。 * www.qq.com : 也可以是网址,但最后存放到Chain里的值还是IP |
|
使用范例 |
-s192.168.0.1 :匹配从192.168.0.1主机送来的封包 -s192.168.0.0/24 :匹配从192.168.0.0/24网段所送来的封包 -d192.168.0.10 :匹配要送往192.168.0.10主机的封包 |
|
意义 |
匹配封包来源或目的IP地址 |
|
补充 |
可搭配“!”来代表反向,例如:“-s!192.168.0.0/24”即代表匹配来源端IP不是192.168.0.0/24网段的封包 |
(4)匹配来源/目的的Port位置
|
参数名称 |
--sport–dport |
|
参数值 |
我们可以用—sport或—dport来匹配所要访问的服务,例如我们可以用--dport80参数匹配访问WebServer的封包,另外,也可以使用 --sport80参数匹配有WebServer回应给客户端的封包 |
|
使用范例 |
--dport 80 :匹配访问的WebServer的封包。 --sport 110:匹配由POP3 Server 回应给客户端的封包。 |
|
意义 |
匹配封包来源或目的的Port |
|
补充 |
可以搭配”!“来代表反向,如”--sport! 80“代表匹配不是从WebServer送来的封包 |
(5)处理方式
|
参数名称 |
-j |
|
参数值 |
较为常见的3种处理方式,分别如下: * ACCEPT:允许 * DROP :将封包丢弃 * REJECT :将封包丢弃,并回应发送端一个ICMP封包 |
|
使用范例 |
-j ACCEPT 允许 -j DROP 将封包丢弃 |
|
意义 |
以特定的方式来处理符合条件的封包 |
Iptables的规则语法的更多相关文章
- iptables原理及防火墙规则语法基础
Iptables 防火墙 学习总结: 三张表介绍: filter负责过滤数据包,包括的规则链有,input(进),output(出)和forward(转发); nat则涉及到网络地址转换,包括的规则 ...
- [转] Linux下防火墙iptables用法规则详及其防火墙配置
from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...
- Iptables防火墙规则使用梳理
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...
- Iptables防火墙规则使用
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...
- Linux下防火墙iptables用法规则详及其防火墙配置
转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...
- Iptables用法规则及防火墙配置
[转载]http://www.cnblogs.com/yi-meng/p/3213925.html iptables规则 即防火墙规则,在内核看来,规则就是决定如何处理一个包的语句.如果一个包符合条 ...
- Makefile规则③规则语法、依赖、通配符、目录搜寻、目标
规则语法 通常规则的语法格式如下: TARGETS : PREREQUISITES COMMAND ... 或者: TARGETS : PREREQUISITES ; COMMAND COMMAND ...
- [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存
文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html 本文介绍iptables这个Linux下最强大的 ...
- IIS rewrite映射规则语法格式
IIS rewrite映射规则语法格式,特殊符号:&请用& amp;代替,否则异常. <configuration> <system.webServer> &l ...
随机推荐
- 使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统
使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblo ...
- P1054 求平均值
P1054 求平均值 转跳点:
- HDU 5504:GT and sequence
GT and sequence Accepts: 95 Submissions: 1467 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- Windows 10中使用VirtualBox
新版Windows 10或者安装了新的更新以后,VirtualBox虚拟机就不能用了. 原因是WIndows10里面有个叫Virtualization-base security的安全机制打开了. 关 ...
- Pycharm使用python3无法通过HTMLTestRunner生成测试报告《转载》
Pycharm使用python3无法通过HTMLTestRunner生成测试报告: https://blog.csdn.net/weixin_38981172/article/details/8238 ...
- 八十五、SAP中的ALV创建之四,去掉主键背景色
一.我们执行程序之后,发现表格中所有的内容都是有底色的 二.这个是因为我们在代码中规定了主键 三.我们去掉处理第一个之外的主键 四.运行程序,发现还是所有字段都有背景色 五.这是因为在每次ls_fie ...
- 六十五、SAP中通过BREAK-POINT下断点,进行调试
一.代码如下,有2个断点的按钮,可以可以写入BREAK-POINT人工断点 二.运行之后,程序会被断下来, 四个执行按钮,意思分别为:单步进入子程序,单步不进入子程序,返回外面,执行到断点处 三.我们 ...
- postman测试带有json数据格式的字段
测试六个字段 普通字段: ModelCode 普通字段: MmodelCode 普通字段: ModelTagKey 普通字段: ModelTagValue 普通字段: ModelTagType jso ...
- Django 初体验
Django 依赖的python 基础环境安装: https://www.runoob.com/django/django-install.html Django安装参考官网文档: https://d ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) E. Arson In Berland Forest
E. Arson In Berland Forest The Berland Forest can be represented as an infinite cell plane. Every ce ...