LINUX防火墙:UFW 用法、参数、示例、转发

  1. 让UFW允许转发端口
  • 添加允许/拒绝IP段并查看详细信息
    1. 查看防火墙所有规则-详细版本
  • UFW(Uncomplicated Firewall)是iptables的一个接口,为不熟悉防火墙概念的初学者提供了易于使用的界面,同时支持IPv4和IPv6。以下是UFW的基本用法和示例:

    安装UFW

    在Ubuntu和Debian上,可以使用以下命令来安装UFW:

    apt-get install ufw -y
    

    在CentOS上,需要先安装EPEL软件源,然后再安装UFW:

    yum install epel-release -y
    yum install --enablerepo="epel" ufw -y
    

    启动和关闭UFW

    启动UFW:

    ufw enable
    

    关闭UFW:

    ufw disable
    

    查看UFW状态

    查看已经定义的UFW规则:

    ufw status
    

    设置UFW默认策略

    UFW默认策略设置为阻止所有传入流量并允许所有传出流量,你可以使用以下命令来设置自己的默认策略:

    ufw default allow outgoing
    ufw default deny incoming
    

    设置规则

    要将防火墙配置为允许传入SSH连接,可以使用以下命令:

    ufw allow ssh
    

    这将创建防火墙规则-允许端口22上的所有连接,这是SSH守护程序默认监听的端口。实际上也可以通过直接指定端口来创建等效规则,下面这条命令将产生相同的结果:

    ufw allow 22
    

    如果你的SSH守护程序配置在其他端口,则需要手动指定相应的端口。

    UFW可以基于TCP或UDP协议来过滤数据包,命令如下:

    ufw allow 80/tcp
    ufw allow 21/udp
    

    还可以使用以下命令随时拒绝指定端口任何传入和传出的流量:

    ufw deny 80
    ufw deny 21
    

    如果要删除HTTP允许的规则,只需在原始规则前加上delete即可,如下所示:

    ufw delete allow http
    ufw delete deny 21
    

    特定端口范围

    某些应用程序使用多个端口而不是单个端口,你可能需要使用UFW指定端口范围,指定端口范围时,必须指定规则应适用的协议(tcp或udp)。例如,要允许使用端口9000-9002范围内的连接,可以使用以下命令:

    ufw allow 9000:9002/tcp
    ufw allow 9000:9002/udp
    

    特定的IP地址

    出于某些情况,你可能需要允许/禁用来自特定IP地址的连接,如下:

    ufw allow from 192.168.29.36
    ufw deny from 192.168.29.36
    

    还可以在UFW中允许IP地址范围,以下命令将允许从192.168.1.1到192.168.1.254的所有连接:

    ufw allow from 192.168.1.0/24
    

    要允许IP地址192.168.29.36连接特定的端口80,可以运行以下命令:

    ufw allow from 192.168.29.36 to any port 80
    

    进一步的,可以指定TCP/UDP:

    ufw allow from 192.168.29.36 to any port 80 proto tcp
    

    以上大致简述了UFW的基本使用,日常使用基本够用。除此之外,UFW还支持更多的高级特性例如允许与特定网络接口的连接、配置NAT等等。

    让UFW允许转发端口

    1. 编辑 /etc/default/ufw 文件,找到 DEFAULT_FORWARD_POLICY 行,将 DROP 改为 ACCEPT1。

    2. 保存并关闭文件。

    3. 重启ufw以使更改生效:

      sudo ufw disable
      sudo ufw enable
      
      apt update && apt install ufw -y && ufw allow 708 && ufw allow 22 && sed -i 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/' /etc/default/ufw
      ufw disable
      echo "y" | ufw enable
      

    添加允许/拒绝IP段并查看详细信息

    这是通过以下规则实现ufw允许了来自 192.168.191.0/24 子网的所有流量:

    sudo ufw allow from 192.168.191.0/24
    

    这一规则表示允许所有源IP地址在 192.168.191.0/24 子网中的数据包进入系统。这通常用于在内部网络中允许特定子网的流量。

    如果想要进一步验证这一规则是否已正确添加,可以使用以下命令:

    sudo ufw status
    

    此命令将显示当前的防火墙规则。你应该能够看到类似以下的行:

    To                         Action      From
    --                         ------      ----
    192.168.191.0/24           ALLOW       Anywhere
    

    如果想要添加规则以允许特定端口或服务,可以使用类似以下的命令:

    sudo ufw allow from 192.168.191.0/24 to any port [PORT_NUMBER]
    

    请将 [PORT_NUMBER] 替换为希望允许的端口号。例如,如果要允许SSH(端口22),可以使用:

    sudo ufw allow from 192.168.191.0/24 to any port 22
    

    确保在添加、删除或修改规则后重新加载防火墙配置,可以使用以下命令:

    sudo ufw reload
    

    这将确保新的规则立即生效。

    查看防火墙所有规则-详细版本

    如果想要查看已添加的规则的详细信息,包括具体的IP地址或IP段,可以使用以下命令:

    bashCopy code
    sudo ufw show raw
    

    这将显示更详细的防火墙规则,包括源和目标的 IP 地址。请注意,这些规则可能比 ufw status 显示的更加详细,但可能需要更多的解释。


    欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。

    ×

    喜欢就点赞,疼爱就打赏

    //