Маршрутизация сетевых пакетов через соединение 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 добавьте маршрут к
через . В блоке 2 добавьте маршрут к
через .
(Также возможно оставить ненумерованными интерфейсы ppp и настроить маршруты через интерфейс, например, используя dev ppp0
ключевое слово вместо via <addr>
в линуксе Это, вероятно, не рекомендуется.)
Но что более важно, устройства в этих сетях должны знать, что они должны использовать box 1 и box2 в качестве шлюзов к противоположной сети. (Однако им не обязательно использовать box 1 и box2 в качестве шлюзов по умолчанию. Если две сети уже имеют свои собственные шлюзы по умолчанию, вместо этого настройте маршруты через box1/box2.)
Если связь между net1 и net2 должна быть прозрачной на уровне Ethernet (например, если вы отправляете не IP-трафик), то устройства не могут быть маршрутизаторами - они должны действовать как мосты. Настроить мост между двумя интерфейсами просто; проблема, однако, заключается в том, что "обычный" PPP несет только трафик сетевого уровня, а не необработанные кадры Ethernet.
Таким образом, для моста вам понадобится либо специальный режим PPP для Ethernet; или, возможно, MPLS поверх PPP (который, я уверен, существует); или создайте туннель, такой как "gretap" или "erspan" поверх IP-сети (который имеет некоторые издержки). Все варианты возможны, но требуют знания того, что поддерживается box 1 и box2 - в отличие от маршрутизации, которая является основной функцией маршрутизатора.