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

Коробки "OUT1" и "OUT2" хотят общаться друг с другом. Это все, что я знаю о них, кроме того факта, что им нужен разъем GigE Cat5e, и что они не будут использовать более 50 Мбит / с (в любом случае, в дуплексном режиме). Я не знаю, какие ОС они запускают (это могут быть Arduinos или Crays, насколько я знаю). Я не знаю, будут ли они использовать IPv4 или IPv6 (или оба), и я не знаю, какой диапазон адресов они используют, и я не знаю, какие протоколы более высокого уровня они могут использовать. OUT1 и OUT2 могут связываться друг с другом любым желаемым способом.

Насколько я знаю, OUT1 и OUT2 могут быть портами на коммутаторах, к которым подключены десятки машин, и все они хотят общаться друг с другом любым желаемым способом.

Единственные доступные подключения - это блоки Linux "A" и "B" в моей сети, к которым были добавлены выделенные интерфейсы для OUT1 и OUT2 для подключения.

Мне нужно направить весь трафик между OUT1 и OUT2, и по умолчанию ни один из моих интерфейсов не должен иметь IP-адрес (просто выглядеть как простой коммутатор).

Пока что это звучит как работа для моста (brctl , без набора IP-адресов) в сочетании с некоторой формой туннелирования между A и B, хотя я не уверен, какой туннель будет самым простым.

Вот красивая картинка:

+------+   +---+    /\/\/\/\/\/\/\/\/\/\    +---+   +------+
| OUT1 |---| A |---<My Internal network >---| B |---| OUT2 |
+------+   +---+    \/\/\/\/\/\/\/\/\/\/    +---+   +------+
             \                                / 
              \_____ Looks like a cable _____/

Для дальнейшего обсуждения, скажем, внутренние интерфейсы на A & B - eth0 , а внешние интерфейсы (к OUT1 и OUT2) - eth1 .

Но подождите, это еще не все!

Владельцы OUT1 и OUT2 хотели бы настроить поведение A и B и путь между ними для таких вещей, как QoS. При запросе (через автоматически анализируемое электронное письмо) нам необходимо временно предоставить доступ к веб-серверу (работающему на другом компьютере) на А и В с IP-адресом IPv4, с которым могут взаимодействовать OUT1 и OUT2. В электронном письме-запросе будет указан IPv4-адрес для использования. Для OUT1 и OUT2, похоже, что веб-сервер работает на "коммутаторе".

Еще одна красивая картинка:

+------+   +---+    /\/\/\/\/\/\/\/\/\/\    +---+   +------+
| OUT1 |---| A |---<My Internal network >---| B |---| OUT2 |
+------+   +---+    \/\/\/\/\/\/\/\/\/\/    +---+   +------+
                             |
                           +---+
                           | C | webserver
                           +---+

Сам по себе веб-сервер и анализ электронной почты работают нормально, но его появление в точках A и B при желании, а затем исчезновение - проблема.

Я догадываюсь, что brctl не подходит для этой задачи (по крайней мере, не в одиночку). Поиски говорят мне, что нам может понадобиться что-то вроде возможности ip команды macvlan либо в дополнение, либо вместо. Но это только предположение из довольно невежественного поиска.

Два вопроса:

  1. Как я должен реализовать возможность переключения между внешними интерфейсами на A & B?

  2. Как я должен заставить веб-сервер появляться и исчезать на внешних интерфейсах A & B?

1 ответ1

0

Вы не описали свои внешние подключения, но я предполагаю, что вам нужно будет использовать VPN, а не VLAN или MPLS. Я не играл с MPLS, но, как и VLANS, я понимаю, что они существуют ниже уровня TCP/IP, и маловероятно, что ваш провайдер будет передавать этот трафик без вашей оплаты.

Я почти уверен, что использование OpenVPN с драйверами TAP сделает то, что вы ищете (но я не использовал это раньше).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .