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 小时前
NFS服务器
运维·服务器
不是笨小孩i2 小时前
开源AI图片处理工具HivisionIDPhotos安装与证件照制作指南
ubuntu
城南vision2 小时前
计算机网络——TCP篇
网络·tcp/ip·计算机网络
lihuhelihu3 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
山东布谷科技官方3 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
爱吃喵的鲤鱼3 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
Tony聊跨境4 小时前
独立站SEO类型及优化:来检查这些方面你有没有落下
网络·人工智能·tcp/ip·ip
荒Huang4 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
零意@4 小时前
ubuntu切换不同版本的python
windows·python·ubuntu
九河云5 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws