当前位置: 首页 > news >正文

[Ubuntu][网络][教程]端口转发以及端口管理

1. 平台介绍

  • Ubuntu 20.04 LTS

  • Armv7

    image-20230328185234422

2. 端口管理

进行端口转发之前,要先对端口进行一系列设置

2.1 安装ufw

sudo apt install ufw

2.2 开启22端口

开启ufw之后,默认的22端口不会自动打开,使用SSH的话需要手动打开

sudo ufw allow 22

如果需要关闭端口

sudo ufw delete allow 22

查看端口开启状态

sudo ufw status

2.3 开启ufw

sudo ufw enable
sudo ufw default deny  # 默认关闭所有访问

3. 端口转发

3.1 开启Linux内核转发功能

编辑/etc/sysctl.conf文件

将net.ipv4.ip_forward = 0
修改为:net.ipv4.ip_forward = 1  #开启内核转发功能

下面的命令使得配置修改生效

sudo sysctl -p

3.2 添加iptables规则

此处使用iptables进行转发

这里以8899端口为例,将192.168.0.108的数据转发到192.168.3.51,反之从192.168.5.1转发到192.168.0.108

sudo iptables -t nat -A PREROUTING -p udp --dport 8899 -j DNAT --to-destination 192.168.3.53:8899
sudo iptables -t nat -A POSTROUTING -p udp -d 192.168.3.53 --dport 8899 -j SNAT --to-source 192.168.0.108

如果需要删除iptables规则

首先列出已添加的规则

sudo iptables -t nat -L -n

示例:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.3.53:80
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8899 to:192.168.3.53:8899
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:8899 to:192.168.3.53:8899
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:554 to:192.168.3.53:554
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:554 to:192.168.3.53:554
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:3702 to:192.168.3.53:3702
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3702 to:192.168.3.53:3702Chain INPUT (policy ACCEPT)
target     prot opt source               destinationChain OUTPUT (policy ACCEPT)
target     prot opt source               destinationChain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:80 to:192.168.0.108
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:8899 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:8899 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:554 to:192.168.0.108
SNAT       udp  --  0.0.0.0/0            192.168.3.53         udp dpt:3702 to:192.168.0.108
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:3702 to:192.168.0.108
SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:554 to:192.168.0.108

比如我要删除这条规则

DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3702 to:192.168.3.53:3702

因为其在PREROUTING链里,然后其位于第7个,所以执行

iptables -t nat -D PREROUTING 7

如果我要删除这条规则

SNAT       tcp  --  0.0.0.0/0            192.168.3.53         tcp dpt:554 to:192.168.0.108

因为其在POSTROUTING链里,然后其位于第7个,所以执行

iptables -t nat -D POSTROUTING 7

3.3 放行转发命令(重要)

此处因为使用无线网卡进行转发,所以其网卡名为wlan0

# 放行Forward的数据包
iptables -I FORWARD -i wlan0 -j ACCEPT
# 开启网卡混杂模式(允许任意流向的数据包)
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

3.4 开启端口

使用上面配置的ufw进行端口管理

由于我转发了8899端口,因此将8899端口打开

sudo ufw allow 8899

4. 查看状态

4.1 查看端口开启状态

sudo ufw status

3.6 列出转发规则

sudo iptables -t nat -L -n

执行命令后列出的和添加iptables中删除iptables规则里面的示例一样。

5. 参考

iptables端口转发配置实现_iptables 开启转发_C3399的博客-CSDN博客

ubuntu的ufw如何开放特定端口?_ufw开启端口_justheretobe的博客-CSDN博客

相关文章:

[Ubuntu][网络][教程]端口转发以及端口管理

1. 平台介绍 Ubuntu 20.04 LTS Armv7 2. 端口管理 进行端口转发之前,要先对端口进行一系列设置 2.1 安装ufw sudo apt install ufw2.2 开启22端口 开启ufw之后,默认的22端口不会自动打开,使用SSH的话需要手动打开 sudo ufw allow 22…...

@Scheduled 定时任务不执行

一、排查代码中添加的定时任务步骤是否正确 启动类上加 EnableScheduling 注解定时任务类上加Component定时方法上加Scheduled Scheduled(cron "0 19 16 * * ?")public void cron() {log.info("定时任务开启:---");}二、排查是否任务阻塞&am…...

我是怎样被卷的(二)

被卷的过程,虽然是辛苦种种(加班熬夜陪着爆肝),但终有所值。没有这样的高压环境,我都不知道自己居然可以这么的优秀。 我要答复的问题,分为4类。一是我自己已经掌握的,二是需要找别人获取的&am…...

Linux- 浅谈ELF目标文件格式

理解了进程的描述和创建之后,自然会想到我们编写的可执行程序是如何作为一个进程工作的?这就涉及可执行文件的格式、编译、链接和装载等相关知识。 这里先提一个常见的名词“目标文件”,是指编译器生成的文件。“目标”指目标平台&#xff0c…...

C++ MVC模式

概述 C是一种流行的编程语言,它可以用于构建各种类型的应用程序,包括Web应用程序、桌面应用程序和移动应用程序。在这里,我将为您介绍C中的MVC模式,以及如何在C中实现MVC模式。 MVC(Model-View-Controller&#xff0…...

IntelliJ IDEA2021安装教程

1.鼠标右击【JetBrains 2021】压缩包(win11系统需先点击“显示更多选项”)选择【解压到“JetBrains 2021”】 2.打开解压后的文件夹,鼠标右击您需要安装的软件名称(如:IdealU-2021.3.1)选择【以管理员身份运…...

day16—选择题

文章目录1.计算每位学生的多学科加总成绩的SQL是(C)2.以下哪个不是与Mysql服务器相互作用的通讯协议(B)3.设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是(D)4.如果事务T获得了数据项Q上的排它锁&a…...

LLVM 的中间代码(IR) 基本语法

LLVM 的中间代码(IR) 基本语法 以下是 LLVM IR 的基本语法和每个语法的实例代码: 1.数据类型 LLVM IR 支持多种数据类型,包括整型、浮点型、指针型和向量型等。以下是 LLVM IR 中定义不同类型的语法和示例代码: 整…...

多标签在单行出现省略的实现

简言 实现在有宽度的一行内&#xff0c;标签过多会出现省略号。 实现 首先要实现单行省略的效果。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&quo…...

第二十七章 纹理总结

OpenGL 纹理是左下角(0,0) 右上角(1,1)。 需要告诉OpenGL纹理环绕方式,主要有四种:GL_REPEAT(重复纹理图像),GL_MIRRORED_REPEAT(重复纹理图像,但是每次重复图片是镜像放置的), GL_CLAMP_TO_EDGE(坐标再0-1直接,超出部分会重复纹理坐标的边缘,有边缘拉伸效果),GL…...

【Linux面试】-(腾讯,百度,美团,滴滴)

文章目录Linux 面试题-(腾讯,百度,美团,滴滴) 分析日志 t.log(访问量)&#xff0c;将各个 ip 地址截取&#xff0c;并统计出现次数,并按从大到小排序(腾讯) http://192.168.200.10/index1.html http://192.168.200.10/index2.html http://192.168.200.20/index1.html http://19…...

编译链接和预处理

&#x1f33a;在本次的博客当中我们可以一起来学习一下C语言的编译链接以及预处理的知识。 &#x1f33a;要谈到C语言的编译和链接就肯定得从我们C语言程序运行的时候所产生的诸多的文件类型了。我们正常情况下编辑书写代码的文件为 .c 文件&#xff0c;我们的 .c 文件通过遍历…...

基于sprinmgboot实现实习管理系统的设计【源码+论文】

基于sprinmgboot实习管理系统的设计与实现演示摘要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;实习管理也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管…...

动态规划入门

前言&#xff1a;首先&#xff0c;什么是动态规划&#xff1f; 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中&#xff0c;可能会有许多可行解。每一个解都对应于一个值&#xff0c;我们希望找到具有最优值的解。动态规划算法与分治法类似&#xff0c;其基本思…...

day26 SpringBootWeb案例(二)

目录 SpringBootWeb案例 1. 新增员工 1.1 需求 1.2 开发 1.3 测试 2. 文件上传 2.1 简介 2.2 本地存储 2.3 阿里云OSS 3. 配置文件 3.1 Value 3.2 yml配置 3.3 ConfigurationProperties 4. 修改员工 4.1 需求 4.2 查询回显 4.3 保存修改 SpringBootWeb案例 前…...

力扣-《剑指offer》-哈希表-刷题笔记

目录 第一题&#xff1a;03.数组中重复的数字 第二题&#xff1a;39.数组中出现次数超过一半的数字 第三题&#xff1a;50.第一个只出现一次的字符 第四题&#xff1a;53. &#xff08;0-n-1&#xff09;中缺失的数字 第一题&#xff1a;03.数组中重复的数字 我的答案&…...

【SpringBoot】| 邮箱发送验证码,你会了吗?

目录&#x1f981; 题外话&#x1f981; 提前准备2.1 配置邮箱第三方登录2.1.1 点击设置——账户2.1.2 开启POP3/SMTP服务2.2 添加依赖2.3 yaml配置&#x1f981; 进入主题&#x1f981; 测试使用&#x1f981; 尾声3.1 安利一个生成验证码的工具类3.1.1 添加依赖3.1.2 编写配置…...

Linux系统安装部署及配置Grafana

TOC 用于 UI 展示 wget https://dl.grafana.com/oss/release/grafana-8.0.3-1.x86_64.rpm1 安装 grafana 1.1 下载安装 wget https://dl.grafana.com/oss/release/grafana-8.0.3-1.x86_64.rpmsudo yum install grafana-8.0.3-1.x86_64.rpm1.2 启动&状态查看 sudo syst…...

Python3 入门教程||Python3 输入和输出||Python3 File 方法

Python3 输入和输出 在前面几个章节中&#xff0c;我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。 输出格式美化 Python 两种输出值的方式: 表达式语句和 print() 函数。(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以…...

有效的字母异位词(力扣刷题)

给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2: 输入: s "rat", t "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 …...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...