我这里讲的都是如何回家后还可以连接公司电脑,且省电、不伤机器的事啊,审核的各位别误会了。

这篇就不要提docker了,两码事。
也不要纠结什么hyperV、virtualBox还是vmware的了,无关紧要。

骚操作记录:

1. 虚拟机网络配置

公司机器A性能好配置高环境复杂,使用体验好,于是总想充分利用。
自己平时工作闲暇时给A机器里安装了Vmware虚拟机软件,然后给虚拟机里安装了多个虚拟机a1,a2……等。他们各自可能有不同的操作系统。
想要让他们各个机器(a1等)启动后可以正常访问外部网络,即正常上网可以吗?
可以,很容易,方法多种。
我使用的是NAT网络模式。
然后a1等机器里可以自由使用wget等命令,防火墙开放端口等自己处理即可。
想要让这些机器组成一个局域网甚至设置固定ip可以吗,有自己的网段,如 192.168.180.1, 192.168.180.2 .....
可以。
不断添加,默认就是这样,当然也可以自己给各个机器指定不同ip
并且这些机器跟A机器是可以互相通信的,具体来说互相ping,互相传输文件还是很容易的。
此时,自己慢慢就会意识到一件事:
自己的虚拟机里想装多少台"电脑"就装多少台,简直是自己创造了一个虚拟世界
接下来可以在这个虚拟世界里大显身手了!

2. 从“宿主机”的视角来看,有什么提升使用体验的方法吗?

很多。如:
虚拟机a1里好不容易安装好的东西和配置好的环境,某天突然报错进不去了怎么办?
vmware的每个虚拟机都有个自有的文件夹(如下图),里面有很多vmem、ram、vmx,vmdk等后缀的文件,顾名思义很容易才想到里面是什么内容,如某文件保存了内存、某文件是硬盘,某文件是配置等。
出了莫名其妙的问题,我现在经常把内存文件删掉,基本上就可以正常开机和进入了。
想想很容易理解,不赘述。
今年多次用这种方法解决了问题,从此,虚拟机终于在我手里变成了一个可用性强,可靠性较高的东西了。

虚拟机经常导致宿主机A太卡怎么办,有什么好点的办法?
好办法很多。

  1. 经过一些摸索,我现在会装很多虚拟机a1~an;而不是像以前一样装一个,然后往里面疯狂配置和安装环境,导致一个虚拟机的配置要求很高,磁盘占用很大。每次一启动就把A机器拖得变卡。我装很多简单的环境,甚至一个虚拟机里只有一个服务,就像实际上我们的服务器那么纯粹,比如a1只装个mysql,a2只装个rabbitmq,a3只装个jenkins服务等。
    然后使用的时候,就可以适当选择自己想要的机器来启动,对A机器的拖累就不会那么明显了。
  2. 安装Linux系统,性能影响较小。比如我用的 CentOS 7 minimal系统镜像安装的。所谓minimal,就是最小的,一个系统装好后”几乎啥都没有“,甚至连vim都没有,可见有多精简了。然后基于它,装需要的东西,负担就不太重。
  3. 给linux安装ssh服务,配置好,然后从外部机器,如虚拟世界外部的A、B……Z等机器访问a1……an,使用ssh方式连接。这样的话就没有太多的画面之类的交互,该做的操作都可以完成,性能也很好。

如果我也要创造一个”虚拟世界“,那么安装那么多机器和系统,那岂不是一遍又一遍重复,很麻烦?

  1. 虚拟机里有个很好的功能,叫克隆。

    利用这个功能,先装好一个基本环境(我就叫它模板机吧),然后多次克隆,然后可以让克隆出来的机器自动获取ip或者修改配置指定ip,让克隆出来的机器正常。我就是通过这样的方式轻易创建了很多机器。(可能你需要注释掉虚拟机的网卡mac地址,从而可以让不同的机器分配到不同的ip; 也可以不使用dhcp手动分配ip)
  2. 模板机在各个节点还可以创建快照,以便后来使用。比如刚装好时候创建一个快照1,然后去掉无用硬件如光驱声卡等配置好vim、wget、lrzsz等创建一个快照2,装好jdk后创建快照3……以后克隆的时候可以选择从最适合的状态克隆。效率和性能兼备,一点多于的都不需要。

