1、连续端口,iptables默认就支持多个连续端口的规则
iptables -A INPUT -s 192.168.122.0/23 -p tcp --dport 21:23 -j ACCEPT #端口21 22 23
2、不连续的端口,iptables有一个mutiport的模块,需要手动指定加载一下
iptables -A INPUT -s 192.168.122.0/23 -p tcp -m multiport --dport 21,23,27,44 -j ACCEPT #端口21 23 27 44
也可以配合连续IP的规则使用
iptables -A INPUT -s 192.168.122.0/23 -p tcp -m multiport --dport 21:23,2227:2230 -j ACCEPT #端口 21 22 23 2227 2228 2229 2230
一般在设置规则的时候,要先整理一下端口所属的服务,尽量将同一个服务的端口写在同一条,如果不是同一个服务的尽量分开,方便管理。
1、vi /etc/sysconfig/iptables*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -s 192.168.1.2 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p icmp -j ACCEPT
-A INPUT -i eth0 -j DROP
COMMIT
2、/etc/init.d/iptables restart
3、iptables -nvL检查
4、-s 192.168.1.2即只允许192.168.1.2访问
iptables在基本过滤条件的基础上还可以扩展其他条件,在使用时需要使用-m参数来启动这些扩展功能,语法如下:
一:根据MAC地址过滤
1)根据IP过滤的规则,当对方修改IP后,防火墙会失效
#设置规则禁止192.168.4.10使用ssh远程本机
但是,当client主机修改IP地址后,该规则就会失效,注意因为修改了IP,对client主机的远程连接会断开。 根据MAC地址过滤,可以防止这种情况的发生。
2)可以通过NMAP扫描对方的mac地址
拒绝52:54:00:65:44:B1 这台主机远程本机
二:基于多端口设置过滤规则
一次需要过滤或放行很多端口
例:一次性开启20,25,80,110,143,16501到16800所有的端口
提示:多端口还可以限制多个源端口,但因为源端口不固定,一般不会使用,限制多个源端口的参数是--sports.
三:根据IP地址范围设置规则
1)允许从 192.168.4.10-192.168.4.20 主机ssh远程登录本机
注意:这里也可以限制多个目标IP的范围,参数是--dst-range,用法与--src-range一致。
2)禁止从 192.168.4.0/24 网段其他的主机ssh远程登录本机
所有iptables规则都是临时规则,如果需要永久保留规则需要执行如下命令:
安装iptables-services并启动服务,保存防火墙规则。
防火墙规则存放文件:
/etc/sysconfig/iptables
iptables其他拓展模块还有很多,可以通过 man iptables-extensions 命令去查看。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)