Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

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

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

способы распределения нагрузки, не связанные с использованием NAT.

• Расширение адресного пространства. Если в вашем распоряжении имеется лишь ограниченное число IP-адресов, вы можете "спрятать" несколько компьютеров за одним IP-адресом. Такая возможность обычно используется в небольших сетях, подключенных к Internet по коммутируемой линии либо через соединение с широкой полосой пропускания. Если провайдер выделил для сети лишь один адрес, с помощью NAT-преобразования можно обеспечить работу всех компьютеров сети.

Расширение адресного пространства является наиболее частым применением NAT. Данная разновидность NAT-преобразования называется IP-маскировкой. В этом разделе будет рассматриваться именно этот способ использования NAT.

Средства NAT применяются совместно со средствами маршрутизации. В роли маршрутизатора, поддерживающего NAT, может выступать компьютер под управлением Linux. Настройка ядра системы производится с помощью программы

iptables
. Обычно компьютер, предназначенный для выполнения NAT-преобразования, содержит два сетевых интерфейса: посредством одного из них компьютер подключается к Internet, а с помощью другого соединяется с внутренней сетью.

На заметку

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

Для того чтобы лучше понять работу NAT, рассмотрим процесс преобразования адреса с помощью NAT-маршрутизатора. Взаимодействие с сервером, расположенным в Internet, начинается по инициативе клиента (например, Web-броузера), который находится в сети, защищенной с помощью NAT-маршрутизатора. Предположим, что этот клиент пытается обратиться к Web-броузеру по адресу 172.18.127.45. Он генерирует HTTP-запрос; в пакетах, содержащих этот запрос, указывается локальный IP-адрес клиента (предположим, 192.168.9.32). Клиент передает запрос компьютеру, выполняющему роль локального шлюза; этот компьютер осуществляет NAT-преобразование. Получив пакет с запросом к Web- серверу, NAT-маршрутизатор анализирует его содержимое, заменяет IP-адрес источника на свой IP-адрес (допустим, что его адрес 10.34.176.7) и передает пакет по назначению. Web-сервер считает, что пакет поступил с компьютера, выполняющего функции NAT-маршрутизатора, поэтому направляет ему ответ. Получив ответ сервера, NAT-маршрутизатор распознает его как ответ на запрос, переданный с компьютера 192.168.9.32, выполняет обратное преобразование, заменяя адрес назначения в пакете, а затем передает пакет, содержащий ответ, клиенту. Рис. 25.3 иллюстрирует этот процесс. При этом ни клиент, ни сервер не знают о том, что адрес был преобразован средствами NAT, поэтому при использовании NAT-маршрутизатора не требуется изменять конфигурацию компьютеров в сети.

Рис. 25.3. NAT-маршрутизатор изменяет IP-адреса в пакетах

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

Помимо преимуществ, NAT имеет существенные недостатки.

• Автоматически создаваемая защита затрудняет размещение сервера во внутренней сети,

расположенной за NAT-маршрутизатором, и обеспечение внешнего доступа к этому серверу. Чтобы доступ к серверу извне стал возможен, надо использовать перенаправление портов.

• Не все протоколы нормально взаимодействуют с NAT. Иногда IP-адреса используются для обработки содержимого пакетов, в других случаях на обоих концах соединения могут работать серверы. Средства, реализующие NAT в системе Linux, обеспечивают поддержку некоторых протоколов, но если вы используете видеоконференции или средства шифрования, то при обмене с Internet через NAT-маршрутизатор могут возникнуть проблемы.

• Несмотря на то что NAT защищает компьютеры локальной сети, не следует думать, что их безопасность гарантирована. Угрозу для ваших компьютеров могут представлять также вирусы и программы типа "троянский конь", попадающие в систему по другим каналам.

Опции

iptables
для осуществления NAT-преобразования

Средства поддержки NAT в системе Linux содержатся в таблице

