Маршрутизация сетевых пакетов eth через ppp-соединение

Маршрутизация сетевых пакетов eth через ppp-соединение

У меня есть 2 машины с ppp-соединением через последовательный порт между ними. Они также подключены к отдельным локальным сетям на своих интерфейсах ethernet. Я хочу иметь возможность связи между этими двумя сетями ethernet.

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

Грубая топология выглядит следующим образом:

          eth        ppp(tty)       eth
network1 <----> box1 <-----> box2 <-----> network2

Можно ли этого добиться с помощью простых ip routeкоманд?

решение1

Лучше всего, если net1 и net2 будут действовать как независимые подсети с разными префиксами IP-адресов и отдельными широковещательными доменами.

В этом случае, имея два интерфейса в каждой «коробке», вы получаете практическипростейший вид IP-маршрутизатора.(Просто представьте себе интерфейс «ppp» как третью сеть, соединяющую два маршрутизатора, со своим собственным частным префиксом IP.)

  • Каждый маршрутизатор уже знает, как достичь напрямую подключенных сетей (он получает эту информацию из «маски подсети» или «длины префикса» при настройке IP-адресов на интерфейсах). Им все еще нужны маршруты для удаленных сетей.

  • На устройстве 1 добавьте маршрут к <network2> через <IP-адрес box2.ppp>.

  • На устройстве 2 добавьте маршрут к <network1> через <IP-адрес box1.ppp>.

(Также можно оставить интерфейсы ppp ненумерованными и настроить маршруты через интерфейс, например, используя dev ppp0ключевое слово вместо via <addr>в Linux. Вероятно, это не рекомендуется.)

Но что еще важнее, устройствав пределахэти сети должны знать, что они должны использовать box1 и box2 в качестве шлюзов к противоположной сети. (Им не обязательно использовать box1 и box2 в качестве шлюзовшлюзы по умолчанию, однако. Если в двух сетях уже есть собственные шлюзы по умолчанию, настройте маршруты через box1/box2 там.)


Если связь между net1 и net2 должна быть прозрачной на уровне Ethernet (например, если вы отправляете не-IP-трафик), то устройства не могут быть маршрутизаторами — они должны действовать какмосты. Настроить мост между двумя интерфейсами легко; однако проблема в том, что «обычный» PPP переносит только трафик сетевого уровня, а не необработанные кадры Ethernet.

Поэтому для моста вам понадобится либо специальный режим PPP для Ethernet, либо MPLS через PPP (который, я уверен, существует), либо создать туннель, например, «gretap» или «erspan».наверхуIP-сетей (которые имеют некоторые накладные расходы). Все варианты возможны, но требуют знания того, что поддерживается box1&box2 – в отличие от маршрутизации, которая является основной функцией маршрутизатора.

Связанный контент