2. 如何通过公网IP端口映射访问到设备的vmware虚拟机的ubuntu服务器

文章目录

            • 1. 主机设备是Windows 11系统
            • 2. 安装vmware虚拟机
            • 3. 创建ubuntu虚拟机(据说CentOS 7 明年就不维护了,就不用这个版本的linux了)
            • 4. 安装nginx服务:默认端口80
            • 5. 安装ssh服务:默认端口22
            • 6. 设置主机 -> ubuntu的端口映射
            • 7. 设置路由器 -> 主机的端口映射
            • 8. 完成配置

中国移动公网IP申请过程

1. 主机设备是Windows 11系统
2. 安装vmware虚拟机
3. 创建ubuntu虚拟机(据说CentOS 7 明年就不维护了,就不用这个版本的linux了)
1. 注意选择默认的NAT模式
4. 安装nginx服务:默认端口80
1. 黑马程序员Nginx教程,Java进阶从0到1学会Nginx分布式框架_哔哩哔哩_bilibili
    1. nginx news 官网
    2. nginx: download 版本分类
    3. Index of /download/ (nginx.org) 所有版本
    4. nginx documentation 文档
2. 安装nginx (视频教程里是CentOS 7的安装方式,这里是Ubuntu的安装)
    1. 安装nginx依赖库
        1. sudo apt install gcc  安装gcc编译器
        2. gcc —version
        3. sudo apt-get install libpcre3 libpcre3-dev 安装pcre,nginx在编译过程中需要使用的库,因为Nginx的Rewrite模块和http核心模块都会使用PCRE正则表达式语法
        4. sudo apt-get install zlib1g-dev 安装zlib 开发, 在Nginx的各个模块中需要使用gzip压缩
        5. sudo apt-get install openssl libssl-dev  安装openssl,用于安全通信的包
        6. apt list --installed | grep program_name 查询是否安装成功
    2. 下载&编译&安装Nginx
        1. mkdir -p nginx/core
        2. cd nginx/core
        3. wget https://nginx.org/download/nginx-1.24.0.tar.gz
        4. tar -xzf nginx-1.24.0.tar.gz
        5. cd nginx-1.24.0/
        6. ./configure 执行
        7. sudo apt install make
        8. sudo make
        9. sudo make install
    3. 启动&停止nginx服务
        1. cd /usr/local/nginx/sbin/
        2. sudo ./nginx 启动服务
        3. 如果安装了防火墙,需要关闭,然后通过localhost访问nginx欢迎页。安装成功。
        4. sudo ./nginx -s quit 停止服务 
    4. 脚本启动&停止nginx
        1. cd ~
        2. touch start-nginx.sh
            1. #!/bin/bash
            2. cd /usr/local/nginx/sbin
            3. echo xxxxxxxx | sudo -S ./nginx
        3. touch quit-nginx.sh
            1. #!/bin/bash
            2. cd /usr/local/nginx/sbin
            3. echo xxxxxxxx | sudo -S ./nginx -s quit
        4. sh ./start-nginx.sh 启动服务
        5. sh ./quit-nginx.sh 停止服务
5. 安装ssh服务:默认端口22
1. Linux (Ubuntu) 如何开启SSH远程登录_哔哩哔哩_bilibili
    1. 安装openssh server
        1. sudo apt update
        2. sudo apt upgrade
        3. sudo apt install openssh-server 
    2. 启动ssh
        1. sudo systemctl enable ssh
        2. sudo systemctl start ssh
        3. sudo systemctl status ssh 
    3. 配置防火墙
        1. sudo ufw allow ssh
        2. sudo ufw disable (应该等于没有配置)
        3. sudo ufw status
    4. 脚本启动ssh
        1. touch start-openssh.sh
            1. #!/bin/bash
            2. echo xxxxxxxxx | sudo -S systemctl enable ssh
            3. echo xxxxxxxxx | sudo -S systemctl start ssh
            4. echo xxxxxxxxx | sudo -S systemctl status ssh
        2. sh ./start-openssh.sh 启动ssh
    5. ​通过主机终端 ssh 虚拟机系统用户名@虚拟机系统的ip 访问虚拟机系统终端
