Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Настройки nat Linux

28 марта 2014

Исходной точкой для маскарадинга служит компьютер, который уже подключен к Интернету (в этой главе компьютер mars). Теперь мы должны дать доступ в Интернет и всем другим компьютерам, находящимся в локальной сети.

Компьютеры в локальной сети используют частные IP-адреса: эти адреса расположены в специально зарезервированных адресных пространствах. Теперь адреса являются уникальными только в рамках сети LAN, но не в Интернете. Поэтому интернет-шлюз не может просто переадресовывать запросы страниц в LAN.

Принцип маскарадинга заключается в том, что компьютер-шлюз принимает пакеты, направленные клиентами в Интернет и изменяет их обратные адреса так, как будто эти пакеты были посланы самим компьютером-шлюзом. Такое изменение адреса также называется трансляцией сетевых адресов (NAT).

Теперь пакет с данными может быть направлен по определенному адресу в Интернете. Как правило, через некоторое время из Интернета приходит ответ — например, отображается сайт. Шлюз должен переадресовать ответ тому клиенту, который отправлял соответствующий запрос. Для этого шлюз должен «отгадать» правильный адрес получателя, ведь пакет (в соответствии с изменением адреса) был отправлен самим шлюзом, поэтому и ответ приходит именно на шлюз.

Чтобы обеспечить правильное присвоение адресов пакетам, полученным в ответ, шлюз изменяет не только обратный адрес, но и порт отправителя. Для каждого IP-адреса, находящегося в сети, применяется определенный номер порта. Внутри системы Linux за маскарадинг отвечает система iptables. Это интегрированная в ядро система, предназначенная для обработки IP-пакетов.

Если компьютер-шлюз подключается к Интернету через ADSL-роутер (а не через модем), то это устройство еще раз осуществляет маскарадинг, то есть манипулирует адресами. К счастью, никаких проблем из-за этого не возникает.

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

Понятие о клиенте и сервере.

Далее по тексту компьютер, имеющий выход в Интернет, будет называться сервером, а все остальные компьютеры — клиентами, независимо от того, какие именно функции выполняют эти компьютеры. При осуществлении маскарадинга сервер зачастую будет называться интернет-шлюзом (что более правильно), или интернет-роутером. Это различие между сервером и клиентом справедливо для всей книги, но только в рамках данной отдельной функции! Компьютер, являющийся клиентом относительно своего выхода в Интернет, вполне может быть сервером при выполнении другой функции (например, NFS). На практике очень часто несколько серверных функций реализуется на одном компьютере. Но такая концентрация не является обязательной, а в больших сетях — ради повышения эффективности работы сети — такой концентрации даже следует избегать.

Включение и выключение маскарадинга


Fedora, Red Hat.

В некоторых дистрибутивах функцию маскарадинга можно активизировать в программе конфигурации брандмауэра. В Fedora и Red Hat запустите для этого Система ► Администрирование ► Брандмауэр. На вкладке Надежный интерфейс выберите интерфейс для LAN. Затем убедитесь, что брандмауэр не блокирует трафик, идущий в локальную сеть. Кроме того, выберите на вкладке Маскарадинг интерфейс, через который будет осуществляться подключение к Интернету.

SUSE.

В SUSE необходимо соотнести интерфейс LAN и внутреннюю сеть — для этого используйте функцию Безопасность ► Брандмауэр в модуле YaST. Дополнительно установите на вкладке Маскарадинг одноименный флажок.

Debian, Ubuntu.

В Debian и Ubuntu пока нет специальных конфигурационных инструментов для создания брандмауэра и обеспечения маскарадинга. Но вы можете, например, установить программу FireStarter и активизировать с ее помощью и брандмауэр, и маскарадинг.

Активизация вручную.

Если вы хотите управлять маскарадингом, не используя инструментария, связанного с брандмауэром, выполните две короткие команды:

root# echo 1 > /proc/sys/net/ipv4/ip_forward

