У меня есть 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 – в отличие от маршрутизации, которая является основной функцией маршрутизатора.