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后边跟协议。

posted @   zxinlog  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示