iptables从入门到应用的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
iptables从入门到应用
一、简介
1.1、是什么?
iptables是隔离主机以及网络的工具,通过自己设定的规则以及处理动作对数据报文进行检测以及处理。
1.2、发展史
防火墙的发展史就是从墙到链再到表的过程,也即是从简单到复杂的过程。为什么规则越来越多,因为互联网越来越不安全了,所有防火墙的的规则也越来越复杂。防火的工具变化如下:
ipfirewall(墙)-->ipchains(链条)--iptables(表)
2.0版内核中,包过滤机制是ipfw,管理工具是ipfwadm;
2.2 版内核中,包过滤机制ipchain,管理工具是ipchains;
2.4版及以后的内核中,包过滤机制是netfilter,管理工具iptables。
二、原理
|
3.4、语法结构解析
语法结构解析如下。
|
|
规则显示
1 2 3 4 5 6 7 |
|
3.4.3、链
五链的功能如图所示。
3.4.4、条件匹配
条件匹配分为基本匹配和扩展匹配,扩展匹配又分为显示匹配和隐式匹配。
基本匹配的特点是:无需加载扩展模块,匹配规则生效;扩展匹配的特点是:需要加载扩展模块,匹配规则方可生效。
隐式匹配的特点:使用-p选项指明协议时,无需再同时使用-m选项指明扩展模块以及不需要手动加载扩展模块;
显示匹配的特点:必须使用-m选项指明要调用的扩展模块的扩展机制以及需要手动加载扩展模块。
基本匹配的使用选项及功能
1 2 3 4 5 6 |
|
隐式匹配的使用选项及功能
|
1
2
3
例子:
iptables -I INPUT -d 172.16.100.7 -p tcp -m multiport --dports 22,80 -j ACCEPT
iptables -I OUTPUT -s 172.16.100.7 -p tcp -m multiport --sports 22,80 -j ACCEPT
2.iprange(ip范围)
以连续地址块的方式来指明多IP地址匹配条件。
1
2
3
例子:
iptables -A INPUT -d 172.16.100.7 -p tcp --dport 23 -m iprange --src-range 172.16.100.1-172.16.100.100 -j ACCEPT
iptables -A OUTPUT -s 172.16.100.7 -p tcp --sport 23 -m iprange --dst-range 172.16.100.1-172.16.100.100 -j ACCEPT
3.time(时间范围)
指定时间范围。
1
2
3
例子:
iptables -A INPUT -d 172.16.100.7 -p tcp --dport 901 -m
time
--weekdays Mon,Tus,Wed,Thu,Fri --timestart 08:00:00 --
time
-stop 18:00:00 -j ACCEPT
iptables -A OUTPUT -s 172.16.100.7 -p tcp --sport 901 -j ACCEPT
4.string(字符串)
对报文中的应用层数据做字符串模式匹配检测(通过算法实现)。
1
2
3
--algo {bm|kmp}:字符匹配查找时使用算法
--string
"STRING"
: 要查找的字符串
--hex-string “HEX-STRING”: 要查找的字符,先编码成16进制格式
5.connlimit(连接限制)
根据每个客户端IP作并发连接数量限制。
1 2 |
|
6.limit(速率限制)
报文速率控制。
7.state(状态)
追踪本机上的请求和响应之间的数据报文的状态。状态有五种:INVALID, ESTABLISHED, NEW, RELATED, UNTRACKED.
法则:
1、对于进入的状态为ESTABLISHED都应该放行;
2、对于出去的状态为ESTABLISHED都应该放行;
3、严格检查进入的状态为NEW的连接;
-
4、所有状态为INVALIED都应该拒绝;
3.4.5、处理动作
处理动作有内置的处理动作和自定义的处理动作。自定义的处理动作用的比较少,因此只介绍内置的处理动作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
3.5、保存和载入规则
CentOS6和CentOS7保存和载入的规则稍有差异。
|
|
四、iptables的实践应用
iptables十分重要与网络的安全息息相关,我们理所应当掌握。不过我们大可不必死记硬背,一定结合实际项目,多多练习,效果才会更好。
4.1、iptables常用规则
1.放行sshd服务
1 2 |
|
|
1 2 3 |
|
1 |
|
4.2、如何配置iptables
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
4.3、iptables初始化脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
限制ping 192.168.0.1主机的数据包数,平均2/s个,最多不能超过3个
放行本机端的流入流出
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程之家行业资讯频道,感谢您对编程之家的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。