Маршрутизация через PPP-линию
После установки сетевого интерфейса, pppd установит маршрут только к своему серверу. Если удаленный хост находится в локальной сети (LAN), вы обязательно захотите соединяться с хостами в ней, то есть должен быть установлен сетевой маршрут.
Маршрутизация через PPP-линию
После установки сетевого интерфейса, pppd установит маршрут только к своему серверу. Если удаленный хост находится в локальной сети (LAN), вы обязательно захотите соединяться с хостами в ней, то есть должен быть установлен сетевой маршрут.
Мы уже видели, что pppd можно попросить уствновить заданный по умолчанию маршрут, используя опцию
defaultroute. Эта опция очень полезна, если PPP-сервер, с которым вы связались, будет действовать как Internet-шлюз.
Обратный случай является относительно простым: ваша система действует как шлюз для единственного хоста. Например, возьмите некоторых служащих в Virtual Brewery, чья локальная машина называется oneshot. При соединении с vlager через PPP, она использует адрес в подсети Brewery. В vlager мы можем теперь дать pppd опцию proxyarp, которая установит ARP-запись для oneshot. Это автоматически сделает oneshot доступным для всех в Brewery и в Winery.
Однако, вещи далеко не всегда так просты, как иногда кажется, например, когда Вы соединяете две LAN-сети. Это обычно требует добавления специального сетевого маршрута, потому что эти сети могут иметь свой маршрут по умолчанию. Кроме того, если на обоих машинах использование связи PPP задано как маршрут по умолчанию, получится цикл, где блоки к неизвестным адресатам будут перебрасываться между машинами до окончания их времени жизни.
Как пример, предположим, что Virtual Brewery открывает ветвь в каком-нибудь другом городе. Подразделение запускает собственную сеть Ethernet, используя сетевой адрес 172.16.3.0, который является подсетью 3 сети Brewery класса B. Они хотят соединиться с Brewery Ethernet по PPP для того, чтобы модифицировать базы данных заказчиков и т.п. Снова vlager действует как шлюз, другая машина называется vbourbon и имеет IP-адрес 172.16.3.1. Такая сеть показана в приложении A.
Когда vbourbon соединится с vlager, она примет заданный по умолчанию маршрут к vlager как обычно. На vlager мы должны установить сетевой маршрут для подсети 3, который проходит к vbourbon. Для этого мы используем особенность pppd, которая еще не обсуждалась: команду ip-up. Это программа, размещенная в /etc/ppp, которая будет выполнена после того, как PPP интерфейс будет сконфигурирован. Когда он существует, эта программа вызывается со следующими параметрами
$1 | iface | Используемый сетевой интерфейс, например ppp0 |
$2 | device | Имя используемого последовательного устройства (если используется stdin/stdout, это будет /dev/tty) |
$3 | speed | Скорость устройства бит в секунду |
$4 | local_addr | Локальный адрес IP |
$5 | remote_addr | Удаленный адрес IP |