Alt Linux 5.0 Ковчег: Текст лекций. Шашков Б.Д. - 150 стр.

UptoLike

Составители: 

работать, поэтому в примере используется IP-адрес. Обо всём этом недоверенности
передаваемого сертификата и о несоответствии доменного имени) и сообщает навигатор.
Для того, чтобы история впоследствии не повторилась, сертификат надо запасти на
будущее (это называется «подтвердить исключение безопасности».
Теперь пару слов о «настройке сети для класса». Собственно, ничего таинственного
в них нет, нам необходимо воспользоваться двумя службами сервера: службой
автоматизации клиентских настроек DHCP (Dynamic Host Configuring Protocol) и
межсетевым экраном с маршрутизацией.
Сначала о маршрутизации. Вообще говоря, свойство быть маршрутизатором
принимать чужие пакеты и перенаправлять их через другой сетевой интерфейс ядру
Linux присуще, однако его следует включать специальной настройкой ядра sysctl
(net.ipv4.ip_forward; в дистрибутивах Пятой Платформы можно также выставить эту
настройку в единицу в файле /etc/net/sysctl.conf). В сервере она включена по умолчанию,
но задачу «настройки сети для класса» это может решить только в случае, когда всем
компьютерам раздаются настоящие IP-адреса. Точнее говоря, когда эти адреса
обрабатываются не нашим сервером, а где-то дальше, сервер же попросту маршрутизирует
пакеты от абонентов своей локальной сети. В нашем случае это не так: диапазон адресов в
локальной сети был выбран вполне произвольно, следовательно, нам и отвечать за то,
чтобы в дальнейшем своём путешествии по сети Интернет эти пакеты были признаны
годными.
Просто так пакеты из настраиваемой локальной сети годными признаны не будут:
они принадлежат одному из так называемых «внутренних» диапазонов адресов, именно:
10.0.0.0/8. Пакеты с такими адресами в глобальной сети недопустимы, задача сервера
преобразовать их во что-либо пригодное. Например, воспользоваться умением
межсетевого экрана Linux IPTables осуществлять преобразование сетевых адресов
(NAT, Network Address Translation). Суть метода в том, что при пересылке пакетов «в
большую сеть» адрес отправителя в них подменяется на адрес сервера (этот адрес,
очевидно, работоспособный). Если предполагается обмен данными, то каждый сеанс
обмена запоминается межсетевым экраном (например, для TCP-соединения запоминается
адрес и порт настоящего отправителя, адрес и порт получателя, а также порт отправителя,
выданный сервером в результате преобразования) и, проанализировав входящий трафик,
сервер принимает решение об обратном преобразовании.
Команда iptables-save на сервере покажет, что преобразование адресов происходит
в правиле таблицы nat подсистемы IPTables -A POSTROUTING -o breth0 -j
MASQUERADE. Правило означает буквально, что после того, как принято решение о
маршрутизации пакета (пакет предназначен куда-то вовне, и передаётся через сетевой
интерфейс breth0), содержимое пакета обрабатывается специальной цепочкой-действием
MASQUERADE. В отличие от цепочки-действия NAT, преобразующий адрес в некоторый
заранее заданный, MASQUERADE сначала получает адрес соответствующего сетевого
интерфейса, и преобразует именно в него. Это потребляет чуть больше ресурсов, чем NAT,
зато правильно работает в ситуации, когда этот адрес настраивается динамически (как в
нашем примере).
В Центре управления системой всё это включается, когда в соответствующей
настройке межсетевого экрана («брандмауэра») переключатель «режим работы»
выставляется из положения «роутер» (маршрутизатора) в положение «шлюз». Следует
отметить, что маршрутизатору в чистом виде всё равно, из какого сетевого интерфейса в
какой перекладывать несвои пакеты, а вот преобразование адресов необходимо только на
выходе в глобальную сеть (и обратное на входе оттуда).
Сервер не может самостоятельно определить, где глобальная сеть, а где какая-то
другая. С его точки зрения существует два вида интерфейсов: внешние и внутренние. За
внутренним интерфейсом лежит администрируемая локальная сеть, за внешним
«внешний мир». В режиме «шлюз» сервер будет преобразовывать адреса при выходе
работать, поэтому в примере используется IP-адрес. Обо всём этом (о недоверенности
передаваемого сертификата и о несоответствии доменного имени) и сообщает навигатор.
Для того, чтобы история впоследствии не повторилась, сертификат надо запасти на
будущее (это называется «подтвердить исключение безопасности».
       Теперь пару слов о «настройке сети для класса». Собственно, ничего таинственного
в них нет, нам необходимо воспользоваться двумя службами сервера: службой
автоматизации клиентских настроек DHCP (Dynamic Host Configuring Protocol) и
межсетевым экраном с маршрутизацией.
       Сначала о маршрутизации. Вообще говоря, свойство быть маршрутизатором —
принимать чужие пакеты и перенаправлять их через другой сетевой интерфейс — ядру
Linux присуще, однако его следует включать специальной настройкой ядра sysctl
(net.ipv4.ip_forward; в дистрибутивах Пятой Платформы можно также выставить эту
настройку в единицу в файле /etc/net/sysctl.conf). В сервере она включена по умолчанию,
но задачу «настройки сети для класса» это может решить только в случае, когда всем
компьютерам раздаются настоящие IP-адреса. Точнее говоря, когда эти адреса
обрабатываются не нашим сервером, а где-то дальше, сервер же попросту маршрутизирует
пакеты от абонентов своей локальной сети. В нашем случае это не так: диапазон адресов в
локальной сети был выбран вполне произвольно, следовательно, нам и отвечать за то,
чтобы в дальнейшем своём путешествии по сети Интернет эти пакеты были признаны
годными.
       Просто так пакеты из настраиваемой локальной сети годными признаны не будут:
они принадлежат одному из так называемых «внутренних» диапазонов адресов, именно:
10.0.0.0/8. Пакеты с такими адресами в глобальной сети недопустимы, задача сервера —
преобразовать их во что-либо пригодное. Например, воспользоваться умением
межсетевого экрана Linux — IPTables — осуществлять преобразование сетевых адресов
(NAT, Network Address Translation). Суть метода в том, что при пересылке пакетов «в
большую сеть» адрес отправителя в них подменяется на адрес сервера (этот адрес,
очевидно, работоспособный). Если предполагается обмен данными, то каждый сеанс
обмена запоминается межсетевым экраном (например, для TCP-соединения запоминается
адрес и порт настоящего отправителя, адрес и порт получателя, а также порт отправителя,
выданный сервером в результате преобразования) и, проанализировав входящий трафик,
сервер принимает решение об обратном преобразовании.
       Команда iptables-save на сервере покажет, что преобразование адресов происходит
в правиле таблицы nat подсистемы IPTables -A POSTROUTING -o breth0 -j
MASQUERADE. Правило означает буквально, что после того, как принято решение о
маршрутизации пакета (пакет предназначен куда-то вовне, и передаётся через сетевой
интерфейс breth0), содержимое пакета обрабатывается специальной цепочкой-действием
MASQUERADE. В отличие от цепочки-действия NAT, преобразующий адрес в некоторый
заранее заданный, MASQUERADE сначала получает адрес соответствующего сетевого
интерфейса, и преобразует именно в него. Это потребляет чуть больше ресурсов, чем NAT,
зато правильно работает в ситуации, когда этот адрес настраивается динамически (как в
нашем примере).
       В Центре управления системой всё это включается, когда в соответствующей
настройке межсетевого экрана («брандмауэра») переключатель «режим работы»
выставляется из положения «роутер» (маршрутизатора) в положение «шлюз». Следует
отметить, что маршрутизатору в чистом виде всё равно, из какого сетевого интерфейса в
какой перекладывать несвои пакеты, а вот преобразование адресов необходимо только на
выходе в глобальную сеть (и обратное — на входе оттуда).
       Сервер не может самостоятельно определить, где глобальная сеть, а где какая-то
другая. С его точки зрения существует два вида интерфейсов: внешние и внутренние. За
внутренним интерфейсом лежит администрируемая локальная сеть, за внешним —
«внешний мир». В режиме «шлюз» сервер будет преобразовывать адреса при выходе