以上即可基本解决虚拟机的使用体验问题。细节相关的太多,不提了。

3. 公司的电脑我有没有远程使用的办法?

毕竟辛辛苦苦装了那么多,下班了又不见得想要继续留在公司,回去后又没有使用的办法,难道家里也要搞一台这样的机器?算了吧,两边不同步,烦都烦死了,要是回家后能连上公司的电脑就好了。
有什么远程连接电脑的办法?
windows的话很显然,mstsc不解释,大家都知道。
当然也有 teamviewer、向日葵啥的。一个道理,具体不谈。
当然你可能要问明明我的公司机器没有固定ip啊我回去后都不知道输入点什么去找到它!
你可以使用某些网络软件,比如OpenXXX,这样的话,两边的机器就可以成为局域网关系,然后使用mstsc什么的连接。

有什么改善远程连接电脑体验的办法?
据说teamviewer会频繁提示你是商用,甚至频繁断开,烦死了不考虑。

  1. 但有人说从境外英文网站下载的安装包安装的就是这样,我没有试过,感兴趣的可以试试。
    但每次远程的机器开机或重启后,那原来的编号和密码会不会变化,不知道的话不就不能连接了吗,怎么办?

  2. 用一个向日葵账号,不同机器上都登录,开机自启,关联设备,然后只要登上向日葵账号,就无视什么编号密码直接连接了,体验不错。且只要愿意付费还可以得到更好的体验。
    显然地,只要你能远程连接看到桌面了,还有什么不能做的呢?

  3. 这样的远程连接的弊端是什么,你有没有发现呢?
    比如一旦因为某种原因你机器卡死了、蓝屏了,重启了,突然断电断网了,网络抖动了,都可能对这种连接造成不可逆的”伤害”,因为也许从此刻就丧失了对它的控制权,就此玩完。
    而且就算不出问题,这个机器你可能根本就不敢关闭,因为一旦关闭,也许你的OpenXXX不能开启自启和连接之类的原因,可能你就再也连不上它了。
    久而久之,机器磨损,能源浪费是必然的。

下一部分重点讲这个问题。

4. 有没有更偏向“物理解决”一点的方案?

设想: 万一远程机器卡死怎么办?

我多想有个同事在公司,打个电话给他,行行好帮我按一下重启键。
可是说不定你们都各自正在居家隔离呢?

于是我想,我们能不能远程控制,对电脑进行物理开关机呢??? !!!

于是,激动人心的时刻来了

关键词: 远程开机
毕竟你都能远程开机了,关机就更不是问题了,连上再关就行,不谈。

实际上,远程是可以对电脑进行开机的,注意我这里说的是 远程开机!!!,你没有看错。

用电脑很多年,我也没想明白,它都没开机,还能对我的任何操作做出点反应?

确实可以。

简而言之:
我现在知道的远程开机方式有三种,本质上原理都是一样的:
就是你远程控制一个设备,类似现在智能家居里常有的所谓智能插座那样的,给它连上网,配置好了之后,在远程的手机上可以通过app什么的对它进行开启关闭。然后利用对这个设备的控制,间接触发电脑的开机。
而电脑的远程开机,是需要主板的支持的。

三种简述一下:

  1. 网卡触发开机
  2. AC Recovery 配置即通电触发开机 (实际上网上还有一些正在为此苦恼,不知道为什么自己的电脑一通电就开机,苦寻解决办法。 苦笑脸.jpg)
  3. pci-Express 开机卡触发开机。
    相关方式都很容易搜,我这里只提概念及关键词,不做进一步详述,否则洋洋万字。

整理如下图:

我自己公司里用的普通电脑,亲测成功,这篇文章就是这样的方式敲出来的。

我使用的是Ac Recovery,即通电触发开机的办法,使用了一个以前买天猫精灵搭售的智能插座,摸索了一天多,顺利解决。
值得一提的是,如果你的主板BIOS中设置好了,通电后还是不行的话,你可能要关掉你的windows中的快速启动按电源键的操作设置为“不进行任何操作”。我的是这样,你的不一定是。
经鲁大师检测,我使用的主板信息是:

