Linux:Iptables转发多个端口

时间:2020-01-09 10:41:41  来源:igfitidea点击:

如何使用基于Linux iptables的防火墙转发多个端口?

Linux iptables带有MATCH EXTENSIONS,可以使用扩展的数据包匹配模块。
多端口匹配模块匹配一组源端口或目标端口。
最多可以指定15个端口。
端口范围(port:port)被视为两个端口。
它只能与-p tcp或-p udp选项一起使用。

语法

目的端口的语法如下:

iptables -A tableName -p tcp  --match multiport --dports port1,port2 -j ACCEPT
iptables -A tableName -p udp  --match multiport --dports port1,port2 -j DROP
iptables -A tableName -p protocol  --match multiport --dports portRange1:PortRange2 -j ACCEPT

源端口的语法如下:

iptables -A tableName -p tcp  --match multiport --sports port1,port2 -j ACCEPT
iptables -A tableName -p udp  --match multiport --sports port1,port2 -j DROP
iptables -A tableName -p protocol  --match multiport --sports portRange1:PortRange2 -j ACCEPT

例子

以下内容将接受来自TCP端口80、22、53的所有流量:

/sbin/iptables -A INPUT -p tcp --match multiport --dports 80,22,53 -j ACCEPT

以下将接受1024至3000端口范围:

/sbin/iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT

最后,保存更改:

# service iptables save

或者

# iptables-save > /path/to/your/iptables/settings/file