【linux】ufw 的基本使用

碎碎念

所有的云平台的网络流量的进出基本上有三层,首先是虚拟网的流量控制,一般是通过子网访问控制列表来控制vpc也好子网也好的流量出入,其次是安全组控制一层,通过安全组规则控制一类/一组主机(指EC2/ECS/VM/CE这些资源)的流量出入,最后是主机内部的防火墙

redhat系默认使用firewalld服务,ubuntu默认使用ufw,一部分debian系和小众发行版还在使用默认的iptables,不管是哪一种本质上都是在iptables层面上设置的,只不过ufw是更加容易使用的一种封装而已

ufw下载

debian系

更新,安装,启动 ufw

sudo apt update
sudo apt install ufw
sudo ufw enable

redhat系

如果是从redhat下载的镜像可能还需要先用subscription-manager进行注册

sudo yum install epel-release
sudo yum update
sudo yum install ufw
sudo ufw enable

ufw的基本使用

对于流量,有入方向和出方向两种,ufw提供的一般格式为

ufw [allow/deny/reject] [ip/port/service] [incoming/outgoing]

[incoming/outgoing] 指定了流量的方向是出还是入

[ip/port/service] 指定了流量的目标或者来源

[allow/deny/reject] 指定了某个目标(或者来源)的入方向(或者出方向)流量是被接受还是拒绝

启动 / 停止 ufw

激活ufw
ufw enable禁用ufw
ufw disable

以上都是在系统重启的时候生效 要启动ufw或者修改之后发现网络设置不生效可以用

ufw reload

查看已经存在的规则

ufw status

可以列出所有已经存在的规则

其中可以看到ssh已经被允许通过了,但是具体来说是允许进入还是允许出去并没有显示出来

如果使用

ufw status numbered

的话可以看到被允许的流量方向以及规则的标号

 

 

允许 / 拒绝 特定的端口

以4396为例,先用status查看是否开放了这个端口,然后使用命令ufw allow

ufw allow 4396

果然已经添加成功了

如果要禁用端口4396的话只需要使用命令ufw deny即可

ufw deny 4396

同样是拒绝 deny 与 reject

deny和reject都是拒绝的动作,但是对于数据包的处理稍有不同,deny是把被拒绝的数据包直接丢弃掉,并不返回错误信息,通常被拒绝的发送者会等待超时,但是reject拒绝之后可以提供一条错误响应

所以从网络测试来说返回的错误响应有助于调试程序,从安全性来说直接丢弃更加隐蔽

取决于实际使用时的需求,在这里先默认使用deny,因为二者的写法格式是相同的

允许 / 拒绝 特定的IP地址

和端口的写法略有不同的是:

端口只需要一个端口号就可以,IP地址多了两个关键词,以 192.168.0.10为例

允许出方向的写法是

ufw allow to 192.168.0.10

允许入方向的写法是

ufw allow from 192.168.0.10

拒绝也是同理

如果同时指定了目标和源的话也可以,比如可以允许从192.168.0.9到any

ufw allow from 192.168.0.10 to any

 

允许 / 拒绝  特定的子网

如果不是特定的单一IP,而是针对一整个子网允许或者拒绝的话,就要把IP地址换成CIDR地址

比如来自10.0.0.1~10.0.0.255的访问全部都拒绝的话,那也就是拒绝了10.0.0.0/24这个子网

ufw deny from 10.0.0.0/24

允许 / 拒绝  组合的情况

如果不仅仅是IP地址或者端口的情形,而是上述的简单情形组合在一起的时候

端口和协议的组合

只要在端口号的后面用 / 并且加上协议名称就行

允许通过tcp的4396端口
ufw allow 4396/tcp

IP和端口的组合

ps:ufw的规则基于源地址、目标地址和端口,但不包括源端口,所以如果想指定从

10.0.0.1 port xxx 到 10.0.0.2 port xxx 的话要么等新版本要么得用iptables进行更加精细的设置

ufw allow from 10.0.0.1 to 10.0.0.2 port 4396

IP 端口 协议的组合

ufw allow proto tcp from 10.0.0.1 to 10.0.0.2 port 7777

子网 端口的组合

ufw allow from 10.0.0.0/24 to 10.0.1.0/24 port 4396

允许 / 拒绝  特定的网络接口

比如要允许流量从宽带进入但是拒绝从wifi进入的流量(这要求也是少见)

其中 wifi的接口是 wlan0,宽带的接口是eth0

on后接网络接口名,in是指入站流量,如果是出站的话就是改成out

ufw allow in on eth0
ufw deny in on wlan0

删除规则

对于已经允许的端口,如果需要使用默认规则(而非禁用这个端口)的话,就可以删除掉之前添加的规则,而写法比较鬼畜,就是用 delete 加上那条规则本身