nat
, которая уже упоминалась выше. Подобно таблице
filter
,
nat
содержит три цепочки:
PREROUTING
,
POSTROUTING
и
OUTPUT
. Несмотря на совпадение имен, цепочка
OUTPUT
в таблице
nat
отличается от одноименной цепочки в таблице
filter
. Для активизации средств
NAT
надо вызвать две следующие команды:

# iptables -t nat -A POSTROUTING -о внешний_интерфейс– j \

 MASQUERADE

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

На заметку

Для загрузки NAT-модуля ядра перед вызовом

iptables
может потребоваться выполнение команды
modprobe iptable_nat
.

В качестве внешнего интерфейса в первой из двух приведенных команд указывается интерфейс, посредством которого осуществляется соединение с Internet, например

ррр0
или
eth1
. Эта команда указывает Linux на то, что для всего сетевого трафика, проходящего через маршрутизатор, надо выполнить IP-маскировку. Вторая команда разрешает ядру Linux осуществить маршрутизацию (эта команда используется также в маршрутизаторах, не поддерживающих NAT).

При настройке NAT-маршрутизатора обычно включают средства фильтрации пакетов. Несмотря на то что NAT-маршрутизатор надежно защищает компьютеры локальной сети от атаки извне, вам надо защитить сам маршрутизатор, а также ограничить возможности компьютеров локальной сети по установлению соединений с Internet. Даже если компьютер, защищенный NAT-маршрутизатором, используете только вы, не исключено появление на нем вирусов и программ типа "троянский конь", которые могут инициировать нежелательные обращения к внешним узлам. Возможно, вы захотите включить проверку пакетов с учетом состояния, чтобы пресечь попытки перехвата соединений, предпринимаемые из вашей локальной сети. NAT-команды задаются посредством того же сценария, который используется для установки правил брандмауэра.

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

Перенаправление портов

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

iptables
.

Поделиться:
Популярные книги

Фея любви. Трилогия

Николаева Мария Сергеевна
141. В одном томе
Фантастика:
фэнтези
8.55
рейтинг книги
Фея любви. Трилогия

Язык программирования Си. Издание 3-е, исправленное

Ритчи Деннис М.
Компьютеры и Интернет:
программирование
5.00
рейтинг книги
Язык программирования Си. Издание 3-е, исправленное

Артур и Джордж

Барнс Джулиан Патрик
Интеллектуальный бестселлер. Читает весь мир.
Детективы:
исторические детективы
6.40
рейтинг книги
Артур и Джордж

Лунный бассейн. Металлическое чудовище (сборник)

Меррит Абрахам Грэйс
2. Абрахам Меррит. Собрание сочинений в 5 томах
Фантастика:
ужасы и мистика
5.00
рейтинг книги
Лунный бассейн. Металлическое чудовище (сборник)

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Цикл "Отмороженный". Компиляция. Книги 1-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Я не князь. Книга XIII

Дрейк Сириус
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я не князь. Книга XIII

Золушка (сборник)

Макбейн Эд
Мастера остросюжетного романа
Детективы:
полицейские детективы
5.00
рейтинг книги
Золушка (сборник)

Егерь. Столичный гамбит

Скиба Николай
4. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
6.67
рейтинг книги
Егерь. Столичный гамбит

Резонанс Ци. Дилогия

Орлов Андрей Юрьевич
Резонанс Ци
Фантастика:
постапокалипсис
рпг
уся
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Резонанс Ци. Дилогия

1917. Разложение армии

Гончаров Владислав Львович
Военные тайны XX века
Научно-образовательная:
история
5.00
рейтинг книги
1917. Разложение армии

Точка Бифуркации V

Смит Дейлор
5. ТБ
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Точка Бифуркации V

ФЭНТЕЗИ-2004

Пехов Алексей Юрьевич
Фантастика:
фэнтези
5.75
рейтинг книги
ФЭНТЕЗИ-2004

Победа. Книга 3

Чаковский Александр Борисович
3. Победа
Проза:
историческая проза
советская классическая проза
5.00
рейтинг книги
Победа. Книга 3