Назад | Перейти на главную страницу

Дополнительная пара veth Mininet между хостом и сервером

Для тех, кто не знает: Mininet - это инструмент, который позволяет автоматизировать создание нескольких коммутаторов OVS, chroot linux «контейнеров» в качестве хостов и связывает их все вместе с прототипами сетей на базе OVS.

Я пытаюсь создать немного нестандартную среду mininet и застрял на том, как mininet обрабатывает контейнеры и сети. Я понимаю, что когда вы создаете новый хост в mininet, между экземпляром mininet и «хостом» создается пара veth.

На этой диаграмме я обрисовал синим цветом стандартное поведение мининета - пара veth между экземпляром мининета и хостом. Я пытаюсь создать ссылку, отмеченную красным, пару veth между «хостом» mininet и сетевым стеком linux на сервере mininet.

Этот сценарий позволил бы мне запустить контроллер на хосте и обмениваться данными с хост-машиной mininet и остальной частью виртуальной сети.

Как мне создать новую пару veth между chroot-контейнером и хост-машиной?

Вы можете создать новую пару veth с помощью следующих команд.

#!/bin/bash
CONTAINERPID=$(get the pid of the container)
ip link add dev swport1 type veth peer h1-eth1
ip link set dev swport1 up
ip link set netns "${CONTAINERPID}" dev h1-eth1

Это создаст в контейнере «отключенную» ссылку, которую вам нужно будет вывести внутри контейнера и добавить IP-адреса и т. Д.