iptables与ufw的使用

总体介绍

iptables 和 UFW(Uncomplicated Firewall)是 Linux 系统中常用的防火墙管理工具。它们用于配置和管理网络防火墙规则,控制网络流量的进出。

iptables

iptables 是 Linux 上一个强大的防火墙工具,它基于内核的 Netfilter 框架,可以通过规则集来过滤、转发和修改网络数据包。

规则

使用 iptables,您可以定义一系列规则(规则链)来控制网络数据包的流动。每个规则链包含一组规则,根据数据包的来源、目标地址、协议、端口等信息来匹配和处理数据包。

主要的 iptables 命令包括:

iptables -A <chain> -p <protocol> --dport <port> -j <action>:向指定的规则链(chain)添加一条规则。其中,<chain> 可以是 INPUT、OUTPUT 或 FORWARD;<protocol> 是协议,如 TCP、UDP 或 ICMP;<port> 是端口号;<action> 是要执行的动作,如 ACCEPT、DROP 或 REJECT。

iptables -L:列出当前的防火墙规则。

iptables -F:清空所有的防火墙规则。

iptables -P <chain> <policy>:设置规则链的默认策略。其中,<chain> 可以是 INPUT、OUTPUT 或 FORWARD;<policy> 可以是 ACCEPT、DROP 或 REJECT。

iptables-save 和 iptables-restore:保存和加载防火墙规则。

UFW

UFW 是一个简化的前端工具,它提供了对 iptables 的易用性封装,使用户能够更方便地配置防火墙规则。

使用方法

UFW 的基本使用方法如下:

启用 UFW:ufw enable
禁用 UFW:ufw disable
允许特定端口的传入连接:ufw allow <port>
允许特定端口的传出连接:ufw allow out <port>
允许特定 IP 地址的传入连接:ufw allow from <IP>
允许特定 IP 地址的传出连接:ufw allow out to <IP>
拒绝特定端口的连接:ufw deny <port>
查看当前的防火墙规则:ufw status verbose
UFW 还支持其他更高级的功能,如配置网络地址转换(NAT)、限制连接速率等。

UFW 还支持一些高级功能和更复杂的规则配置:

删除特定规则:ufw delete <rule>
允许或拒绝特定协议的连接:ufw allow <protocol>、ufw deny <protocol>
允许或拒绝特定来源 IP 的连接:ufw allow from <IP>、ufw deny from <IP>
允许或拒绝特定目标 IP 的连接:ufw allow to <IP>、ufw deny to <IP>
允许或拒绝指定端口范围的连接:ufw allow <start_port>:<end_port>、ufw deny <start_port>:<end_port>
启用或禁用网络地址转换(NAT):ufw enable/disable NAT
通过 ufw status 命令可以查看当前的防火墙状态和规则。

请注意,UFW 的配置文件位于 /etc/ufw 目录下,编辑该目录中的文件来自定义更复杂的防火墙规则。

调用逻辑

当使用 iptables 或 UFW 时,它们的调用逻辑通常遵循以下步骤:

  • 检查是否具有足够的权限:在大多数情况下,对 iptables 或 UFW 的配置和操作需要管理员权限(root 或 sudo)。

  • 确定规则链(chain):选择要操作的规则链,例如 INPUT、OUTPUT 或 FORWARD。

  • 定义规则条件:根据需要定义规则条件,如协议、端口、IP 地址等。

  • 指定动作:确定当规则条件匹配时要执行的动作,如接受(ACCEPT)、拒绝(DROP)或拒绝并给出响应(REJECT)。

  • 添加或删除规则:根据需求添加或删除规则。

  • 更新防火墙状态:应用新的规则后,防火墙状态会自动更新。

推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家,有兴趣可以去看看:[Linux,Nginx,DPDK等技术内容,点击立即学习: 链接.

猜你喜欢

转载自blog.csdn.net/weixin_36184908/article/details/130850361
ufw