Linux: моделирование двух серверов через виртуальную сетьLinux

Ответить
Гость
 Linux: моделирование двух серверов через виртуальную сеть

Сообщение Гость »

У меня следующая проблема. Я хочу запустить локальную симуляцию двух серверных приложений, которые открывают сетевой сокет. Эти приложения обычно запускаются отдельно на встроенных устройствах Linux. Третье приложение — это клиент, который должен взаимодействовать с обоими серверами.
Поскольку невозможно открыть два сокета на одном интерфейсе, я попытался создать три виртуальных интерфейса и соединить их мостом:

Код: Выделить всё

sudo ip link add eth10 type dummy
sudo ip link add eth11 type dummy
sudo ip link add eth12 type dummy
sudo ip link add br0 type bridge

sudo ip link set dev eth10 master br0
sudo ip link set dev eth11 master br0
sudo ip link set dev eth12 master br0

sudo ip addr add 192.168.42.42/24 dev eth10
sudo ip addr add 192.168.42.43/24 dev eth11
sudo ip addr add 192.168.42.44/24 dev eth12

sudo ip link set dev eth10 up
sudo ip link set dev eth11 up
sudo ip link set dev eth12 up

sudo ip link set dev br0 up
Пока это работает, я могу запускать все приложения, а клиент может получить доступ к обоим серверам. Однако серверы также должны взаимодействовать друг с другом по протоколу IEC61850-GOOSE. Но это не работает. Похоже, что через виртуальную сеть нет связи уровня 2 - я также не вижу ожидаемых пакетов в Wireshark.
Связь клиент-сервер (IEC61850-MMS) основана на TCP/IP и работает.
Кто-нибудь знает причину этого?

Источник: https://stackoverflow.com/questions/781 ... al-network
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»