前两天沙漠日志那哥们给了我台Windows Server 2012 R2 X64的服务器,并丢了一个奇怪的要求,他想在Win系统下使用虚拟机安装Linux系统部署LNMP环境放网站,表示有点懵逼为何不直接给服务器装Linux系统,他告诉我需要在win系统上操作一些东西,并且会给多个用户启用远程桌面权限,但是怕用户乱动或误操作WEB程序相关文件,所以装个虚拟机使用LNMP环境,归咎于其服务器是物理机而非VPS,32H32G比较任性,遇到的问题是仅有一枚公网IP。

大概步骤如下:

  • 安装Hyper-V管理器及相关组件(略)
  • 创建虚拟机并安装操作系统(略)
  • 设置Hyper-V虚拟交换机为内部网络(略)
  • 开启网卡共享给Hyper-V虚拟网卡(略)
  • 配置虚拟机网卡的局域网ip(略)
  • 宿主机在PowerShell中执行端口映射

步骤就统统略过了,附上几条端口映射的命令

netsh interface portproxy show v4tov4 #查看当前端口映射
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=123.123.123.123 connectaddress=192.168.1.10 connectport=22 #将虚拟机IP192.168.1.10的22端口映射到宿主机公网IP的2222端口
netsh interface portproxy delete v4tov4 listenport=2222 listenaddress=123.123.123.123 #删除公网IP123.123.123.123上的2222端口的映射