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. 谁能告诉我,文章里的图片怎么缩小。。。
相关推荐
软件技术员26 分钟前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
咖喱鱼蛋2 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char2 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
mengao12342 小时前
centos 服务器 docker 使用代理
服务器·docker·centos
C-cat.2 小时前
Linux|进程程序替换
linux·服务器·microsoft
怀澈1222 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
学Linux的语莫2 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
skywalk81633 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry