在bash中构建虚拟环境

在bash中构建虚拟环境

我正在建立一个家庭实验室,我想做的事情之一就是建立一个 torrent 客户端。至少可以说,这台机器的硬件已经过时了。操作系统是ubuntu服务器。

本质上,我只想通过我的 VPN 路由 torrent 客户端流量,但让其他一切正常。服务器已经在运行 openvpn 服务器实例,我认为如果我尝试在那里运行客户端,可能会导致问题。我也不想配置一台单独的机器来充当路由器。到目前为止,我见过的最好的事情是在虚拟机内运行客户端和 VPN 连接,并将虚拟机中的路由配置为仅允许 VPN 流量流出。这样,如果连接中断,我的家庭网络上就没有未加密的 torrent 流量。

我的问题是:在 bash/ubuntu 中运行虚拟环境的最佳方法是什么?它必须只是终端,并且能够在其自身和主机操作系统之间传输数据。有没有更简单的方法来做到这一点,在 VPN 连接断开的情况下具有故障保护功能?谢谢。

答案1

手头的任务是运行一个通过 VPN 客户端到达网络的应用程序,而不影响主机上运行的任何其他内容,可以通过在 Docker 容器中运行该程序来非常高效和灵活地完成。

Docker 有一个学习曲线,但它是一项令人惊叹的技术,值得长期学习。

从高层次来看,步骤是:

  • 安装 docker 并通过运行他们的 hello world 示例等来熟悉一下。
  • 通过在容器中实例化 Ubuntu 18.04 等操作系统并安装任何必要的软件来构建原型。请注意,容器已经可以访问互联网。
  • 创建一个 Dockerfile,以便可以轻松迭代这些构建步骤,直至完善。
  • 每当需要时,使用该映像启动具有目标应用程序的容器。实例化容器几乎是瞬时的。

所以...我输入了越来越详细的说明,直到最终我意识到我将完成整个练习,并最终创建了一个 Docker 映像来设置 OpenVPN 客户端并运行 Bit torrent 软件。

大约有 54 行 Dockerfile 和 shell 脚本。如果您想尝试它并将其用作原型,它已经在 GitHub 上:

https://github.com/curtmcd/docker-vpn-client

docker-vpn-客户端徽标

相关内容