root# iptables -A POSTROUTING -t nat -o ethO -j MASQUERADE

Команда echo активизирует в ядре функцию IP-переадресации, которая по умолчанию отключена из соображений безопасности. Почти во всех дистрибутивах вместо echo вы также можете использовать более изящную команду sysctl:

root# sysctl -w net.ipv4.ip_forward=1


Команда iptables определяет правило, в соответствии с которым IP-пакеты, покидающие локальную сеть, должны перенаправляться на интерфейс ethO и претерпевать при этом преобразования в соответствии с правилами NAT. В зависимости от конфигурации доступа к Интернету вам может понадобиться указать и другой интерфейс, например, рррО.

Деактивизация вручную.

Чтобы отключить функции маскарадинга, выполните следующие команды:

<code>root# iptables -t nat -D POSTROUTING -o ethO -j MASQUERADE root# echo 0 > /proc/sys/net/ipv4/ip_forward</code>

Вместо echo в большинстве дистрибутивов вы также можете активизировать sysctl:

root# sysctl -w net.ipv4.ip_forward=0


Активизация маскарадинга с помощью сценария.

Разумеется, вам не придется активизировать маскарадинг при каждом запуске компьютера. Обычно маскарадинг запускается вместе с брандмауэром. Если вы настраивали свой брандмауэр вручную, активизируйте его вместе с функцией маскарадинга с помощью сценария, выполняемого в процессе Init-V.

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

Если вы подключаетесь к Интернету по РРР (например, через ADSL-модем), то можете интегрировать команды маскарадинга в сценарии ip-up и ip-down в /etc/ ppp. Таким образом, маскарадинг активизируется одновременно с подключением к Интернету и автоматически деактивизируется, когда соединение разрывается.

Проблемы


Бесспорно, маскарадинг — это достаточно изящное решение, обеспечивающее общий доступ из локальной сети в Интернет. Но с маскарадингом могут возникать определенные проблемы.

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

В некоторых протоколах предусмотрена возможность передачи IP-адресов не только в IP-пакетах, но и в пакетах с данными (в виде текста ASCII или в зашифрованном виде). Наиболее известный пример такого протокола — FTP. Чтобы FTP работал несмотря на применение маскарадинга, маскарадинговый сервер должен изменять не только IP-адреса пакетов, но и их содержание.
В Linux для множества интернет-служб предусмотрены специальные маскара-динговые модули (например, nf_nat_ftp для FTP). Модули загружаются автоматически. Если они не загружаются, активизируйте их с помощью команды modprobe:

<code>root# modprobe nf_nat_ftp root# modprobe nf_conntrack_ftp
</code>

Если при подключении FTP-клиентов к Интернету по-прежнему возникают проблемы, их можно устранить, переведя работу в пассивный режим. Большинство FTP-клиентов автоматически активизируют этот режим либо предусматривают возможность настроить его вручную. О Если маскарадинговый сервер соединен с Интернетом по ADSL/PPPoE, могут возникать сложности с максимальной длиной пакетов. Чтобы разрешить эту проблему, можно уменьшить во всех пакетах максимальную длину (MTU) либо задействовать на сервере метод MSS Clamping. Для этого необходимо выполнить следующую команду iptables. С ее помощью к слишком большим пакетам применяется MSS Clamping.

root# iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --clamp-mss-to-pmtu

Конфигурация клиента



Для того чтобы клиент мог использовать выход в Интернет, предоставляемый Linux-шлюзом, при сетевой конфигурации клиентов необходимо учесть два момента.

В качестве адреса шлюза нужно указать IP-адрес Linux-шлюза (при топологии

сети, это будет адрес 192.168.0.1).

Адрес сервера имен должен совпадать с IP-адресом сервера имен для Linux-шлюза. Этот адрес присваивается провайдером интернет-услуг и содержится в файле /etc/resolv.conf Linux-шлюза.
Читайте так же:
Основы работы с DHCP и сервером имен






Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать