Linux network инструкция администратора

    778b1c86   

Маршрутизация через шлюз (Gateway)


В предыдущем разделе я рассмотрел только случай введения хоста с единственным Ethernet-интерфейсом. Достаточно часто приходится сталкиваться с сетями, соединенными с помощью gateway. Этот gateway может просто связывать два или больше Ethernet, а может обеспечивать связь с внешним миром (например, с Internet). Чтобы использовать сервис gateway, вы должны обеспечить сетевому уровню дополнительную информацию о маршрутизации.


Маршрутизация через шлюз (Gateway)

В предыдущем разделе я рассмотрел только случай введения хоста с единственным Ethernet-интерфейсом. Достаточно часто приходится сталкиваться с сетями, соединенными с помощью gateway. Этот gateway может просто связывать два или больше Ethernet, а может обеспечивать связь с внешним миром (например, с Internet). Чтобы использовать сервис gateway, вы должны обеспечить сетевому уровню дополнительную информацию о маршрутизации.

Например, Ethernet-сети Virtual Brewery и Virtual Winery связаны через такой gateway, а именно хост vlager. Предположим, что vlager уже был отконфигурирован, и нам осталось только добавить новую запись в таблицу маршрутизации vstout, которая сообщает его ядру, что он может достичь всех хостов сети Winery через vlager. Соответствующее описание маршрута показано ниже. Ключевое слово gw сообщает, что следующий аргумент обозначает gateway:

# route add wine-net gw vlager

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

Этот пример описывает gateway, который только переключает пакеты между двумя изолированными Ethernet-сетями. Теперь предположим, что vlager также имеет соединение с Internet (работающее через дополнительную SLIP-связь). Тогда хотелось бы, чтобы пакеты для любой сети, отличной от Brewery, передавались vlager. Это может быть выполнено с помощью установки gateway по умолчанию для vstout:

# route add default gw vlager

Сетевое имя default (по умолчанию) связано с адресом 0.0.0.0, что обозначает маршрут, установленный по умолчанию. Вы не должны добавлять это имя к /etc/networks, потому что это построено в route.

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



Содержание раздела