外网访问vm虚拟机

一、准备

  • 外网ip:39.189.8.5

    • 访问https://www.ip138.com 可以查询外网ip
  • 内网主机ip:192.168.1.6

    • win+r,cmd->ipconfig 得到内网ip
  • 虚拟机ip:192.168.3.11

二、外网访问主机电脑

  • 本例以访问本机远程桌面为例
  • 远程桌面端口3389

1、防火墙添加3389端口

  • 控制面板->系统和安全->Windows Defender 防火墙->高级设置->入站规则
  • 查看是否有开放3389端口,如果没有,点击右上角的新建规则进行添加

2、配置远程桌面

  • 计算机->右键属性->远程设置

3、配置路由器(本例为水星路由器)

  • 高级设置->高级用户->虚拟服务器
  • 添加一条内映射到内网主机的地址

4、测试访问

  • 在别的电脑上远程连接测试下
  • 输入外网ip:39.189.8.5

三、外网访问VM虚拟机

  • 本例在vm虚拟机上安装了yapi做测试
  • 虚拟机ip:192.168.3.11
  • 测试访问虚拟机web:192.168.3.11:3000,可以访问
  • 思路:路由器的虚拟服务器只能添加本网段的ip,所以需要将vm虚拟机的应用映射成192.168.1.6:3000能访问才行,然后再通过路由器将192.168.1.6的3000端口映射到外网,这样就可以通过外访问vm虚拟机了

1、配置虚拟机

  • 设置->网络适配器->NAT模式

  • 编辑->虚拟网络编辑器->VMnet8->NAT设置->添加端口

2、测试本机访问3000端口

  • 本机ip:3000

3、防火墙增加3000端口

4、路由器映射

5、测试访问

  • 外网ip:3000

四、域名配置

  • 经过以上配置,已经可以通过外网ip来访问虚拟机上的web了,但是光猫重启ip地址就会变,所以我们可以配置一个域名,这样访问域名即可

  • 我们使用免费的花生壳来做域名访问,在路由器中配置花生壳帐号,如下图,(没有帐号可以去官网注册,https://hsk.oray.com/)

  • 通过域名加端口号即可以代替以上的ip地址访问了

  • 最好不要使用客户端的花生壳来做穿透,除非你有很多钱,该软件默认可以映射2个端口地址,而且有流量、带宽等限制,通过以上路由器的配置,只是将域名解析下,无任何限制,可以设置N个访问

五、遇到的坑

1、路由器wan地址和外网ip不一致

  • 这是遇到最大的坑,困扰了我一天,由于我用的是移动公司的宽带,通过拨号,移动公司分配给我的是他们内网的ip,
    因此我用外网ip访问始终不行,不管我设置防火墙还是配置路由器,都不行
  • 解决方案:打电话给10086,经过3轮沟通终于同意将我的ip改为外网ip
  • 验证问题:打开路由器找到常用设置->上网设置->ip地址,查看该ip是否和外网ip一致

2、注意防火墙

  • 开放的端口需要在防火墙入站规则中添加端口
posted @ 2021-11-01 18:06  吕林光  阅读(3966)  评论(0编辑  收藏  举报