zl程序教程

您现在的位置是:首页 >  后端

当前栏目

IPtables 扩展模块 Multiport/IPRange

扩展模块 iptables
2023-09-14 09:15:16 时间

之前是基本的匹配,现在可以看看扩展匹配,扩展匹配是实现更加高级的功能。

只要是.so这类的文件,都是扩展模块。 

[root@localhost ~]# rpm -ql iptables | grep ".so"
/usr/lib64/libip4tc.so.0
/usr/lib64/libip4tc.so.0.1.0
/usr/lib64/libip6tc.so.0
/usr/lib64/libip6tc.so.0.1.0
/usr/lib64/libiptc.so.0
/usr/lib64/libiptc.so.0.0.0
/usr/lib64/libxtables.so.10

multiport模块

  • multiport 模块可以添加多个不连续的端口:-m multiport <--sports|--dports|--ports> 端口1,端口2,端口n(之前--deport只能添加一个端口)

示例∶10.0.0.10 访问本机 20、21、80、443允许通过;

扩展匹配是实现更加高级的功能,扩展模块,这些模块在在IP tables中非常的多,之前--deport只能添加一个端口,或者说是一个连续的端口,mutiport可以添加不连续的端口。

示例: 允许10.0.0.10访问本机的20-22、21、80、443

[root@localhost ~]# iptables -t filter -I INPUT -s 10.0.0.10 -p tcp -m multiport --dport 20:22,80,443  -j ACCEPT

-p不属于扩展模块的动作,所以不能放里面。

[root@localhost ~]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  10.0.0.10            0.0.0.0/0            multiport dports 20:22,80,443

iprange模块


iprange 模块可以指定"一段连续的IP地址范围";用于匹配报文的源地址或者目标地址, iprange扩展

模块中有两个扩展匹配条件可以使用。

  • --src-range from【-to】∶原地址范围
  • --dst-range from【-to】∶目标地址范围

示例∶10.0.0.5 - 10.0.0.10地址段ping本机,则丢弃

[root@localhost ~]# iptables -t filter -I INPUT  -p icmp -m iprange --src-range "10.0.0.5-10.0.0.10"   -j drop
[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  0.0.0.0/0            0.0.0.0/0            source IP range 10.0.0.5-10.0.0.10
ACCEPT     tcp  --  10.0.0.1             0.0.0.0/0            multiport dports 20:22,80,443