比如已经允许了 4396端口

ufw allow 4396

删除它的命令就应该是

ufw delete allow 4396

这种写法对于上述组合的情况而言比较麻烦,所以通常来说是使用

ufw status numbered

先查看带序号的规则然后根据序号删除规则,假如是要删除的是规则7

ufw delete 7

重设规则

由于某种情况,想要放弃掉所有的规则还原到最初的防火墙设定的话

ufw reset

基本的使用就是以上几种,其中最常用的可能就是端口的情形,对于云平台中的流量控制有NACls和安全组,没有特别设计的情况下本地防火墙的设置通常是保持默认规则

祝大家玩得开心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318722.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看完,你还会学鸿蒙吗?

是不是前端程序员的春天,我们可以分析鸿蒙现在的市场和布局。其实不仅仅只是前端,还有Android、Java、Python等等开发人员都可以把鸿蒙当做新的出路。 2024年程序员为什么一定要学鸿蒙? 首先,鸿蒙作为一个新系统的出现。它的结构…

邀请函 | 通付盾出席第四期移动互联网App产品安全漏洞技术沙龙

为深入贯彻落实《网络产品安全漏洞管理规定》,规范移动互联网 App 产品安全漏洞发现、报告、修补和发布等行为,提升网络产品提供者安全漏洞管理意识,探索最前沿的漏洞技术发展趋势和创新应用,搭建权威、专业、深度、创新的交流平台…

Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…

【K8S 资源管理】声明式资源管理

目录 一、常用的发布方式 1、蓝绿发布: 2、金丝雀发布(灰度发布): 3、滚动更新(deployment的默认更新方式): 二、声明式管理方法(yaml文件) 1、三种发布命令&#x…

23年全年游戏获版号破千,对游戏行业传达积极信号

12月25日,国家新闻出版署公布了新一批国产网络游戏版号,本次发布的过审版号中进口版号共有40款游戏过审,国产版号共有105款游戏过审!单次审批数量首次突破百款,其中8款为移动客户端,3款为客户端&#xff0c…

[玩转AIGC]LLaMA2之如何跑llama2.c的chat模式

前言:之前我们关于llama2的相关内容主要停留在gc层面,没介绍chat模式,本文将简单介绍下llama2.c的chat模式如何跑起来。训练就算了,没卡训练不起来的,但是用CPU来对别人训练好的模型进行推理还是绰绰有余的&#xff0c…

计算机网络实验(六):三层交换机实现VLAN间路由

一、实验名称:三层交换机实现VLAN间路由 二、实验原理 2.1. VLAN基本配置 在交换网络中,为了实现对物理网络的逻辑划分,引入了VLAN(虚拟局域网)的概念。VLAN通过将不同的设备划分到不同的虚拟网络中,实现了逻辑隔离。基本配置包括在交换机上创建VLAN、将端口划分到相应…

FX3U-1PG使用

作为扩展模块的安装 伺服驱动器的参数设置 1.设置为0,为位置模式,发送脉冲控制; 2. 设置旋转方向,以及脉冲方式,通常设置为01,因为FX3U-1PG只支持正方向脉冲负方向脉冲方式; 当然想改变电机运…

Godot4.2——爬虫小游戏简单制作

目录 一、项目 二、项目功能 怪物 人物 快捷键 分数 游戏说明 提示信息 三、学习视频 UI制作 游戏教程 四、总结 一、项目 视频演示:Godot4爬虫小游戏简单制作_哔哩哔哩bilibili 游戏教程:【小猫godot4入门教程 C#版 已完结】官方入门案例 第…

Amos各版本安装指南

Amos下载链接 https://pan.baidu.com/s/1uyblN8Q-knNKkqQVlNnXTw?pwd0531 1.鼠标右击【Amos28】压缩包(win11及以上系统需先点击“显示更多选项”)选择【解压到 Amos28】。 2.打开解压后的文件夹,鼠标右击【Amos28】选择【以管理员身份运行…

洛谷普及组P1044栈,题目讲解(无数论基础,纯打表找规律)

[NOIP2003 普及组] 栈 - 洛谷 我先写了个打表的代码&#xff0c;写了一个小时&#xff0c;o(╥﹏╥)o只能说我真不擅长dfs。 int n; std::unordered_map<std::string, int>map; void dfs(std::vector<int>&a, int step,std::stack<int>p, std::string …

自动化测试中,如何增加失败重试机制!

01、前言 在执行自动化测试用例时&#xff0c;会发现有时候用例失败并非代码问题&#xff0c;而是由于服务正在发版&#xff0c;导致请求失败&#xff0c;从而降低了自动化用例的稳定性&#xff0c;最后还要花时间定位到底是自身case的原因还是业务逻辑问题&#xff0c;还是其…