Linux之iptables(三)iptables的匹配条件

 

如上图,iptables命令风格,第一部分指定表名,第二部分指定对规则的增删改查的动作。

第三部分指定规则的匹配条件,第四部分指定数据包匹配该规则时执行的动作。

其中:命令的第一部分第二部分没啥好说的了,现在总结第三部分,匹配条件。

一:-s 匹配报文的原地址

#示例如下
1.匹配多个IP
iptables -t filter -I INPUT -s 192.168.1.111,192.168.1.118 -j DROP

2.匹配一个网段
iptables -t filter -I INPUT -s 192.168.1.0/24 -j ACCEPT

3.匹配该网段以外的
iptables -t filter -I INPUT ! -s 192.168.1.0/24 -j ACCEPT

二:-d匹配报文目标地址

#示例如下
iptables -t filter -I OUTPUT -d 192.168.1.111,192.168.1.118 -j DROP
iptables -t filter -I INPUT -d 192.168.1.0/24 -j ACCEPT
iptables -t filter -I INPUT ! -d 192.168.1.0/24 -j ACCEPT

三:-p匹配报文协议类型

#示例如下
iptables -t filter -I INPUT -p tcp -s 192.168.1.146 -j ACCEPT
iptables -t filter -I INPUT ! -p udp -s 192.168.1.146 -j ACCEPT

四:-i匹配报文流入的网卡

该匹条件进匹配报文流入的网卡,所以在output链和postrouting链中不能使用该选项。
#示例如下
iptables -t filter -I INPUT -p icmp -i eth4 -j DROP
iptables -t filter -I INPUT -p icmp ! -i eth4 -j DROP

五:-o匹配报文流出的网卡

匹配报文将要从哪个网络接口流出本机,匹配条件只是用于匹配报文流出的网卡,所以在input链与prerouting中不能使用这个选项
#示例如下
iptables -t filter -I OUTPUT -p icmp -o eth4 -j DROP
iptables -t filter -I OUTPUT -p icmp ! -o eth4 -j DROP

六:拓展匹配条件

tcp常用拓展模块

-p tcp -m tcp --sport用于匹配tcp协议报文的源端口,可以使用冒号指定一个连续的端口范围

-p tcp -m tcp --dport用于匹配tcp协议报文的目标端口,可以使用冒号指定连续端口范围

其中-m tcp可以省略,

#示例如下
iptables -t filter -I OUTPUT -d 192.168.1.146 -p tcp -m tcp --sport 22 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport 22:25 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport :22 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport 80: -j REJECT
iptables -t filter -I OUTPUT -d 192.168.1.146 -p tcp -m tcp ! --sport 22 -j ACCEPT

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值