• Linux环境(Ubuntu)上的防火墙工具使用方法


    目录

    概述

    1 防火墙工具(ufw)

    1.1 安装防火墙工具:

    1.2 操作防火墙相关命令

    2 ufw操作命令的范例

    2.1 打开/关闭防火墙

    2.1.1 打开防火墙

    2.1.2 关闭防火墙

    2.1.3 查询当前防火墙状态

    2.1.4 允许选择的端口访问

    2.1.5 允许选择固定IP访问

    3 iptables工具使用

    3.1 安装iptables

    3.2 iptables使用范例


    概述

    本文介绍两款防火墙工具(ufw 和iptables )的相关知识,并在ubuntu linux 环境中安装安装这两款软件,还使用具体的案例来介绍其命令的使用方法。

    1 防火墙工具(ufw)

    ufw(Uncomplicated Firewall)是一个简单易用的防火墙配置工具,它是一个基于命令行的工具,用于管理Linux操作系统上的防火墙规则。ufw是一个前端应用程序,用于配置iptables规则,并且提供了一些简化的语法和命令,使它更容易使用和理解。

    使用ufw,您可以轻松地配置和管理防火墙规则,包括允许或拒绝特定端口、IP地址或一组IP地址的访问。它还可以设置默认策略,指定默认允许或拒绝所有入站和出站连接。ufw还支持应用程序规则,可以根据应用程序名称允许或拒绝特定应用程序的网络连接。

    ufw的语法简单且易于记忆,使得即使对于没有网络安全经验的用户也可以轻松地配置和管理防火墙规则。它还可以与其他防火墙管理工具和服务一起使用,如FirewallD、Fail2ban等。

    ufw是一个简单易用的防火墙配置工具,可以帮助用户保护其系统免受未经授权访问和网络攻击。

    1.1 安装防火墙工具:

    1. sudo apt update
    2. sudo apt install ufw

    1.2 操作防火墙相关命令

    和ufw相关的命令功能介绍如下:

    命令功能介绍
    sudo ufw enable/disable打开/关闭防火墙
    sudo ufw reload重启防火墙
    sudo ufw reset重置所有规则 (先前有配置则不能进行改操作
    sudo ufw status查看已经定义的ufw规则
    sudo ufw default allow/deny外来访问默认允许/拒绝
    sudo ufw allow/deny 22允许/拒绝访问22端口,22后可跟/tcp或/udp,表示tcp或udp封包。
    sudo ufw allow from 192.168.1.100允许此IP访问所有的本机端口
    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22允许自192.168.1.0/24的tcp封包访问本机的22端口。
    sudo ufw deny smtp禁止外部访问smtp服务
    sudo ufw delete allow/deny 22删除以前定义的"允许/拒绝访问22端口"的规则
    sudo ufw delete allow smtpsmtp 删除上面建立的某条规则
    sudo ufw deny proto tcp to any port 80阻止本机用tcp协议在80端口发数据
    sudo ufw allow proto tcp from any to any port 80,443,8080:8090ufw可以连续例举端口号。端口号间必须使用逗号或分号,不能使用空格。“输入端口号”字符数最多不能超过15过(8080:8090算两个字符)。比如允许80,443,8080~8090这几个端口接受tcp传入连接
    sudo ufw allow 7100:7200/tcp端口范围

    2 ufw操作命令的范例

    2.1 打开/关闭防火墙

    2.1.1 打开防火墙

    使用ufw enable/disable实现打开或者关闭防火墙

    sudo ufw enable

    打开防火墙后,导致ssh 端口也会被屏蔽

    2.1.2 关闭防火墙

    使用命令:

    sudo ufw disable

    执行命令后,防火墙已经被关闭:

    2.1.3 查询当前防火墙状态

    使用命令:

    sudo ufw status

    执行命令后,防火墙已经被关闭:

    2.1.4 允许选择的端口访问

    使用命令:

    sudo ufw allow 1883

    执行命令后,看见如下信息,说明该端口已经被使能:

    2.1.5 允许选择固定IP访问

    使用命令:

    1. sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22
     
    

    执行命令后,看见如下信息,说明该这些IP已经被使能:

    3 iptables工具使用

    iptables是一个用于Linux操作系统的防火墙工具。它可以配置、管理和操作Linux内核中的网络数据包过滤规则。iptables允许用户定义规则来过滤、转发、修改和丢弃网络数据包,以实现网络安全和数据包管理。

    iptables具有强大的功能和灵活的规则配置选项,可以根据IP地址、端口号、协议、连接状态等多个因素来过滤和处理网络数据包。它可以用于阻止未经授权的访问、保护网络服务免受攻击、网络流量控制、NAT转换等。

    iptables规则由一系列的规则链组成,每个规则链包含一组规则。数据包在通过防火墙时会按照规则链的顺序逐个匹配规则,并根据规则的动作来处理数据包(接受、拒绝、转发或修改)。iptables还支持网络地址转换(NAT)功能,可以将内部IP地址转换为外部IP地址。

    iptables是Linux中最常用的防火墙工具之一,几乎所有的Linux发行版都默认安装了它。它的灵活性和可定制性使其成为网络管理员和系统管理员的首选工具之一,用来保护和管理网络安全。

    3.1 安装iptables

    使用命令:

    sudo apt-get install iptables

    执行命令后:

    3.2 iptables使用范例

    范例注释
    whereis iptables检查是否安装了iptables
    iptables -L -n查看iptables现有规则
    iptables -P INPUT ACCEPT先允许所有IP访问
    iptables -F清空所有默认规则
    iptables -X清空所有自定义规则
    iptables -Z所有计数器归0
    iptables -A INPUT -i lo -j ACCEPT允许来自于lo接口的数据包(本地访问)
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT开放22(SSH)端口
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT开放21端口(FTP)
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT开放80端口(HTTP)
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT开放443端口(HTTPS)
    iptables -A INPUT -p tcp --dport 1883 -j ACCEPT开放1883端口(mqtt)
    iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT允许ping
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
    iptables -P INPUT DROP其他入站一律丢弃
    iptables -P OUTPUT ACCEPT所有出站一律允许
    iptables -P FORWARD DROP所有转发一律丢弃
    iptables -A INPUT -p tcp -s 192.111.178.111 -j ACCEPT添加内网ip信任(接受其所有TCP请求)
    iptables -P INPUT DROP过滤所有非以上规则的请求
    iptables -I INPUT -s { ip} -j DROP要封停一个IP
    iptables -D INPUT -s { ip} -j DROP要解封一个IP
    service iptables save保存规则
  • 相关阅读:
    Linux---小练习
    boot分页
    Axure RP静态站点的发布与内网穿透结合实现远程访问本地原型页面
    【TA-霜狼_may-《百人计划》】图形4.3 实时阴影介绍
    2022年最新四川机动车签字授权人模拟试题及答案
    phpmyadmin 数据库导出数据到excel(图文版)
    蓝桥杯打卡Day5
    前后端技术栈
    【动态规划】dp 路径问题(不同路径、路径最小和、地下城游戏...)
    微信小程序入门
  • 原文地址:https://blog.csdn.net/mftang/article/details/136592028