3.3.1 多端口匹配
- -m multiport --sport 源端口列表
- -m multiport --dport 目的端口列表
iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT iptables -A INPUT -p udp -m multiport --dport 53 -j ACCEPT复制代码
3.3.2 IP范围匹配- -m iprange --src-range 源IP范围
- -m iprange --dst-range 目的IP范围
iptables -A FORWARD -p udp -m iprange --src-range 192.168.72.100-192.168.72.200 -j DROP # 禁止转发源地址位于192.168.72.100——192.168.72.200的udp数据包复制代码
3.3.3 MAC地址匹配格式: -m mac -- -mac- source MAC地址 复制代码
示例: iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP #禁止来自某MAC地址的数据包通过本机转发复制代码
3.3.4 状态匹配格式: -m state --state连接状态复制代码
常见的连接状态:含义
NEW
主机连接目标主机,在目标主机上看到的第一个想要连接的包
ESTABLISHED
主机已与目标主机进行通信,判断标准只要目标主机回应了第一个包,就进入该状态
RELATED
主机已与目标主机进行通信,目标主机发起新的链接方式,一般与ESTABLISHED配合使用
INVALID
无效的封包,例如数据破损的封包状态
示例:
iptables -I INPUT -M state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT #第一个包我只看22端口的包 #-p tcp是隐含匹配,可以省略-m tcpiptables -A INPUT -p tcp -m multiport --dport 443,80,22,21,20,53 -j ACCEPT #允许放通tcp的这些端口号 #-m multiport加载多个端口模块iptables -A INPUT -p udp --dport 53 -j ACCEPT #放通UDP的53端口进来的包(DNS服务器返回信息时默认使用UDP的53端口) ? iptables -A INPUT -p tcp -m state --state ESTABLISHED ,RELATED -j ACCEPT #对进来的包的状态进行检测 。已经建立tcp连接的包以及该连接相关的包允许通过 。简单来说就是只允许所有自己发出去的包进来 。#比如我和你做生意,我们谈成了生意,到了支付的时候,就可以直接调用与这笔生意相关的支付功能 。iptables -P INPUT DROP #默认关闭,将以上的设置设为白名单复制代码
4 总结1、Linux防火墙的两个组件:- 内核态 netilter(保存包过滤处理的规则集)
- 用户态 iptables(防火墙规则管理工具)
推荐阅读
- Ajax 之战:XMLHttpRequest 与 Fetch API
- IPSec配置实例
- 秋田犬为什么禁养?
- 运动之后真的能喝水吗?
- 瑜伽真的可以减肥么
- 泡红茶之前要洗茶吗,红茶需要洗茶吗
- 苦丁茶属于什么茶?
- 日产|配5.6升V8发动机 日产途乐已通过国六b排放标准:“沙漠之王”来了
- Redmi|中端机性能之王!卢伟冰预热Redmi Note 11T Pro:米粉最期待价格
- 唐武宗|历史的职场智慧:深度解读职场阳谋,崇以虚名而实夺之权(之三)