在Ubuntu上配置和设置防火墙UFW
在本文我们学习如何在Ubuntu上配置和设置UFW(防火墙),UFW代表“不复杂的防火墙”,它充当IPTABLES的接口,从而简化了防火墙的配置过程,对于防火墙来说,这是非常困难的。初学者学习和配置防火墙规则,在这些规则中,我们将保护计算机免受未知用户的访问。UFW使用我们配置为规则的策略。
需要条件
在计算机上具有root权限的用户。
安装UFW(防火墙)
UFW默认情况下随Ubuntu一起安装,如果未安装,则我们将使用以下命令进行安装
$ sudo apt-get install ufw -y # 指令# 返回内容
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:ufw
0 upgraded, 1 newly installed, 0 to remove and 88 not upgraded.
Need to get 149 kB of archives.
After this operation, 838 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 ufw all 0.35-0ubuntu2 [149 kB]
Fetched 149 kB in 0s (165 kB/s)
Preconfiguring packages ...
Selecting previously unselected package ufw.
(Reading database ... 98515 files and directories currently installed.)
Preparing to unpack .../ufw_0.35-0ubuntu2_all.deb ..
Unpacking ufw (0.35-0ubuntu2) ...
Processing triggers for systemd (229-4ubuntu10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up ufw (0.35-0ubuntu2) ...
启用UFW(防火墙)
以下是启用UFW的命令
sudo ufw enable #指令#返回内容
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
禁用UFW(防火墙)
sudo ufw disable
防火墙已停止并在系统启动时关闭了
启用默认策略
作为初学者,我们将首先配置默认策略,该策略控制和处理与其他规则不匹配的流量。默认情况下,规则将拒绝所有传入连接,并允许所有传出连接,这将阻止试图从互联网世界访问计算机的人。
$ sudo ufw default deny incoming #指令# 返回内容
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)$ sudo ufw default allow outgoing #指令# 返回内容
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
启用SSH连接
使用上面的命令,我们禁用了所有传入连接,它将拒绝所有传入连接,我们需要创建一个规则来明确允许SSH传入连接。
以下是启用SSH传入连接的命令。
$ sudo ufw allow ssh #指令# 返回内容
Rule added
Rule added (v6)
使用上面的命令,将允许端口22进行传入连接。我们可以使用22号端口直接使用以下命令来允许SSH连接。
$ sudo ufw allow 22 # 指令#返回内容
Skipping adding existing rule
Skipping adding existing rule (v6)
但是,如果我们已将SSH守护程序配置为使用其他端口(例如2022或1022),则可以使用以下命令
$ sudo ufw allow 1022 #指令#返回内容
Rule added
Rule added (v6)
检查UFW(防火墙)状态
以下是检查防火墙规则当前状态的命令。
$ sudo ufw status #指令# 返回内容
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
2222 DENY Anywhere
1022 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
2222 (v6) DENY Anywhere (v6)
1022 (v6) ALLOW Anywhere (v6)
为常规端口(如HTTP,HTTPS和FTP)启用UFW
此时,我们将允许其他人分别通过常规端口(例如HTPP,HTTPS和FTP端口)连接到服务器。
HTTP端口80
$ sudo ufw allow 80 #指令#返回内容
Rule added
Rule added (v6)
我们可以使用以下命令检查UFW(防火墙)状态
$ sudo ufw status #指令#返回内容
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
2222 DENY Anywhere
1022 ALLOW Anywhere
80 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
2222 (v6) DENY Anywhere (v6)
1022 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
这样,将使用以下命令分别启用HTTPs和FTP端口(443和21)。
$ sudo ufw allow https # 指令# 返回内容
Rule added
Rule added (v6)$ sudo ufw allow ftp # 指令# 返回内容
Rule added
Rule added (v6)
启用允许特定范围的端口
我们还可以使用UFW允许或拒绝特定范围的端口,以允许多个端口而不是单个端口。
以下是启用特定范围端口的命令。
$ sudo ufw allow 500:800/tcp #指令#返回内容
Rule added
Rule added (v6)
启用以允许特定的IP地址
如果我们要允许一台特定的机器允许所有端口。我们可以使用以下命令。
$ sudo ufw allow from 192.168.100.1 #指令# 返回内容
Rule added
如果我们只允许特定端口,则可以使用以下命令。
$ sudo ufw allow from 192.168.100.1 to any port 8080 #指令#返回内容
Rule added
如果要启用特定子网,例如要为办公网络启用,可以使用以下命令。
$ sudo ufw allow from 192.168.0.0/24 #指令#返回内容
Rule added
拒绝连接或规则
如果我们要拒绝任何端口或网络,可以使用以下命令拒绝连接。
$ sudo ufw deny http #指令#返回内容
Rule updated
Rule updated (v6)
如果要拒绝来自特定网络的所有连接,可以使用以下命令。
$ sudo ufw deny from 192.168.2.1 #指令#返回内容
Rule added
删除规则
我们可以通过两种方式删除规则,一种是使用实际规则,另一种是使用规则编号。
实际规则
可以使用我们使用allow命令允许的实际规则删除规则。
以下是从UFW删除HTTP规则的命令。
$ sudo ufw delete allow http # 指令#返回内容
Rule deleted
Rule deleted (v6)
规则编号
们可以使用“规则”编号删除防火墙规则,可以使用以下命令获取防火墙规则的列表。
$ sudo ufw status numbered #指令#返回内容
Status: active
To Action From
-- ------ ----
[ 1] 2222 DENY IN Anywhere
[ 2] 1022 ALLOW IN Anywhere
[ 3] 443 ALLOW IN Anywhere
[ 4] 21/tcp ALLOW IN Anywhere
[ 5] 500:800/tcp ALLOW IN Anywhere
[ 6] Anywhere ALLOW IN 192.168.100.1
[ 7] 8080 ALLOW IN 192.168.100.1
[ 8] Anywhere ALLOW IN 192.168.0.0/24
[ 9] Anywhere DENY IN 192.168.2.1
[10] 2222 (v6) DENY IN Anywhere (v6)
[11] 1022 (v6) ALLOW IN Anywhere (v6)
[12] 443 (v6) ALLOW IN Anywhere (v6)
[13] 21/tcp (v6) ALLOW IN Anywhere (v6)
[14] 500:800/tcp (v6) ALLOW IN Anywhere (v6)
如果要删除规则14,则可以使用以下命令通过以下命令删除规则。
$ sudo ufw delete 14 #指令#返回内容
Deleting:
allow 500:800/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
在本文中,我们了解了–如何安装,启用和禁用UFW防火墙。此外,我们还将学习如何允许,拒绝和删除规则,这些规则将使我们能够保护服务器安全。
相关文章:
在Ubuntu上配置和设置防火墙UFW
在本文我们学习如何在Ubuntu上配置和设置UFW(防火墙),UFW代表“不复杂的防火墙”,它充当IPTABLES的接口,从而简化了防火墙的配置过程,对于防火墙来说,这是非常困难的。初学者学习和配置防火墙规…...
nginx安装环境部署(完整步骤)
在部署nginx前,我们需要进行环境的部署 1.编译工具gcc,g,autoconf,automake ,make sudo apt-get install gcc g autoconf automake make 2.依赖库zlib,openssl,pcre 2.1 openssl下载地址 https://www.open…...
如何做电子骑缝章?
制作电子骑缝章的过程可以依据不同情况和所使用的工具而有所不同,但基本思路是确保印章能够跨过页面接缝,以验证文档的完整性。以下是几种常见的方法: 使用专业电子合同平台 选择平台:首先,确保你使用的电子合同平台…...
2024.6.13 bailuo-Docker 安装与镜像拉取
2024.6.13 bailuo-Docker 安装与镜像拉取 2024.6.12 bailuo-安装与镜像拉取 卸载 Docker 如果已安装旧版 Docker 则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-en…...
【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式
1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码&am…...
使用`LD_PRELOAD`和`jemalloc`实现C/C++信号的内存堆栈信息收集
文章目录 0. 概要1. 编译jemalloc2. 编译钩子共享库liballoc_hook.so3. 使用LD_PRELOAD加载钩子库liballoc_hook.so测试3.1 设置环境变量3.2 使用LD_PRELOAD加载钩子库并运行程序3.3 发送SIGUSR1信号以触发堆栈信息打印3.4 使用jeprof解析heap堆栈信息文件 4. 示例程序example.…...
计算机组成原理(四)Cache存储器
文章目录 Cache存储器的基本原理cache命中率、平均访问时间、效率地址映射全相联映射直接映射组相联映射 查找算法cache 存储器替换策略cache 存储器-写操作策略习题 Cache存储器的基本原理 Cache是一种高速缓冲寄存器,是为了解决CPU和主存之间速度不匹配而采用的一…...
怎么做成的文件二维码?扫阅览文件的制作方法
现在用二维码来分享或者查看文件是一种很常用的方式,比如常见的文件内容有简历、资料、作品、压缩包等等。通过将文件生成二维码能够在提升文件传输速度的同时还有利于用户体验的提升,那么如何制作可以长期提供文件预览或者下载的二维码呢? …...
js 前端 Function.prototype.call.call(0[‘toString‘], *, 16)
这个函数将 数组转任意进制 Function.prototype.call.call(0[toString], *, 16)...
李沐:用随机梯度下降来优化人生!
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来聊聊达叔 6 大核心算法之 —— 优化 算法。吴恩达:机器学习的六个核心算法! 梯度下降优化算法是机器…...
Linux 环境.Net程序堆栈查询
# 安装 dotnet tool install --global dotnet-dump# 收集信息, 产生 core_XXX 文件 dotnet-dump collect -p pid# 分析 core_XXX 文件 dotnet dump analyze core_XXX# 列出 大于 XXX 字节的 对象 dumpheap -stat -min XXX# 查看对象具体信息 dumpobj address_XXX# 查看对应引用…...
志愿服务管理系统的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,广场论坛管理,志愿活动管理,活动报名管理 前台账户功能包括:系统首页,个人中心,志愿活动&a…...
微信小游戏5月畅销榜,新老产品更替显著,亿级爆款频出
小游戏由于微信的平台扶持,被视为可以大力发掘的蓝海,成为国内游戏最大的增长机会之一,随着越来越多的大厂和中小厂转向了小游戏赛道,每个月的小游戏畅销榜单都有不同变化。 5月的小游戏畅销榜显示,小游戏市场正经历显…...
自己想要公开自己的学习方法,但是自己很害怕自己的学习方法是一个错误的,因为对于自己而言,专升本的机会只有一次
分享自己的学习方法可能需要一定的勇气,特别是当你担心可能会受到批评或是不被理解时。以下是一些建议,可以帮助你克服这种恐惧:(kimi编辑器自己对于这些内容的基础批注) 自我肯定:首先,认识到你…...
linux centos consul1.15.2一键安装部署
consul原理、作用、安装相关内容 一、理论部分二、安装下载版本地址三、安装consul服务 一、理论部分 1、consul的原理 Consul的原理及作用可以归纳为以下几点: ①、基于Gossip协议的通信:Consul使用了基于Gossip协议的Serf实现来进行通信。 Gossip协议…...
速盾:dns和cdn区别?
DNS(Domain Name System)和CDN(Content Delivery Network)是互联网中两个不同但相互关联的服务。下面将详细解释DNS和CDN的区别。 功能和作用: DNS:DNS是将域名转换为IP地址的服务,它充当着互联…...
多目标跟踪中用到的求解线性分配问题(Linear Assignment Problem,LAP)C++
多目标跟踪中用到的求解线性分配问题(Linear Assignment Problem,LAP)C flyfish python实现,说的比这里详细 lapjv.h和lapjv.cpp代码在https://github.com/shaoshengsong/DeepSORT C代码调用 #include <iostream> #include <ve…...
Unity | Shader基础知识(第十四集:简单效果练习)
目录 前言 一、效果预览 1.弧形边缘光 二、效果制作 1. 制作弧形边缘光 2.弧形边缘光进阶 3.弧形边缘光调节渐变范围 4.边缘光突变 5.同心圆 三、加入世界坐标做效果 1.绘制结界 2.斑马球 3.效果合并 四、作者的碎碎念 前言 有粉丝建议说,让我继续更新…...
Vue48-ref属性
一、需求:操作DOM元素 1-1、使用原生的id属性 不太好! 1-2、使用 ref属性 原生HTML中,用id属性给元素打标识,vue里面用ref属性。 给哪个元素加了ref属性,vc实例对象就收集哪个元素!!࿰…...
【SpringCloud学习笔记】RabbitMQ(中)
1. 交换机概述 前面《RabbitMQ上篇》我们使用SpringAMQP来演示如何用Java代码操作RabbitMQ,当时采用的是生产者直接将消息发布给队列,但是实际开发中不建议这么做,更加推荐生产者将消息发布到交换机(exchange),然后由exchange路由…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
