Опубликован: 21.11.2006 | Доступ: свободный | Студентов: 1811 / 140 | Оценка: 4.09 / 4.00 | Длительность: 38:34:00
Лекция 19:

Маршрутизация IP в ОС Linux

< Лекция 18 || Лекция 19: 123456
Аннотация: В данной лекции: способы подключения к сети в ОС Linux; применение утилит ipfwadm и ipchains; настройка маршрутизации на клиентских рабочих станциях.

В этой лекции

  • Способы подключения к сети в ОС Linux
  • Применение утилиты ipfwadm
  • Применение утилиты ipchains
  • Настройка маршрутизации на клиентских рабочих станциях

В этой книге делается попытка помочь администраторам сетей и почтовых систем установить и настроить полнофункциональный сервер электронной почты под управлением ОС Linux для работы в сети Internet. Возможно, эта лекция вызовет у некоторых из вас недоумение: зачем говорить об IP-маршрутизации, когда книга посвящена работе почтового сервера? Выбирая платформу для почтового сервера, необходимо руководствоваться несколькими критериями. Для обеспечения работы сервера электронной почты в настоящее время существует огромное количество программного обеспечения и операционных систем (хотя ни одна из них не сможет сравнится с ОС Linux). Чаще всего при создании локальной вычислительной сети возникает необходимость подключения ее к сети Internet. В некоторых ОС (таких, например, как Windows NT 4.0) уже заложены функции для подключения локальной сети к Internet. Другие ОС (например, Windows 95) требуют дополнительного программного обеспечения для поддержки этих функций.

Если вы остановили свой выбор на ОС Linux в качестве платформы для почтового сервера, то у вас появится вполне закономерное желание использовать его и как маршрутизатор при подключении рабочих станций к сети Internet. Это действительно возможно. В этой лекции описывается, каким образом сервер на базе ОС Linux доставляет электронную почту и обеспечивает доступ к сети Internet для рабочих станции локальной сети, выступая в качестве маршрутизатора.

Способы подключения к сети в ОС Linux

Подключение отдельных рабочих станций к сети Internet с помощью сервера под управлением ОС Linux вы можете осуществить двумя способами:

  • получить диапазон реальных IP-адресов и использовать в качестве маршрутизатора сервер на базе ОС Linux;
  • воспользоваться диапазоном общедоступных IP-адресов и использовать сервер на базе ОС Linux для преобразования IP-адресов (маскарадинга).

В первом случае необходимо, чтобы каждому устройству в сети (каждой рабочей станции) был присвоен реальный IP-адрес, при этом должна быть правильно настроена маршрутизация вашей сети в сеть Internet. Тогда сервер под управлением ОС Linux выступает в роли обычного маршрутизатора IP-пакетов из локальной сети через узел провайдера в сеть Internet.

Получить блок IP-адресов можно двумя путями: обратившись в сетевой информационный центр Network Information Center (NIC) или арендуя их у провайдера сети Internet. Во втором случае провайдер выделяет блок IP-адресов из своего адресного пространства, которое он, в свою очередь, получает в NIC. Регистрация блока IP-адресов в сетевом информационном центре довольно дорогостоящее мероприятие. В последнее время стали появляться слухи о том, что в сетевом информационном центре практически не осталось свободных блоков IP-адресов, так как некоторые организации зарегистрировали большие блоки IP-адресов и не используют их. Как правило, провайдеры сети Internet предоставляют своим клиентам блок IP-адресов из собственного диапазона. К сожалению, если в вашей сети предполагается использование более 5–6 рабочих станций, то такая схема выделения IP-адресов вам не подойдет, так как провайдеры обычно не выдают крупные блоки IP-адресов.

Чаще всего на практике встречается второй способ подключения клиентов к сети. В локальной сети назначаются IP-адреса из общедоступного диапазона — 192.168.0.0. Все рабочие станции в сети устанавливают сетевые соединения с сервером на базе ОС Linux, используя адреса именно из этого диапазона. Однако устройства, которые имеют общедоступный IP-адрес, не могут работать напрямую в сети Internet. Диапазоны адресов корпоративной сети были специально разработаны для использования во внутренних сетях, не имеющих соединения с сетью Internet.

