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. 谁能告诉我,文章里的图片怎么缩小。。。
相关推荐
段帅龙呀1 小时前
Redis构建缓存服务器
服务器·redis·缓存
乌鸦不像写字台2 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
牧以南歌〆3 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
Antonio9154 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
kfepiza5 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-20245 小时前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
R.X. NLOS5 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20186 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
群联云防护小杜6 小时前
构建分布式高防架构实现业务零中断
前端·网络·分布式·tcp/ip·安全·游戏·架构
轩情吖9 小时前
Qt的第一个程序(2)
服务器·数据库·qt·qt creator·qlineedit·hello world·编辑框