主板型号 铭瑄 MS-HDZ H311N-V3H
芯片组 100 Series/C230 Series 芯片组 Family - A143
BIOS版本 American Megatrends Inc. 5.12  /  BIOS程序发布日期: 03/07/2019
BIOS的大小 16384 KB
板载设备 视频设备 (启用)

使用的插座大致如下图:

以上即可解决远程开机问题。
到现在为止,远程开机和远程连接基本都解决了,实际上基本上只要愿意将就下,就没有什么问题了。
而且该关机的时间关机就是了,当然不建议直接给插座断电,而是先通过远程"软"关机,然后选择性看是否关闭插座随意。

5.那么,最后还有没有更骚的操作呢???

比如我回家后的电脑是B,公司里的电脑是A,A里面的vmware虚拟机里有很多系统如a1,a2……等。

显然地,我在A里面打开一个shell什么的,直连a1等机器即可。
我都能远程连接A了,当然该做的都可以做了。

那么假如现在不考虑设法使A和B成为局域网情况下的问题(我试了,A和B都开着OpenXXX,A和B并不能ping得通;更别说B和a1了。B通过ssh连a1也更是别想)

那么我要是就想要B可以通过ssh等连接a1怎么办呢,有没有办法呢?
结论:有。

思路:反正我们从B访问不到a1~an,但B肯定是可以访问到A的,毕竟远程连接都看着呢,只是ping不同而已。
那么,如果我们从B能把ssh请求发给A,由A转发给a1~an行不行呢?
感觉好像走得通,但似乎得对网络很精通才行,要不试试看?

此处需结合两个功能来实现:

  1. vmware里面的端口转发功能。可以配置很多条,比如把指向A机器7777端口的请求,都转发到a1的 22端口;A机器8888端口的请求,都转发到a1的 22端口等。
    上个图吧:


    细节略,总之vmware可以这么配置。

然后我在A机器里惊喜地发现:
我不用再输入a1的ip才能连接a1,我输入 A机器的 127.0.0.1:7777(配置的转发端口)就能ssh连接到a1机器。
注意这一步是真正B通过ssh连a1的基础。

  1. 在前述情况下,B机器能不能连接到A机器的7777端口呢,要是能转发,岂不大功告成?
    是的,可以。
    此处有一个重要的概念,叫内网穿透
    我这里用了netapp内网穿透。

    在natapp里给自己申请了一个隧道,TCP的,

    为什么要申请TCP的呢,因为官网这么说:

    所以我就觉得该选TCP。
    natapp的用法和概念不再赘述,总之最终配置了这么一个规则:
    转发tcp,将 xxxx.natappfree.cc:40482 端口的请求 转发到 A机器的 127.0.0.1:7777 (由于前文的配置,实际它又被转发到a1机器里的22端口了)

然后我就在B机器启动了ssh客户端,尝试进行ssh连接:

主机: xxxx.natappfree.cc
端口:40482
user: password 就用a1的,不提。

然后,居然一试就连接成功了!!!

直到此刻,骚操作终于才是到了尽头。

下面上个图,是从B机器里ssh连接a1机器的亲测图:

落幕。


最终,再补充一点:
既然都可以从B连接到a1了,那么不嫌麻烦的话就可以从B连到a2,以此类推。
但是也可以从B连接到a1,把a1当成连接其他a2~an机器的跳板,在a1中ssh连接a2等,这样的话就只配置a1就行了。
这是个思路,很简单。