Однако на базе сервера под управлением ОС Linux можно выполнять преобразование или подстановку IP-адресов (маскарадинг). Это делается следующим образом. При подключении сервера на базе ОС Linux к провайдеру Internet ему статически или динамически назначается реальный IP-адрес. Главная уловка заключается в том, что IP-адрес любой рабочей станции в сети можно преобразовать с помощью механизма маскарадинга в реальный IP-адрес, полученный сервером на базе ОС Linux при необходимости послать пакет в сеть Internet. Хост в сети Internet, принявший пакет, посылает ответный пакет на адрес сервера под управлением ОС Linux. Далее Linux-сервер должен произвести обратное преобразование IP-адреса и доставить пакет на соответствующую рабочую станцию в локальной сети.

На базе почтового сервера под управлением ОС Linux можно реализовать оба способа подключения клиентов к сети. В последующих разделах дается описание этих способов.

Локальная сеть с блоком реальных IP-адресов

Если для вашей локальной сети получен блок реальных IP-адресов, то, естественно, преобразование адресов не потребуется. В этом случае сервер под управлением ОС Linux выполняет функцию маршрутизации пакетов между локальной сетью и Internet. На рис.19.1 представлен пример подключения рабочей станции к сети Internet с использованием в качестве маршрутизатора сервера под управлением ОС Linux.

Подключение к сети Internet рабочих станций с реальными IP-адресами

Рис. 19.1. Подключение к сети Internet рабочих станций с реальными IP-адресами

При такой схеме подключения любой хост в сети Internet может посылать IP-пакеты прямо на рабочую станцию в локальной сети, так как сеть, в которой она находится, имеет реальный адрес в Internet. Для того чтобы сервер под управлением ОС Linux мог работать в режиме маршрутизатора IP-пакетов, этот режим должен быть разрешен на уровне ядра операционной системы. На рис.19.1 клиент локальной сети с IP-адресом 5.6.8.2 устанавливает соединение с удаленным хостом 1.2.3.4. Когда в качестве маршрутизатора выступает локальный почтовый сервер, то этот процесс выглядит так.

  • Клиент посылает пакет на удаленный хост с адресом 1.2.3.4.
  • Локальный почтовый сервер пересылает этот пакет на сервер провайдера, указывая в качестве отправителя пакеты рабочую станцию с адресом 5.6.8.2.
  • Сервер провайдера указывает маршрут для пакета на хост с адресом 1.2.3.4 и возвращает ответ на адрес 5.6.8.2.
  • Удаленный хост принимает пакет и посылает ответ на адрес 5.6.8.2.
  • Сервер провайдера обнаруживает на входе пакет, предназначенный для рабочей станции с адресом 5.6.8.2, и пересылает его в соответствующую сеть.
  • Локальный почтовый сервер, который одновременно выполняет функции маршрутизатора, обнаруживает пакет, адресованный рабочей станции 5.6.8.2, и направляет его туда.

Если в ядре не разрешена пересылка IP-пакетов, то его нужно перекомпилировать.

Чтобы определить, разрешен ли режим пересылки IP-пакетов, обратитесь к файлу /proc/sys/net/ipv4/ip_forward. Установив значение файла ip_forward в '1' вы разрешите пересылку IP-пакетов. Это выполняется с помощью команды, заданной пользователем с правами root:

echo '1' > /proc/sys/net/ipv4/ip_forward

Замечание

В связи с ростом популярности протокола TCP/IP и механизма преобразования адресов (маскарадинга), в большинство современных дистрибутивов ОС Linux пересылка IP включена по умолчанию. Если в имеющейся версии ядра ОС Linux поддержка пересылки IP отсутствует, то необходимо включить ее и перекомпилировать ядро системы. Более детально процесс конфигурирования ядра ОС Linux описан в других книгах издательства Sams Publishing.

Предупреждение

При внесении каких-либо изменений в ядро операционной системы будьте предельно осторожны. В некоторых случаях внесенные вами изменения могут привести к невозможности загрузки системы.

< Лекция 18 || Лекция 19: 123456