Да, сработает использование сетевого пространства имен для изоляции двух «одних и тех же» сетей.
Например, у вас есть одно сетевое пространство имен для правой -стороны, со всеми тремя интерфейсами в этом пространстве имен, и, кроме того, у вас есть мост в пространстве имен и отвод для перехвата и пересылки трафика. Добавьте ответвитель и три сетевых адаптера в мост и назначьте 192.168.0.10 только ответвителю. Таким образом, никаких IP-назначений сетевым адаптерам; только к крану. Мост позаботится о направлении всего трафика на 192.168.0.10 с правой стороны -к ответвителю и всего трафика на 192.168.0.{20,21,22} через соответствующие сетевые карты.
Напишите свою программу перехвата для чтения/записи ответвления (уровня 2 )и пересылки пакетов через stdin/stdout (без буферизации ). Также напишите аналогичную простую программу передачи для направления пакетов stdin/stdout в/из крана (другого крана ), который вы поместите в левое -глобальное пространство имен. Программы должны пересылать все пакеты, причем к некоторым из них применяется ваш перехват.
Левое -пространство имен (глобальное пространство имен )организовано соответствующим образом, с мостом для сетевых карт и отводом, а затем добавлены все IP-адреса 192.168.0.{20,21,22} к крану.
Затем используйте программу dpipe
из пакета vde2
(или напишите свою собственную ), чтобы запустить два коннектора ответвлений так, чтобы их stdin/stdout были связаны друг с другом. С dpipe
команда для этого будет примерно следующей:
# dpipe program1 tap1 = ip netns exec RHS program2 tap2
для эффекта, что стандартный вывод программы1 переходит на стандартный ввод программы2, а стандартный вывод программы2 переходит на стандартный ввод программы1. (Я включил условные аргументы имени касания для программ просто для иллюстрации)
В целом, это был бы способ перехватывать и передавать пакеты между двумя пространствами имен без необходимости возиться с трансляциями IP.
Обратите внимание, что установка будет одинаково хорошо работать с одним сетевым адаптером с каждой стороны, а также с переключателем справа. Таким образом, нет необходимости в двух тройках сетевых адаптеров, но можно обойтись всего двумя :один слева и один справа, плюс, конечно, коммутатор для правой -стороны сети, который имеет 4 физических хоста.
sudo -i
)lsblk
lsblk
. Новое устройство (, например. sdc )— это USB-накопитель -. umount /dev/sdXY
(. /dev/sdc1)dd if=/path/to/debian.iso of=/dev/sdX bs=16M
Перейдите на страницу загрузки Debian и скачайте нужный образ. Следуйте инструкциям, чтобы создать загрузочный CD/DVD/USB-накопитель. Ubuntu — это (более или менее )Debian, в основном должны быть доступны те же самые инструменты.