Я должен проверить какое-то сетевое приложение Java. Каждое клиентское приложение идентифицируется по его IP. Так что самый простой способ проверить это - запустить несколько машин или виртуальных машин ... Но каждый экземпляр этого приложения может быть запущен с указанным локальным интерфейсом для привязки. Поэтому я подумал, что я мог бы просто создать много петлевых интерфейсов и запустить каждый экземпляр приложения с указанным IP-интерфейсом петлевого интерфейса на одной машине без каких-либо виртуальных машин.

Для теста я создал 2 петлевых адаптера под Windows:

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 ответ1

-1

Эти два IP-адреса находятся в одной подсети. Это означает, что когда вы отправляете пакеты с одного из этих IP-адресов на другой, сетевой стек ожидает, что они находятся на одном интерфейсе. Вам может повезти больше, если вы убедитесь, что третий октет (10) отличается на обоих интерфейсах.

Поскольку петлевые интерфейсы обычно не маршрутизируемы (вы не можете подключиться к внешним IP-адресам с 127.0.0.1), я не уверен, может ли это работать с петлевыми интерфейсами в любом случае. Возможно ли (и приемлемо) ли вам использовать один петлевой адаптер с двумя IP-адресами (который теперь должен находиться в одной подсети, поскольку это один интерфейс)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .