我必须测试一些 Java 网络应用程序。每个客户端应用程序都由其 IP 标识。因此,测试它的最简单方法是运行一些机器或虚拟机……但是此应用程序的每个实例都可以使用要绑定的指定本地接口运行。所以我想我可能只是创建许多环回接口,并在没有任何虚拟机的单台机器上运行具有指定环回接口 IP 的应用程序的每个实例。
为了测试,我在 Windows 下创建了 2 个环回适配器:
1:192.168.10.201/255.255.255.0
2:192.168.10.210/255.255.255.0
没有为它们指定 gw 或 DNS。我将它们都添加到了 system32/etc/hosts。
当我运行具有指定 IP 的应用程序时,它成功绑定到环回适配器,但它看不到其他环回适配器(连接超时)。
所以问题是适配器无法相互通信。如何正确配置?
答案1
这两个 IP 地址位于同一子网。这意味着当您从其中一个 IP 向另一个 IP 发送数据包时,网络堆栈会认为它们位于同一接口上。如果您确保10
两个接口上的第三个八位字节 ( ) 不同,您可能会更幸运。
由于环回接口通常不可路由(您无法从 127.0.0.1 连接到外部 IP),因此我不确定这是否可以与环回接口一起使用。您是否可以(并且可接受)使用具有两个 IP 地址的单个环回适配器(现在应该在同一个子网中,因为它是一个接口)