Виртуальные локальные сети в памяти для нескольких виртуальных машин на одном хосте

С POSIX awk:

awk '!(FNR%3==1)' <file

С POSIX sed:

sed -e '1d;n;n;d' <file

С GNU sed:

sed -e '1~3d' <file
0
11.01.2018, 17:45
1 ответ

В большинстве случаев, если вам не нужна фактическая изоляция групп машин, вам не нужно делать ничего особенного. Стандартный подход с использованием мостового интерфейса для подключения виртуальных машин к сети хоста в большинстве случаев работает просто отлично, даже если на хосте не требуется реальное сетевое оборудование. На самом деле интерфейс моста в этой стандартной настройке существует исключительно для того, чтобы диспетчеру виртуальных машин было к чему подключать виртуальные сетевые интерфейсы для виртуальных машин, потому что напрямую выставить виртуальную машину в сеть без какого-либо посредника довольно сложно. слой.

В качестве более конкретного примера, вот отрывок из вывода ip link showна одной из моих систем, где я запускаю кучу виртуальных машин:

6: br0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether fe:20:b5:bd:42:4b brd ff:ff:ff:ff:ff:ff
7: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast aster br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:98:c5:54:95:2a brd ff:ff:ff:ff:ff:ff
8: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast aster br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:97:56:bf:0c:81 brd ff:ff:ff:ff:ff:ff

В этой системе интерфейс программного моста br0служит сегментом сети, к которому подключаются все виртуальные машины, обеспечивая функциональные возможности, эквивалентные аппаратному сетевому коммутатору.Каждый из tapинтерфейсов автоматически создается QEMU для каждой виртуальной машины, которую я запускаю (Я перечислил здесь только два таких интерфейса, но у меня регулярно есть по крайней мере дюжина ), когда я использую опцию -net bridgeдля QEMU и действует как кабель, соединяющий виртуальную сетевую карту ()в виртуальной машине с интерфейсом моста. В данном конкретном случае у меня фактически нет никакого физического оборудования, подключенного к этому интерфейсу моста (, так что это то, что иногда называют «плавающим» или «виртуальным» мостом ), и вместо этого я использую правила маршрутизации в хост-системе для обеспечить доступ к внешней сети для виртуальных машин. Если бы я хотел изолировать пару виртуальных машин от остальных, я мог бы легко создать новый мостовой интерфейс и указать QEMU подключить их к нему вместо br0.

В вашем случае, основываясь на тегах вопроса, вы, похоже, хотите использовать VirtualBox, который имеет аналогичную функциональность с адаптерами «Внутренняя сеть» и «Только хост -». Первый работает так же, как настройка моста, о которой я говорил выше, за исключением того, что сам VirtualBox предоставляет мост вместо ОС, и он предоставляет возможность действовать как DHCP-сервер. Второй — это буквально точка -— точка -между виртуальной машиной и хост-системой. это не очень полезно для экспериментов с низкоуровневой -конфигурацией, но очень полезно для экспериментов с VPN (, поскольку ссылка идет только на хост, вы можете быть уверены, что любые две виртуальные машины общаются только по VPN-каналу ). ].

Теперь, хотя все это прекрасно подходит для экспериментов с конфигурацией сети, это не самый эффективный вариант. В зависимости от точных особенностей типа эксперимента, который вы хотите провести, вы можете обнаружить, что либо Open vSwitch , либо ns -3 лучше подходят для того, что вы хотите сделать..

1
28.01.2020, 02:32

Теги

Похожие вопросы