У меня есть две виртуальные машины OpenWrt (18.06.4) (A и B) в VirtualBox, и я пытаюсь отправлять сообщения по схеме издатель-подписчик, используя ZeroMQ. A является сервером, B является клиентом.
Я использую следующий код:
, и он работает на моем компьютере, поэтому я решил попробовать его на виртуальных машинах.
Мне пришлось скомпилировать оба (используя SDK), чтобы я мог выполнить их на виртуальных машинах.Я скомпилировал два раза, изменив одну незначительную деталь:
1) клиент, прослушивающий IP 10.0.1.4 сервера
2) клиентпрослушивание IP 192.168.56.10 сервера
Обе версии были протестированы на виртуальных машинах, и в обеих сервер отправляет сообщения (функция отправки выполняет и печатает отправленное сообщение), но клиент никогда не получает сообщение(сообщение всегда пустое).
О конфигурации моей сети.В VirtualBox у меня есть сеть Nat (10.0.1.0/24) и сеть virtualbox (192.168.56.1/24).Обе виртуальные машины A и B имеют адаптер только для хоста (vboxnet0) и сетевой адаптер NAT.Машины могут пинговать друг друга.
Сетевая конфигурация машин следующая:
A
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd03:84ea:bc33::/48'
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.56.10'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
Примечание: IP-адрес сети NAT ('wan') в настоящее время равен 10.0.1.4
B
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fdea:4700:64aa::/48'
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.56.20'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
Примечание: Сеть NATIP ('wan') в настоящее время 10.0.1.5
Ребята, вы знаете, в чем проблема?Нужно ли менять конфигурацию сети внутри каждой виртуальной машины и / или менять адаптеры на VirtualBox?