Я использую некоторые контейнеры frr (маршрутизация со свободным диапазоном) и ceos (Arista) на «Ubuntu Docker Host», который работает в Virtual Box на Windows 10.
Я создал сеть Macvlan (net3)и привязал его к enp интерфейсу Ubuntu и подключил к нему мои контейнеры. Однако я не могу получить доступ к своим контейнерам, используя их интерфейсы, подключенные к сети Macvlan. Я прочитал о некоторых ограничениях сетевых пространств между хостом и контейнерами и увидел, что тип сети Macvlan является решением для преодоления этих ограничений. Однако это не сработало.
Поскольку мой контейнер представляет собой маршрутизатор с несколькими интерфейсами, я ожидал, что смогу подключить свою новую сеть net3 к своему контейнеру. Он будет выглядеть как новый новый интерфейс (так и было), и когда я назначу этому интерфейсу IP-адрес из моей домашней сети, мой маршрутизатор сможет напрямую взаимодействовать с внешним миром, используя IP-адрес этого интерфейса, и обходить любыемежсетевой экран, NAT и т. д.
Я знаю, что мы можем использовать мостовые сети, подключенные к сети по умолчанию docker0 и которые затем будут NAT исходящие соединения из контейнера и принимать входящие соединения, если мы публикуем порт и т. д. Однако я хочу, чтобыиметь контейнер с 2 интерфейсами, где один интерфейс находится в мосте docker0, а другой подключен к домашней сети с IP-адресом из домашней сети, что полностью откроет его для внешней среды, как физическая машина или мой док-хост Ubuntu VM.