标签:iptables 14 -- 防火墙 tcp filter ACCEPT 模块 INPUT
防火墙的模块
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 # 指定要匹配的字符串
--algo {bm|kmp} # 匹配的查询算法
案例1:要求访问的内容中包含HelloWorld的内容不允许访问,其他的可以。
iptables -t filter -A OUTPUT -p tcp -m string --string "hello" --algo kmp -j DROP
4. time模块(UTC)
解释:根据时间来控制访问(UTC)
参数:
--timestart hh:mm[:ss] # 开始时间
--timestop hh:mm[:ss] # 结束时间
--monthdays day[,day...] # 指定一个月的某一天
--weekdays day[,day...] # 指定周 还是 周天
案例1:要求上午的 08:00 到 上午的 10:22 不允许访问,其他时间可以。
iptables -t filter -A INPUT -p tcp -m time --timestart 00:00 --timestop 02:22 -j DROP
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模块
# 控制并发数•
参数:
--connlimit-upto n # 如果现有连接数小于或等于 n 则 匹配
--connlimit-above n # 如果现有连接数大于n 则匹配
ACCEPT 将数据包放行,进行完此处理动作后,将不再比对其它规则,直接跳往下一个规则链。
REJECT 拦阻该数据包,并传送数据包通知对方。
DROP 丢弃包不予处理,进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。
REDIRECT 将包重新导向到另一个端口,进行完此处理动作后,将会继续比对其它规则。
案例1:要求登录192.168.15.5的窗口最多有两个
iptables -t filter -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 2 -j REJECT
7.limit模块
# 针对 报文速率 进行限制。 秒、分钟、小时、天。
--limit rate[/second|/minute|/hour|/day] # 报文数量
--limit-burst number # 报文数量(默认:5)
网速 * 1000 / 1500 = 数据包数量
2.允许10个数据报文快速通过,超过的数据报文 1/m
iptables -t filter -A INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
iptables -t filter -A INPUT -p icmp -j DROP
3.限速:限制传输的带宽不可以超过500k(500 * 1000 / 1500 = 333 包)
案例1:要求每秒只能够传输500k大小数据
iptables -t filter -A INPUT -p tcp -m limit --limit 333/s -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP
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
标签:iptables,14,--,防火墙,tcp,filter,ACCEPT,模块,INPUT 来源: https://www.cnblogs.com/Haier123/p/15509422.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。