一台虚拟机而不是多台虚拟机上有多个 LAN 接口

一台虚拟机而不是多台虚拟机上有多个 LAN 接口

我正在寻找是否可以授予权限,仅允许 Linux 发行版上的特定用户使用一个网络接口。

我的用例:为了我的研究,我想测试大约 30 个服务器之间的互连,所有服务器都侦听同一端口。目前,由于物理材料的限制,我只能启动 7-8 个虚拟机并在它们上启动我的服务器脚本。即使我使用的是低资源消耗的 Linux 发行版(如 SliTaz)。这些脚本要求我有多个接口,因为它们都在同一端口上侦听。

我认为可以做的是在单个虚拟机上复制以太网接口(30次),创建30个不同的用户,为每个用户设置不同的以太网接口,并在每个用户上启动我的服务器脚本。脚本将侦听每个可用的接口,或者每个用户可用的单个接口。我的脚本大约有 5Mo 的 RAM,所以我不必启动 30*128Mo 的 VM,并且我可以更轻松地创建用户,而不是复制 VM、在每个 VM 上设置 MAC 地址和 IP。

我确实看到可以创建多个接口。如何为特定用户设置网络接口的权限?或者对于这个问题有更好的解决方案吗?

答案1

您应该考虑使用资源密集程度较低的虚拟化选项的可能性。我想到的解决你的问题的是“网络命名空间”,你可以找到一个简单但足够的介绍这里

通过这种简约的虚拟化方案,您可以为每个 shell 赋予一个(虚拟!)NIC,不多也不少。开销是为每个用户创建一个新的 shell,并且您保持所有程序的可用性。然后,您可以启动同一程序的不同实例,侦听不同接口的同一端口。

相关内容