有时,公共虚拟机的满意用户可能会遇到该虚拟机无法访问Internet的事实。 为用户提供了处理器,内存,带操作系统的磁盘,基本接口,远程访问端口等等。
在这种情况下,托管人也可以理解,他今天可以更轻松地关闭对Internet的访问,以免明天明天就在互联网上的用户活动动脑筋,因为首先由用户冒犯和冒犯的各种事情将开始与托管人一起解决。 例如,在某些国家/地区,对主机IP地址进行审判前封锁的做法很普遍,这不会影响恶意用户,但会影响无辜用户。
新的互联网方法
以前,要将没有网络的虚拟机连接到Internet,客户端只能转发从其地址分发Internet的物理USB设备:调制解调器,网络适配器。
如今,用户可以类似于SSH将端口转发到VPN或代理服务器。 为此,必须根据FlexVDI代码组装客户端,主机和虚拟机的所有三个方面,即必须重建和安装用于通过Spice协议进行远程访问的软件包。
FlexVDI是开放式远程访问协议SPICE的改进版本,并且是同名公司的另一个抽象层。 所有必需的代码都可以在github仓库中找到。
连接方式
为了从FlexVDI获取香料客户端,Linux用户可以手动编译客户端,也可以对客户端的appImage图像执行一些操作:
首先,您需要从官方站点下载客户端的appImage图像,使其成为可执行文件,然后使用以下命令将其解压缩:
./flexvdi-linux-client-2.2.15-x86_64.AppImage --appimage-extract
执行该命令后,映像文件将位于该文件所在目录的squashfs-root目录中。 我们对辛辣的客户端很感兴趣,但是文件的直接执行失败,因为应用程序试图使用系统中而不是映像中的库。 要运行辛辣,请创建AppRun文件的副本。 在最后的复制文件中,注释或删除以下行:
./python2.7 ./flexvdi_launcher.pyc "$@"
而我们添加以下形式的一行:
./spicy --uri=spice://vpla.umvirt.com?port=6060 -R 3128:127.0.0.1:3128 --spice-debug
在这里,您可以通过spice协议配置与远程访问端口的连接,该协议与vpla.umvirt.com服务器上的RetroGamer公共虚拟机,并将端口3128从squid转发到虚拟机,并输出调试信息。
我们保存文件,安装Squid代理服务器,并使用浏览器检查其可操作性。
以下是Firefox的代理服务器设置窗口的屏幕截图:

如果浏览器成功使用代理,请保留对虚拟机的访问权限,并运行创建的启动文件,并将输出重定向到该文件,例如:
./myApp > spicy.log
以下消息应出现在日志文件中:
(spicy:10702): GSpice-DEBUG: port-forward.c:183 Created new port forwarder
和
(spicy:10702): GSpice-DEBUG: port-forward.c:231 Associate guest (null), port 3128 -> 127.0.0.1 port 3128
如果未出现该消息,则意味着在主机或虚拟机上,原始香料包的代码不会被Flexvdi代码替换。
在虚拟机中:
- 我们使用以下命令检查端口转发:
ss -atnl
- 使用命令检查是否缺少网络
ip addr
在浏览器设置中,我们为代理服务器规定了相同的参数。

检查网络访问
我们检查IP地址,例如,在http://umvirt.com/agentinfo

我们检查是否可以打开网站,例如,打开在线采矿网站“ Coinhive ”。

如您所见,虚拟机不仅可以从客户的地址在线,还可以启动挖掘过程。
Youtube上提供了有关连接过程的视频。