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

news2024/12/23 12:28:25

目录

概述

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 安装防火墙工具:

sudo apt update
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访问

使用命令:

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保存规则

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动写作软件哪个好?分享7款独家推荐

随着人工智能技术的不断发展,自动写作软件正逐渐成为现代写作的利器。这些AI写作工具能够帮助用户高效地生成文章、报告、新闻稿等内容,为写作工作带来了极大的便利。然而,市面上的自动写作软件琳琅满目,让人眼花缭乱。为了帮助读…

SpringCloud返回的是xml格式而非JSON数据

一、问题描述: 最近接触eureka,写了一个接口,使用RestController注解修饰了类,预期是返回json格式的数据,但是结果返回的是xml格式的数据。 二、问题分析: 原因是因为直接或间接引入了jackson-dataformat…

相机拍照与摄影学基础

1.相机拍照 相机可能形状和大小不同,但基本功能相同,包括快门速度、光圈和景深,这些是摄影的通用概念。即使是一次性相机也是基于这三个理念工作的。不同类型相机在这三个概念上的唯一区别是你可以控制这些功能的程度。这三个参数被称为相机…

mybatis+thymeleaf登录

目录 一.将页面显示在浏览器中 1.新建项目并导入页面 2.使用th标签 3.新建控制层 4.显示结果 二.将两个页面进行关联 1.提交表单 2.跳转页面 3.结果 三.登录账号名动态改变 1.获取登录表单数据 2.给页面传值 3.页面显示 4.结果 四.连接数据库 1.新建数据库 2.…

tcp/ip协议2实现的插图,数据结构8 (30 - 32章)

(201) 201 三十0 中断优先级补充 (202) 202 三十1 TCP的用户需求 函tcp_usrreq一 (203) 203 三十2 TCP的用户需求 函tcp_usrreq二 (204) 204 三十3 TCP的用户需求 函tcp_usrreq三 (205) 205 三十4 TCP的用户需求 函tcp_usrreq四 (206) 206 三十5 TCP的用户需求 函tcp_usrreq五 …

C语言 内存函数

目录 前言 一、memcpy()函数 二、memmove()函数 三、memset函数 四、memcmp()函数 总结 前言 在C语言中内存是我们用来存储数据的地址,今天我们来讲一下C语言中常用的内存函数。 一、memcpy()函数 memcpy()函数与我们之前讲的strcpy()函数类似,只…

[SAP ABAP] 创建事务码T-CODE

如何让用户通过输入事务码T-CODE跳转到Z437_TEST_2024程序输出界面? 1.输入事务码SE39,进入到维护事务的界面 2.输入需要创建的事务码名称(一般情况下用Y或者Z开头),点击【创建】 这里我们创建一个名为ZTEST437的事务代码 3.在创建事务的窗口…

springboot爱看漫画小程序的设计与实现

摘 要 相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低爱看漫画的运营人员成本,实现了爱看漫画的标准化、制度化、程序化的管理,有效地防止了爱看漫画的随意管理,提高了信息的处理速度和精确度,能够及时、…

leetcode代码记录(子集

目录 1. 题目:2. 我的代码:小结: 1. 题目: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集 (幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 …

MySQL MHA故障切换

目录 一、案例分析 1.1、案例概述 1.2、案例前置知识点 1)什么是 MHA 2)MHA 的组成 3)MHA 的优势 4)MHA 现状 1.3、案例环境 1)本案例环境 ​编辑 2)案例需求 3)案例实现思路…

解读如何打造超高商楼宇智慧公厕

智慧楼宇大厦智慧公厕是近年来兴起的一个创新方案,旨在为现代城市的楼宇建筑提供一种全新的管理与服务模式。这种智慧公厕的最大特点就是将智能化技术与传统楼宇公厕结合,通过各种高科技设备与系统,实现对公厕的全新管理与监控,为…

java serlvet 高校学生画像平台系统Myeclipse开发mysql数据库web结构java编程计算机网页项目echarts图形展现

一、源码特点 java serlvet 高校学生画像平台系统是一套完善的java web信息管理系统 系统采用serlvetdaobean 模式开发本系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCA…

Jmeter+Ant 接口自动化环境配置指南

一 、Jmeter安装与配置 https://blog.csdn.net/tester_sc/article/details/80746405 注:Jmeter5.0的环境变量配置与4.0或历往老版本有部分小差异,笔者用的Jmeter 5.0 二 、Ant的安装与配置 # Ant下载地址(下载到指定目录后,进行解压到当前…

Spark-Transformation以及Action开发实战

文章目录 创建RDDTransformation以及ActionTransformation开发Action开发RDD持久化共享变量创建RDD RDD是Spark的编程核心,在进行Spark编程是,首要任务就是创建一个初始的RDDSpark提供三种创建RDD方式:集合、本地文件、HDFS文件 集合:主要用于本地测试,在实际部署到集群运…

电路方案分析(十八)四开关buck-boost双向同步DC/DC变换器方案

tip是:资料来自网络,仅供学习交流使用! 1.概述 4开关降压升压双向DC-DC电源转换器在很多应用中都有使用。作为一个同步降压或同步升压转换器,其中只有两个开关切换,开关损耗减少到一半。只有当直流母线和电池电压彼此…

【MMDetection3D实战5】Dataset 和 model配置文件解析

文章目录 1. Dataset 配置文件解析1. 1 定义全局变量1. 1 数据处理pipeline(1) train_pipeline(2) test_pipeline(3) eval_pipeline1. 2 data 字典的定义2. model 配置文件解析2. 1 体素化voxel_layer2. 2 voxel_encoder2. 3 middle_encoder2. 4 2D 检测网络(backbone + neck …

C++实验 面向对象编程

一、实验目的: 掌握类中静态成员的定义方法,初始化方法,使用方法; 掌握类的友元说明方法,理解友元的使用特点 二、实验内容: 1、编写程序,统计某旅馆住宿客人的总数,要求输入客人…

hot100 -- 矩阵

👂 Peter Pan - kidult. - 单曲 - 网易云音乐 👂 Bibliothque(图书馆) - Jasing Rye - 单曲 - 网易云音乐 目录 🌼前言 🌼二分模板 🎂矩阵置零 AC 标记数组 AC 标记变量 🚩…

AI成就画质冠军!海信电视U8N Pro的“硬参数”和“软实力”

不得不说,这几年AI落地大有摧枯拉朽之势,也离普通人的生活越来越近了。 如果说,曾经1997年“深蓝”计算机赢下国际象棋世界冠军,还没那么让人印象深刻,2016年Alpha Go战胜围棋世界冠军,即使广泛关注&#…

replace和replaceAll的区别

replace和replaceAll的区别 replaceAll有些浏览器不兼容,如下图所示 replace的使用1>若只替换一个字符串abc.replace(b,1)//a1cabcaaa.replace(a,1)//1bcaaa2>若替换所有字符串abcaaa.replace(/\a/g,1)//1bc111replaceAll的使用1>若只替换一个字符串abc.replace(b,…