6. 设置主机 -> ubuntu的端口映射
1. 查询你的ubuntu系统的ip地址,通过ip addr查询
2. vmware虚拟机软件启动 -> 编辑 -> 虚拟网络编辑器(确保配置的时候,ubuntu系统是关闭的),点击更改设置授权设置
3. 配置端口映射
    1. 虚拟机ip为你的ubuntu的ip地址
    2. 端口映射:主机设备的端口:8822 映射到 ubuntu虚拟机的端口:22 (ssh服务的端口默认是22)
    3. 主机访问虚拟机系统终端
        1. ssh 虚拟机系统用户名@主机ip -p 8822 等同于 ssh 虚拟机系统用户名@虚拟机ip:22
        2. 映射的端口需要用 -p 指定
    4. 同样可以指定其他端口的映射
        1.  远程桌面的默认端口为3389
        2. nginx服务器的默认端口为80
        3. ssh服务的默认端口为22
    5. 确认完成配置,打开ubuntu系统,启动服务,在主机端访问验证。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7. 设置路由器 -> 主机的端口映射
1. 浏览器输入 192.168.3.1 访问路由器管理页
2. 进入NAT服务,配置端口映射
3. 选择服务器设备,设置对应的内部端口和外部端口
4. 关闭主机设备防火墙
5. 用外网设备,通过公网ip:外部端口来访问对应设备的内部端口的服务,如果内部端口是映射的虚拟机系统的内部端口,则直接访问到虚拟机系统服务

在这里插入图片描述
在这里插入图片描述

8. 完成配置
1. 通过外网可以访问主机桌面,虚拟机系统桌面, ssh服务器,nginx服务
2. 访问主机Windows系统桌面登录账户时,确保使用正确的账户密码(通过邮箱注册的账号访问login.live.com修改密码)
3. 因为你的这台设备可能要长期运行了,所以为了防止屏幕关闭导致系统睡眠,还有进行控制面板->电源管理,保证自动息屏或手动息屏时,系统正常运行。
4. 注意网络安全
5. 谁能告诉我,文章里的图片怎么缩小。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ReentrantLock详解

介绍 它是可重入锁的互斥锁,又被称为“独占锁”。它在同一时间点只能被一个线程锁持有;可重入表示,ReentrantLock锁可被同一个线程多次获取。它是通过一个FIFO的等待队列来管理获取该锁所有线程的。在“公平锁”的机制下,线程依次…

MySQL笔记-第08章_聚合函数

视频链接:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 文章目录 第08章_聚合函数1. 聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数 2. GROUP BY2.1 基本使用2.2 使用多个列分组2.3 GROUP BY中…

理解排序算法:冒泡排序、选择排序与归并排序

简介: 在计算机科学中,排序算法是基础且重要的概念。本文将介绍三种常见的排序方法:冒泡排序、选择排序和归并排序。我们将探讨它们的工作原理、特点和适用场景,以帮助读者更好地理解和选择合适的排序方法。 冒泡排序 冒泡排序是…

cs环境部署

配置搭建cs工具 两种方式 cs工具 》狐狸工具箱,微信上搜索 或者cs - OneDrive (sharepoint.com)提取密码www.ddosi.org 需要云服务器(个人猜测如果是靶场的话,可以采用一台所有主机都能访问的主机作为服务端配置) 非docker方式搭建 将c…

ue5材质预览界面ue 变黑

