防火墙的模块
1.multiport
解释:连续匹配多个端口
案例1:要求192.168.15.0/24网段的所有IP只能够访问22,80,443端口,其他的取决。
iptables -t filter -A INPUT -p TCP --dport 22 -s 192.168.15.0/24 -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 80 -s 192.168.15.0/24 -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 443 -s 192.168.15.0/24 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
或: iptables -t filter -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
案例2:要求192.168.15.0/24网段的所有IP只能够访问70-90端口,其他拒绝
iptables -t filter -A INPUT -p tcp -m multiport --dports 10000:30000 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m multiport --dports 10:30 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
2.iprange模块
解释:连续匹配多个ip
•参数:
--src-range from[-to]: 源地址范围
--dst-range from[-to] 目标地址范围•
案例1:要求只有192.168.15.7到192.168.15.66能够通过22端口登录,其他的拒绝
iptables -t filter -A INPUT -p tcp --dport 22 -s 192.168.15.7 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -s 192.168.15.66 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
iptables -t filter -A INPUT -p tcp -m iprange --src-range 192.168.15.7-192.168.15.66 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
3.string模块
解释:按照内容进行匹配
参数:
--string pattern
4. time模块(UTC)
解释:根据时间来控制访问(UTC)
参数:
--timestart hh:mm[:ss]
5.icmp模块
解释:控制icmp协议
参数:
--icmp-type {type[/code]|typename}
echo-request (8) 请求(我可以ping别人,别人休想ping我)
echo-reply (0) 回应(别人可以ping我,我休想ping别人)
案例1:禁止别人ping我,但我可以ping别人
iptables -t filter -I INPUT -p icmp --icmp-type "echo-request" -j DROP
6.connlimit模块
7.limit模块
8.防火墙案例
1.对所有的地址开放本机的tcp(80、22、8080-9090)端口的访问
iptables -t filter -A INPUT -p tcp -m multiport --dports 80,22,8080:9090 -j ACCEPT
2.允许对所有的地址开放本机的基于ICMP协议的数据包访问
iptables -t filter -A INPUT -p icmp -j ACCEPT
3.其他未被允许的端口禁止访问
iptables -t filter -A INPUT -p tcp -j DROP