公司里开发用的机器,虚拟机、网络、转发、ssh连接、远程桌面、远程开机……等一系列骚操作的操作概述相关推荐

  1. 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

    嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...

  2. win10新建虚拟机网络配置未连接服务器,Win10系统VMWare虚拟机无法连接网络怎么办?...

    大家都知道VMWare虚拟机是一个虚拟的PC,可以在同一台电脑中运行多个系统,但在安装了Win10系统后,发现VMWare虚拟机无法连接网络了,这是怎么回事?经过分析发现是因为VMWare和Win10 ...

  3. 虚拟机与主机ssh连接

    本文记录本人配置ssh的过程,看了不少文章也走了不少弯路,期间还重置过一次网络设置.对于我自己来说倒是没什么问题,大不了重置,重置不了大不了虚拟机重装... VScode配置config Host x ...

  4. 虚拟机ubuntu安装ssh服务器,经过Xshell远程链接虚拟机VMVARE中的Ubuntu

    本文将讲解如何经过Xshell远程链接虚拟机中的Ubuntu,从而没必要主系统和虚拟机来回切换.php 1. 下载并安装Xshell 先下载并安装合适版本的Xshell rj.baidu.com/so ...

  5. 本地机器 Google Colab 通过 SSH 连接远程服务器

    1. 情景描述 我自己笔记本配置太垃圾,想要用学校的深度学习服务器在Colab上跑程序. 2. 环境描述 远程服务器 (Ubuntu): 用pip安装 jupyter notebook 以及 jupy ...

  6. win10新建虚拟机网络配置未连接服务器,win10虚拟主机怎么联网(win10虚拟机连不上网)...

    win10自带虚拟机hyper设置网络连接 步骤如下:打开win10下虚拟机 hyper-v管理器,检查安装好的虚拟机的设置 打开设置后点击左边的网络适配器,然后在右边虚拟交换. 1.打开Win10下 ...

  7. 【VMware虚拟机】使用SSH连接VMware上的Linux虚拟机(主机互通也可访问外网)

    最近开始研究docker平台的搭建,故在本机上安装了VMware workstation pro,并创建了Linux虚拟机(centos7系统),为了方便本机和虚拟机间的切换,准备使用SSH直接连接L ...

  8. 不能ssh连接ubuntu linux 服务器 secureCRT不能ssh连接服务器 不能远程ssh连接虚拟机的ubuntu linux...

    我是用的是secureCRT,远程连接我的虚拟机里面的ubuntu 直接报错,连接不上 1,先分别在windows上ipconfig和ubuntu上ifconfig下 互ping一下,是可以ping通 ...

  9. VirtualBox 使用 NAT 方式网络的 SSH 连接

    为什么80%的码农都做不了架构师?>>>    在Ubuntu 14.04上亲测解决问题. 本文的 VirtualBox 是基于 Windows 平台环境,虚拟机中安装了 Ubunt ...

最新文章

  1. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json
  2. Android Stdio 添加jar或aar
  3. SAP MM模块相关透明表收集
  4. File类判断功能的方法
  5. luoguP4755 Beautiful Pair
  6. 三探云原生全景图,这次聊聊运行时层
  7. cmake 生成mysql_采用cmake方式编译安装MySQL
  8. kafka结合mysql_logstash集成kafka,mysql实现数据采集
  9. 在浏览器输入URL会发生什么?
  10. Model of an Electric Arc for Circuit Analysis(翻译)
  11. 中国正式进入 5G 商用元年!
  12. 损失函数(Loss)
  13. 【IOT】NB-IOT模块连接Onenet物联网云平台2020年实测
  14. LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search
  15. C# 多线程 Invoke BeginInvoke
  16. 一文带你了解什么是IP地址
  17. php中文加密解密,php加密解密详解
  18. BAPI创建CLASS和CHARACTERISTICS
  19. 印章工具怎么使用?如何制作专属印章?
  20. 重要的统计量(期望、方差、协方差、相关系数、矩)的概念和性质

热门文章

  1. Manjaro系统更新,wifi用不了,解决方法
  2. java能开发硬件程序吗,跳槽薪资翻倍
  3. 量子计算机芯片的制造过程,美陆军资助研发制造量子计算芯片的新方法
  4. 初次进入eclipse的设置
  5. Coding and Paper Letter(十一)
  6. 第六十九章 SQL函数 JSON_OBJECT
  7. android 自动挂断,android实现接通和挂断电话
  8. 1587 例题3 [SCOI2009] Windy 数(Bzoj1026 LOJ LUOGU2657 提高+/省选-) 需考虑前导0的数位DP
  9. 100m光纤测速多少正常_终于知道为什么我的百兆宽带测速只有一半了
  10. c log 指定服务器,解决 SQL2000安装程序配置服务器失败。参考服务器错误日志和C:\WINDOWS\sqlstp.log方法...