在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路由…...
【C++】类和对象的引入
文章目录 前言一、类的定义二、类的访问控制与封装三、类的作用域四、类的实例化五、类的存储方式及大小计算六、隐藏的this指针 前言 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C是基于面向对象的&…...
11.5.k8s中pod的调度-cordon,drain,delete
目录 一、概念 二、使用 1.cordon 停止调度 1.1.停止调度 1.2.解除恢复 2.drain 驱逐节点 2.1.驱逐节点 2.2.参数介绍 2.3.解除恢复 3.delete 删除节点 一、概念 cordon节点,drain驱逐节点,delete 节点,在对k8s集群节点执行维护&am…...
Java中线程的创建方式
一、继承Thread类,重写run方法 public class MyThread{public static void main(String[] args) {Thread threadDome new ThreadDome();threadDome.start();} }class ThreadDome extends Thread{Overridepublic void run() {for (int i 0; i < 5; i) {try {Th…...
猫头虎推荐20个值得体验的通用大模型
猫头虎推荐20个值得体验的通用大模型 🚀 大家好,我是猫头虎,一名专注于科技领域的自媒体博主。今天是周一,新的开始,我们来深入探讨一下当前最值得体验的通用大模型。这些AI模型不仅功能强大,而且在各自领…...
Novartis诺华制药社招综合能力性格动机问卷入职测评笔试题库答案及包过助攻
【华东同舟求职】由资深各行业从业者建立的一站式人才服务网络平台,现阶段目标是“提升全市场各行业岗位信息的流动性和透明度”。我们接受众多行业机构的直接委托发布,并尽力通过各种方法搜寻高价值岗位信息。事实上,我们以发现不为人知的优…...
Adam优化算法
Adam优化算法 Adam(Adaptive Moment Estimation)是一种用于训练深度学习模型的优化算法,由Diederik P. Kingma和Jimmy Ba在2014年提出。Adam结合了动量和自适应学习率的方法,具有高效、稳定和适应性强的特点,被广泛应…...
MYSQL 三、mysql基础知识 7(MySQL8其它新特性)
一、mysql8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上 做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度…...
git error: does not have a commit checked out fatal: adding files failed
git add net error: net/ does not have a commit checked out fatal: adding files failed这个错误是因为尝试将一个尚未被提交的文件夹添加到Git中。解决这个问题的方法是先将文件夹中的文件提交到Git仓库中,然后再将文件夹添加到Git中。 首先,需要进…...
Java Websocket分片发送
一、分片发送和接收(复杂) 如果数据量太大,需要分多次发送, 需要考虑数据划分和重组的问题。 二、具体思路 每次发送和接收用一个布尔值变量指定是否为最后一个分片。 三、具体使用 (一)字符串分片发送: sendText(文本, 布尔值)…...
vivado NODE、PACKAGE_PIN
节点是Xilinx部件上用于路由连接或网络的设备对象。它是一个 WIRE集合,跨越多个瓦片,物理和电气 连接在一起。节点可以连接到单个SITE_, 而是简单地将NETs携带进、携带出或携带穿过站点。节点可以连接到 任何数量的PIP,并且也可以…...
网站业务维护/it培训班学出来有用吗
前言 好久没分享工作总结啦,今天来一份代码优化总结。用模板方法策略工厂方法模式优化了代码,耐心点看完,应该对大家有帮助的~ 本文已经收录到github https://github.com/whx123/JavaHome 公众号:捡田螺的小男孩 优化代码前 先…...
做网站做好用的软件/北京seo公司华网白帽
首先的问题是:我们调用手机的麦克风采集到的录音数据是pcm格式的,pcm是裸数据,没有头部信息,一般播放器不能播放,所以我们一般都要转为wav格式,这样普通的播放器就能播放了,而在iOS中直接可以使…...
自己怎样学做网站/直播网站排名
opencv-python,对图像进行缩放、降低灰度分辨率,观察图像变化一、在开始之前知识点、方法二、开始对一张图像进行缩放,观察其分辨率和图像变化使用cv2.resize缩放图像观察其分辨率和图像变化三、降低灰度分辨率,观察图像变化降低灰…...
网站模块建设建议/排名seo公司
Linux中yum和apt-get用法及区别一般来说著名的linux系统基本上分两大类:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等RedHat 系列 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数” 2 包管理工具 yum 3 支…...
win10建站wordpress/今日热点新闻事件摘抄
点击“运行”,在子菜单中选择“运行”。1、在运行窗口中输入:cmd /k javac "$(FULL_CURRENT_PATH)" & echo 编译成功! & PAUSE & EXIT点击保存后,在弹出的窗口中设置名称:取名为JAVA编译2、重复…...
淘宝网站是谁做的好/搜索引擎优化的各种方法
Pytorch框架学习记录9——非线性激活 1. ReLU函数介绍 torch.nn.ReLU(inplaceFalse) 参数 inplace- 可以选择就地执行操作。默认:False 形状: 输入:( * ), 在哪里**表示任意数量的维度。输出:( * ),与输入…...