iptables用法-linux防火墙
防火墙
防火墙是公网和内网之间的一道屏障,可以保护数据的安全性。防火墙根据不同的策略而发挥不同的功能。防火墙策略可以基于流量的源目地址、端口号、协议、应用等来定制。流量和策略吻合则执行相应的处理。
Linux系统有多个防火墙管理工具,配置妥当其中的一个就ok。
iptables
早期的linux系统中,使用的是iptables防火墙管理服务来配置,还有大量企业在使用,因此,学还是要学的。
防火墙从上到下匹配策略规则,如果找到匹配项就执行相应操作,否则执行默认操作,如果默认通过,那么策略应该设置阻止的策略。如果默认阻止,策略应该设置通过的策略。
规则链根据数据包处理位置的不同进行分类:
在进入路由选择前处理数据包(PREROUTING)
处理流入的数据包(INPUT)
处理流出的数据包(OUTPUT)
处理转发的数据包(FORWARD)
在进行路由选择后处理数据包(POSTROUTING)
内网向外网发的包一般不用理会,所有着重点还是从外网流入的数据,也就是INPUT规则链。
对于匹配到的流量,有不同的动作,如:允许,拒绝,登记,和不理睬。也就是
ACCEPT:通过。
REJECT:拒绝后发送信息,让发送者得知自己的消息被拒绝了。
LOG:记录日志信息。
DROP:不理睬。
iptables常用参数
| -P | 设置默认策略 |
|---|---|
| -F | 清空规则链 |
| -L | 查看规则链 |
| -A | 在规则链的末尾加入新规则 |
| -I num | 在规则的头部加入新规则 |
| -D num | 删除一条规则 |
| -s | 匹配来源地址 IP/MASK,加叹号 ! 表示除这个IP外 |
| -d | 匹配目标地址 |
| -i 网卡名称 | 匹配从这块网卡流出的数据 |
| -o 网卡名称 | 匹配从这块网卡流出的数据 |
| -p | 匹配协议,TCP,UDP,ICMP等 |
| --dport num | 匹配目标端口号 |
| --sport num | 匹配来源端口号 |
1. 看防火墙规则链
iptables -L
2. 清空已有的规则链
iptables -F
3. INPUT规则链策略设置为拒绝
iptables -P INPUT DROP
4. 向INPUT写入允许ICMP流量进入的策略规则
iptables -I INPUT -p icmp -j ACCEPT
5. 删除INPUT刚才的规则,并设置默认规则为允许
使用-F清空所有策略,使用-D可以删除一条指定的策略。
iptables -D INPUT 1
iptables -P INPUT ACCEPT
6. INPUT设置只允许指定网段的主机访问本机的22端口,拒绝其他主机的流量。
iptables -I INPUT -s 192.168.0.0/24 tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT
注意要把允许写在拒绝策略前面,否则所有的流量 都进不来。
7. INPUT写入拒绝所有人访问本机12345端口的策略规则
iptables -I INPUT -p tcp --dport 12345 -j REJECT
iptables -I INPUT -p udp --dport 12345 -j REJECT
8. INPUT添加拒绝192.168.0.107访问本机80端口
iptables -I INPUT -p tcp -s 192.168.0.107 --dport 80 -j REJECT
9. 向INPUT添加拒绝所有主机访问本机1000-1024端口的策略
iptables -I INPUT -p tcp --dport 1000:1024 -j REJECT
iptables -I INPUT -p udp --dport 1000:1024 -j REJECT
总结:-j 一般就是跟策略REJECT或者ACCEPT
--dport就是目标的端口号,--sport就是来源的端口号
-A在末尾添加规则,-I在开头添加规则。
-s加上ip或者网段,-p后边跟协议。

浙公网安备 33010602011771号