LINUX.ORG.RU
ФорумAdmin

Debian, пять сетевух из одной. Как?


0

2

приветствую глубокоуважаемый олл.

Знаю что ответ есть, но нащупать не получается.

Надуманная предистория чтобы понять задачу: Есть сеть с управляемым коммутатором и 5 vlan. На сервере 5 vlan адаптеров, каждый со своими счетчиками статистику которых снимает vnstat. В результате ведется статистика по каждому vlan.
Коммутатор СЛОМАЛСЯ. Теперь надо пусть небезопасно но просто выпустить все vlan в один ethernernet сегмент. Вариант с alias не подходит по двум причинам: 1. Не будет счетчиков на каждый vlan, 2. Один сегмент как demilitarized и доступ к этому сегменту идет через NAT но вопрос NAT между alias это хоть и решаемая но отдельная история.

Хочется все сделать с минимальными изменениями, чтобы при замене коммутатора опять привести все в вариант с tagged vlan. Весь гугль умучал но не нашел решения подобной задачи, хотя в свое время решал эту задачу, но не помню имя того средства.
Причем решал прямо из /etc/network/interfaces

Не в первый раз задаю здесь этот вопрос, но знающего человека пока не нашел :(
Решил попытать счастья еще раз.

С уважением,
Олег.

★★★

Ну не ставить же 5 сеетвых плат включенных в один коммутатор.

В общем если коротко, нужна альтернатива 5 сетевым платам включенным в 1 коммутатор :(

нужна наиболее простая альтернатива, мелькает еще в поиске VDE2 (Virtual Distributed Ethernet) но пока не разобрался.

n0mad ★★★
() автор топика

А не проще ли и быстрее будет дойти до ближайшего компьютерного магазина и купить управляемый коммутатор на замену?

Deleted
()

Кажется вспомнил тот изврат которым пользовался.

На задворках разума мелькнуло: Все было проще и несколько лет назад практически все пользуемые мною машинки под Linux жили в варианте паравиртуализации под XEN и задача решалась выдачей нескольких адаптеров привязанных к одной сетевой плате.

Вот хочется такую же альтернативу на обычном ядре :(
Может все же у кого мелькнет светлая мысль о реализации такого изврата?

n0mad ★★★
() автор топика
Ответ на: комментарий от Deleted

А не проще ли и быстрее будет дойти до ближайшего компьютерного магазина и купить управляемый коммутатор на замену?


Есть еще и финансовые соображения, пока увы не проще.

n0mad ★★★
() автор топика

Ты уже сам упомянул VDE2. Через него можно сделать виртуальный свитч с несколькими портами (в виде TAP-интерфейсов), один из которых объединить мостом с реальным интерфейсом. В результате получишь несколько виртуальных сетёвок, каждую со своим MAC-адресом. Только на большом трафике это всё будет заметно грузить процессор.

Deleted
()
Ответ на: комментарий от Deleted

Типа bingo!

Итог:
/etc/network/interfaces:
-----
auto tap0
iface tap0 inet manual
pre-up tunctl -t tap0
up ifconfig tap0 up
down ifconfig tap0 down

auto tap1
iface tap1 inet static
pre-up tunctl -t tap1
up ifconfig tap1 up
down ifconfig tap1 down
address 192.168.10.7
netmask 255.255.255.0

auto br0
iface br0 inet dhcp
bridge_ports eth0 tap0
post-up vde_switch -s /tmp/switch1 -tap tap0 -tap tap1 -d
-----

После этого tap1 с адресом соединен с tap0 который в бридже и не имеет своего адреса. Жаль что бридж интерфейсы сами не могут иметь адреса. Скажем br0 с определенным ip будучи включенным в бридж с eth0 не умеет видеть узлы своей сети включенные в eth0. Только вот такой изврат:
eth0 - bridge - tap0 - vde - tap1
Меньшее количество сущностей не получается :(

Впрочем задача решена, пусть не совсем идеально но решена.
Одна сеть (локальная) выдает адрес по dhcp интерфейсу br0
Другой адаптер смотрит в wan через адаптер tap1
Соединяется это бриджем eth0-tap0.
При этом tap0 живет в виртуальном свитче.
В нем же живет и tap1 с WAN адресом.

В результате имеем роутер br0/tap1 смотрящий tap1 в WAN а br0 в LAN
На алиасах в данном случае можно было построить но преследовался спортивный интерес на перспективу.

С уважением,
Олег.

n0mad ★★★
() автор топика
Ответ на: Типа bingo! от n0mad

Жаль что бридж интерфейсы сами не могут иметь адреса.

Что?

$ /sbin/ifconfig 
br0       Link encap:Ethernet  HWaddr 00:0e:2e:c2:73:c5  
          inet addr:192.168.0.252  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:2eff:fec2:73c5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9501730513 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5785240777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12563280084974 (11.4 TiB)  TX bytes:983797125403 (916.2 GiB)

br0:1     Link encap:Ethernet  HWaddr 00:0e:2e:c2:73:c5  
          inet addr:192.168.226.254  Bcast:192.168.226.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Скажем br0 с определенным ip будучи включенным в бридж

Не распарсил... Бридж в бридже? Так же вроде не работает

YAR ★★★★★
()
Ответ на: комментарий от YAR

Не так выразился.


Скажем br0 с определенным ip будучи включенным в бридж

Не распарсил... Бридж в бридже? Так же вроде не работает


Планировалось написать tap0. Бридж в бридже действительно отказывается работать :)
Не правильно еще назвал понятие. «бридж интерфейс» это сам интерфейс который включается в бридж, он тогда теряет возможность быть обычным интерфейсом и система с ним уже не работает. Причем даже принудительно можно навесить адрес но работать оно не будет. Скажем br0 из интерфейсов eth0 и tap0. Физически на eth0
есть 192.168.1.1 и tap0 имеет адрес 192.168.1.2 но связи с 1.1 не имеет :(
Вот если его включить в VDE и tap1 включить в VDE и дать адрес - тогда работает...
но блин нафига эти 2 хопа...

С уважением,
Олег.

n0mad ★★★
() автор топика

Взять коммутатор-мыльницу на RTL8309 (если гигабит непринципиально), распаять еепром в ней, в еепром зашить вланы, и получить всеобщее счастье без кучи костылей. А если еще i2c наружу вывести для перешивки без вскрытия - получите эдакий недо-управляемый свич из говна и палок подручных материалов.

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

NiTr0 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.