仅允许特定 IP 的流量

仅允许特定 IP 的流量

我有两个使用 Vagrant(提供商 Virtualbox)创建的虚拟机:

IP 地址为:100.10.10.10

B 的 IP 地址为:172.28.128.42

C 的 IP 地址为:192.28.128.41

它们在同一个主机上运行,​​我希望只有 A 可以与 B 对话,如果我尝试跟踪路由流量,则响应如下:

$ traceroute 172.28.128.42

 1  10.0.2.2 (10.0.2.2)  0.066 ms  0.042 ms  0.083 ms
 2  172.28.128.42 (172.28.128.42)  0.218 ms  0.237 ms  0.216 ms

因此,流量通过 10.0.2.2(我猜是 localhost,也适用于 C)。我尝试通过iptables以下方式实现 A 和 B 之间的隔离:

iptables -A INPUT -s 100.10.10.10 -j ACCEPT
iptables -A INPUT -s 10.0.2.2 -j ACCEPT
iptables -P INPUT DROP

但此后,C 和 A 就无法联系到 B......而这并不是预期的行为......我该如何实现呢(只有 A 和 B 可以通信,所以只有 A 可以联系到)?

答案1

如果您正在使用 VirtualBox 之类的虚拟化程序,那么问题可能出在网络配置上。

默认情况下,大多数情况下,网络配置为NAT: 在此处输入图片描述

您可以尝试创建一个内部网络。这样,虚拟机就位于单独的 LAN 中,并且不使用主机进行通信。

在此处输入图片描述

图片和信息取自这里

相关内容