У меня есть случай, когда я создал сеть Docker Macvlan (режим моста по умолчанию) и подключил эту сеть к работающему контейнеру Docker (например, C1). Таким образом, контейнер будет иметь новый интерфейс macvlan (например, eth1).
docker network create -d macvlan --subnet=172.16.16.0/24 --gateway=172.16.16.1 -o parent=ens224 macvlan-ens224
docker network connect macvlan-ens224 C1
Внутри контейнера C1 я создал интерфейс macvtap, используя интерфейс macvlan (eth1) и назначенный IP.
ip link add link eth1 name mymacvtap0 type macvtap mode private
ip addr add 172.17.17.2/24 dev mymacvtap0
ip link set up dev mymacvtap0
Теперь, когда я отправляю ping на некоторый IP-адрес подсети 172.17.17.2/24 изнутри, контейнер ARP-запроса транслируется с использованием исходного MAC-адреса интерфейса контейнера macvtap. Целевой IP отправляет ответ ARP. ARP-ответ достигает физического интерфейса ens224 (видно из tcpdump). Но Ответ никогда не достигает внутри контейнера.
Кто-то, пожалуйста, укажите, что мне здесь не хватает?