接触Linux 大家就会接触IPTABLES 当时觉的很复杂,但是越学习越有意思,现在把简单解释和理解和大家分享。
简单WEB服务器范本:
iptables -F
iptables -p INPUT DROP
iptables -p OUTPUT DROP
iptables -p FORWARD DROP
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 6001 -j ACCEPT
iptables -A INPUT -s 192.168.123.121 -p icmp -j ACCEPT
iptables -A OUTPUT -d 192.168.123.121 -icmp -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 6001 -j ACCEPT
-F 清空指定表中的所有链
-P 策略
-A 在所选择的链末添加规则
通用匹配 【小写】
-o $INET_IFACE指定要匹配所有从接口INET_IFACE出去的包,这里我们使用的是eth0
-p 匹配指定的协议 [iptables -A INPUT -p tcp]
-s 以IP源地址匹配包 [iptables -A INPUT -s 192.168.1.1]
-j 决定 目标
-d 以IP目的地址匹配包
-m 显式匹配
-i 以包进入本地所使用的网络接口来匹配包
-t 用来指定使用哪个表
-s匹配源地址
-d匹配目的地址
-p协议匹配
-i入接口匹配
-o出接口匹配
--sport,--dport源和目的端口匹配
DROP 和ACCEPT 阻止 应用
FORWARD 链过滤所有不是本地产生的并且目的地不是本地(所谓本地就是防火墙了)的包
INPUT 恰恰针对那些目的地是本地的包
OUTPUT 是用来过滤所有本地生成的包的
阅读(528) | 评论(0) | 转发(0) |