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

文章目录

            • [1. 主机设备是Windows 11系统](#1. 主机设备是Windows 11系统)
            • [2. 安装vmware虚拟机](#2. 安装vmware虚拟机)
            • [3. 创建ubuntu虚拟机(据说CentOS 7 明年就不维护了,就不用这个版本的linux了)](#3. 创建ubuntu虚拟机(据说CentOS 7 明年就不维护了,就不用这个版本的linux了))
            • [4. 安装nginx服务:默认端口80](#4. 安装nginx服务:默认端口80)
            • [5. 安装ssh服务:默认端口22](#5. 安装ssh服务:默认端口22)
            • [6. 设置主机 -> ubuntu的端口映射](#6. 设置主机 -> ubuntu的端口映射)
            • [7. 设置路由器 -> 主机的端口映射](#7. 设置路由器 -> 主机的端口映射)
            • [8. 完成配置](#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: Linux packages](https://nginx.org/en/linux_packages.html#Ubuntu),或者按下面步骤安装
    2. 安装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 查询是否安装成功
    3. 下载&编译&安装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
    4. 启动&停止nginx服务
        1. cd /usr/local/nginx/sbin/
        2. sudo ./nginx 启动服务
        3. 如果安装了防火墙,需要关闭,然后通过localhost访问nginx欢迎页。安装成功。
        4. sudo ./nginx -s quit 停止服务 
    5. 脚本启动&停止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. 谁能告诉我,文章里的图片怎么缩小。。。
相关推荐
jun_bai8 小时前
python写的文件备份网盘程序
运维·服务器·网络
Warren988 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
HIT_Weston8 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
欢喜躲在眉梢里8 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
云飞云共享云桌面9 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张9 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
虚伪的空想家10 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
深藏bIue10 小时前
linux服务器mysql目录下的binlog文件删除
linux·服务器·mysql
虾..10 小时前
Linux 进程状态
linux·运维·服务器
只想安静的写会代码11 小时前
网卡信息查询、配置、常见故障排查
linux·服务器·windows