Могу ли я создать три "ветхих" интерфейса для создания виртуальной локальной сети в Linux?

В Linux с iproute2 Я знал, как создать два veth (Виртуальный Ethernet) NIC и разделил их на два сетевых пространства имен, затем я получил два виртуальных NIC и подключил их виртуальный "кабель".

Теперь я хочу построить локальную сеть, в которой должно быть три сетевых адаптера, каждый из которых имеет один IP-адрес и образует сегмент сети.

Могу ли я использовать veth (или что имеет смысл) для достижения этого?

2 ответа

Решение

vethс всегда приходят парами.

Если вы хотите построить сегмент сети с более чем двумя виртуальными сетевыми картами, вам нужно будет объединить vethс переходом.

Допустим, у нас есть три сетевых пространства имен, давайте назовем их "красным", "зеленым" и "синим", между которыми мы хотим построить сегмент сети. Нам нужно (используемые имена являются произвольными).

  • Выберите одно из пространств имен сети, чтобы удерживать мост, давайте выберем зеленый.
  • Создать два veth пары, veth0/veth1 а также veth2/veth3,
  • Положить veths в пространствах имен сети, veth0 -> "красный" veth1 -> "зеленый" veth2 -> "зеленый" veth3 -> "зеленый"
  • Создать мост br0 в "зеленом" мосту veth1 а также veth2,
  • Назначить IP-адреса / маски veth0 в красном," br0 в "зеленом" и veth2 в синем."

Да, таким образом вы можете создавать произвольно сложные ЛВС. Я регулярно делаю это с помощью нескольких сценариев (помогает запуск xterm или двух в каждом сетевом пространстве имен). Обратите внимание, что вам нужны маршруты в каждом пространстве имен сети.

Есть также дюжина или около того приложений, которые имитируют ЛВС таким образом и дают вам графический интерфейс для их создания и управления ими.

редактировать

Вот список с более чем дюжиной приложений; поиск в Google, вероятно, будет больше.

Другие вопросы по тегам