发现在5.2和5.1上都有这个bug 原因是开了ray tracing引起的,这个bug真是长时间存在,类似的bug还包括草地上奇怪的影子和地形上的影子等等 解决方法也很简单,就是关闭光追(不是…… 就是关闭预览,在材质界面preview sc…

10基于matlab的悬臂梁四节点/八节点四边形单元有限元编程(平面单元)

悬臂梁,有限元编程。基于matlab的悬臂梁四节点/八节点四边形单元有限元编程(平面单元),程序有详细注解,可根据需要更改参数,包括长度、截面宽度和高度、密度、泊松比、均布力、集中力、单元数量等。需要就拍…

【算法】递归、搜索与回溯算法

文章目录 一. 名词解释1. 递归1.1 什么是递归?1.2 为什么会用到递归?1.3 如何理解递归?1.4 如何写好一个递归? 2. 遍历和搜索3. 回溯和剪枝 二. 递归系列专题1. 汉诺塔问题2. 合并两个有序链表3. 反转链表4. 两两交换链表中的节点…

关于Anaconda的安装和环境部署(此章专为新手制定)

目录 Anaconda简介 一、软件下载(地址👇) 2:点击下载 3:版本选择: 4:Anaconda的安装包就下载完成了 2:恭喜你,看到这里已经完成安装了 三、部署环境 1&#xff1…

什么是 AWS IAM?如何使用 IAM 数据库身份验证连接到 Amazon RDS(上)

驾驭云服务的安全环境可能很复杂,但 AWS IAM 为安全访问管理提供了强大的框架。在本文中,我们将探讨什么是 AWS Identity and Access Management (IAM) 以及它如何增强安全性。我们还将提供有关使用 IAM 连接到 Amazon Relational Database Service (RDS…

C++类模板分文件编写

问题: 类模板中成员函数创建时机是在调用阶段,导致分文件编写时链接不到 解决: 解决方式最常用的:将声明和实现写到同一个文件,并更改后缀名为.hpp,hpp是约定的名称,并不是强制的

Windows/Linux混合刻录后,Windows显示空白盘解决思路

概述 因为工作环境问题,需要在Windows和Linux之间来回光盘刻录,没有多余光盘的时候经常多次使用,同一光盘在Windows刻录文件到Linux,然后从Linux刻录文件到Windows,Windows用“类似U盘”格式化的光盘,在Wi…

洛谷 P8802 [蓝桥杯 2022 国 B] 出差

文章目录 [蓝桥杯 2022 国 B] 出差题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE [蓝桥杯 2022 国 B] 出差 题目链接 https://www.luogu.com.cn/problem/P8802 题目描述 A \mathrm{A} A 国有 N N N 个城市,编号为 1 … N …

三天精通Selenium Web 自动化 - Selenium(Java)环境搭建

1 下载JDK JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2 安装和配置JDK 安装目录尽量不要有空格 D:\Java\jdk1.8.0_91; D:\Java\jre8设置环境变量: “我的电脑”->右键->“属性”->…

LeetCode刷题日志-73矩阵置零

思路一: 用一个同样大小的矩阵记录0的位置,然后遍历矩阵置0, 空间复杂度为O(mn) class Solution {public void setZeroes(int[][] matrix) {int [][] matrix_new new int[matrix.length][matrix[0].length];for(int …

postgresql自带指令命令系列三

目录 简介 bin目录 28.pg_verifybackup 29.pg_waldump 30.postgres 31.postmaster -> postgres 32.psql 33.reindexdb 34.vacuumdb 35.vacuumlo 总结: 简介 在安装postgresql数据库的时候会需要设置一个关于postgresql数据库的PATH变量 export PATH/…

1845_emacs中一个中文乱码问题分析解决

Grey 全部学习内容汇总:GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 1845_emacs中一个中文乱码问题分析解决 曾经有一次放弃过我自己的emacs配置,一个原因就是中文的支持。感觉我的配置跟其他人的配置显得有些…

优雅玩转实验室服务器(一)登录服务器

这篇文章更加偏向于使用python程序进行研究的朋友们 原料 Windows主机实验室Linux服务器(可以访问互联网)一点点耐心 step.0 windows terminal is all you need 别跟我说什么putty,什么winscp,我就是单推Win11自带的软件——win…

deepface:实现人脸的识别和分析

deepface介绍 deepface能够实现的功能 人脸检测:deepface 可以在图像中检测出人脸的位置,为后续的人脸识别任务提供基础。 人脸对齐:为了提高识别准确性,deepface 会将检测到的人脸进行对齐操作,消除姿态、光照和表…

Python 进阶(十六):二进制和ASCII码的转换(binascii 模块)

大家好,我是水滴~~ 本文详细介绍了Python中的binascii模块及其使用方法。通过binascii模块,我们可以方便地进行二进制和ASCII字符串之间的转换操作。文章中包含大量的示例代码,希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总…

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备

【项目源码】 包括本篇需要的脚本都打包在项目源码中,可以通过下面链接下载: 【背景】 目前我们能投射到远端浏览器(或者任何其它Peer)的媒体流只有默认的MainCamera画面,其实我们还可以通过配置输入来传输操作输入信息,比如键鼠等。 【追加input processing组件】 …