使用静态 IP 池中的随机 IP 来传输传出流量

使用静态 IP 池中的随机 IP 来传输传出流量

我在一台 Linux 机器上运行了多个 Windows VBox。这台 Linux 机器设置了 20 个静态真实 IP 地址,全部位于 eth0 上。VBox 配置为使用 NAT,它使用 Linux 机器上设置的默认网关 IP 地址来访问互联网。问题就在这里。

我希望每个 VBox 从 20 个 IP 池(随机或分配)中使用不同的 IP 来访问 Internet,而不是使用 Linux 机器上设置的默认网关。

有什么想法吗?

我尝试过但没有效果的方法是使用 VBoxManage 按照 VBox 文档来处理这个问题...

VBoxManage VBoxInternal/设备/pcnet/0/LUN#0/配置/http/BindIP“203.203.203.203”

那不管用。

我想我可能必须在 Linux 机器上使用 iptables 命令来配置它,以便 ip 路由链对所有传出流量使用随机 IP,或者多个默认网关或类似的东西。

更新 1:因为这是租用的服务器,所以我无权访问路由器。Windows VBox 使用的 DHCP 由在 Linux 上运行的 VirtualBox 应用程序安装和管理,该应用程序仅适用于 VBox。

更新 3:raerek 提供了使用桥接而不是 NAT 的解决方案。我发现设置桥接网络并不像“只需从下拉列表中设置”那么简单。我可能需要在 Linux 机器上安装或配置驱动程序。在我仍在检查它的同时,任何保留 NAT(有效)并仍然能够使用池中的 IP 的解决方案都将受到欢迎。

答案1

如果我理解正确的话,您不需要为 Linux 主机分配 20 个 IP,因此您最好使用桥接网络而不是 NAT,并将不必要的 IP 直接分配给运行 Win 的虚拟机。因此从外部看来,您有一台 Linux 计算机和一些 Windows 计算机,它们都在同一个网段上。只有以太网层会知道它们是一台,从 IP 层来看,它们看起来是具有不同 IP 的不同计算机。

答案2

而不是在 Linux 主机上设置 20 个 IP 地址....您是否尝试过在路由器上设置 DHCP...这样 Linux 主机上的任何 Windows 客户机都会自动获取一个 IP 地址...?

答案3

为了保护 Windows 机器免受桥接网络中传入流量的侵扰,请使用 设置 netfilter 防火墙iptables,其中规则包含 Windows IP 地址或接口名称(eth0:0、eth0:1 等等)。

相关内容