Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux. Часть V. Межсетевой экран iptables

Оригинал: Introduction to routers
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 13 июля 2015 г.

Глава 7. Использование системы Linux в качестве маршрутизатора

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

7.1. Маршрутизатор или межсетевой экран

Маршрутизатор (router) является устройством, которое соединяет между собой две сети. Межсетевой экран (firewall) является устройством, которое помимо выполнения функций маршрутизатора, также использует (и реализует) механизм правил, на основании которых выносятся решения о возможности передачи сетевых пакетов из одной сети в другую. Межсетевой экран может быть настроен с целью блокировки доступа к сетевым ресурсам на основе сетей, узлов, протоколов и портов. Межсетевые экраны также могут изменять содержимое сетевых пакетов при их передаче между сетями.

Маршрутизатор или межсетевой экран

7.2. Пересылка сетевых пакетов

Пересылкой сетевых пакетов (packet forwarding) называется процесс санкционированной передачи сетевых пакетов из одной сети в другую. В том случае, если узел подключен к двум сетям и санкционирует передачу сетевых пакетов из одной сети в другую посредством двух своих сетевых интерфейсов, говорят, что на данном узле активирован режим пересылки сетевых пакетов (packet forwarding).

7.3. Фильтрация сетевых пакетов

Фильтрация сетевых пакетов (packet filtering) аналогична по своей сути пересылке сетевых пакетов, но отличается тем, что по отношению к каждому сетевому пакету применяются правила, на основе которых принимается решение о целесообразности передачи сетевого пакета в другую сеть или о его отбрасывании. Упомянутые правила обрабатываются с помощью утилиты iptables.

7.4. Межсетевой экран с сохранением состояния

Межсетевой экран с сохранением состояния (stateful firewall) является усовершенствованным видом межсетевого экрана по сравнению с межсетевым экраном без сохранения состояния (stateless firewall) и осуществляет исследование каждого отдельного сетевого пакета. Межсетевой экран с сохранением состояния хранит таблицу активных соединений и обладает достаточной информацией для выявления новых соединений в рамках активной сессии. Межсетевой экран iptables, используемый в системах Linux, является межсетевым экраном с сохранением состояния.

7.5. Механизм преобразования сетевых адресов (NAT)

Устройство, осуществляющее преобразование сетевых адресов (Network Address Translation), является маршрутизатором, который помимо передачи сетевых пакетов осуществляет изменение исходных и/или целевых IP-адресов этих сетевых пакетов. Чаще всего подобные устройства используются для соединения множества компьютеров в рамках частного диапазона адресов (описанного в стандарте RFC 1918) с сетью Интернет (публичной сетью). Механизм преобразования сетевых адресов позволяет скрыть частные адреса при обращении к ресурсам сети Интернет.

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

7.6. Механизм преобразования номеров сетевых портов (PAT)

Механизм преобразования сетевых адресов чаще всего включает в себя механизм преобразования номеров сетевых портов (Port Address Translation). Устройство, осуществляющее преобразование номеров сетевых портов, является маршрутизатором, который помимо передачи сетевых пакетов осуществляет замену номеров исходных и/или целевых портов сетевых пакетов протоколов TCP/UDP. Термин "механизм преобразования номеров сетевых портов" был введен специалистами компании Cisco и используется при описании таких механизмов, как механизм замены сетевого адреса источника (SNAT), механизм замены сетевого адреса назначения (DNAT), маскарадинг (Masquerading) и механизм перенаправления сетевых портов (Port Forwarding) в Linux. В стандарте RFC 3022 для обозначения данного механизма используется аббревиатура NAPT, а сам механизм описывается как комбинация механизмов преобразования сетевых адресов и номеров сетевых портов (NAT/PAT) или "традиционный механизм преобразования сетевых адресов". В случае покупки позиционируемого как NAT-совместимого устройства вы наверняка приобретете устройство, которое будет поддерживать как механизм преобразования сетевых адресов (NAT), так и механизм преобразования номеров сетевых портов (PAT).

7.7. Механизм замены сетевого адреса источника (SNAT)

Устройство с поддержкой механизма замены сетевого адреса источника (Source NAT) осуществляет замену IP-адреса источника в момент передачи сетевого пакета. Реализация механизма замены сетевого адреса источника в рамках межсетевого экрана iptables предусматривает использование фиксированного сетевого адреса источника для замены.

7.8. Маскарадинг (Masquerading)

Маскарадинг является формой механизма замены сетевого адреса источника, который осуществляет сокрытие (частного) IP-адреса источника из вашей частной сети и его замену на публичный IP-адрес. Маскарадинг нередко используется при работе с динамическими сетевыми интерфейсами (создаваемыми для широкополосных модемов/маршрутизаторов). В случае настройки маскарадинга при работе с межсетевым экраном iptables используется динамический сетевой адрес источника.

7.9. Механизм замены сетевого адреса назначения (DNAT)

Устройство с поддержкой механизма замены сетевого адреса назначения (Destination NAT) заменяет целевой IP-адрес в момент передачи сетевого пакета.

7.10. Механизм перенаправления сетевых портов (Port Forwarding)

При фиксированной настройке механизма замены сетевого адреса назначения (DNAT) таким образом, что становятся возможными соединения с рассматриваемой частной сетью извне говорят об использовании механизма перенаправления сетевых портов.

7.11. Виртуальный файл /proc/sys/net/ipv4/ip_forward

Режим пересылки сетевых пакетов в рамках узла устанавливается с помощью виртуального файла /proc/sys/net/ipv4/ip_forward. В следующем примере показана методика активации режима пересылки сетевых пакетов в Linux.

root@router~# echo 1 > /proc/sys/net/ipv4/ip_forward

Следующая команда предназначена для деактивации режима пересылки сетевых пакетов.

root@router~# echo 0 > /proc/sys/net/ipv4/ip_forward

Для получения информации о том, активирован ли режим пересылки сетевых пакетов в рамках системы, следует использовать утилиту cat.

root@router~# cat /proc/sys/net/ipv4/ip_forward

7.12. Файл конфигурации /etc/sysctl.conf

По умолчанию режим пересылки сетевых пакетов не активирован на большей части компьютеров, работающих под управлением различных дистрибутивов Linux. Для автоматической активации этого режима в момент загрузки системы следует изменить значение переменной net.ipv4.ip_forward из файла конфигурации /etc/sysctl.conf на 1.

root@router~# grep ip_forward /etc/sysctl.conf 
net.ipv4.ip_forward = 0

7.13. Утилита sysctl

Для получения дополнительной информации о данной утилите обратитесь к странице руководства man sysctl.

root@debian6~# man sysctl
root@debian6~# sysctl -a 2>/dev/null | grep ip_forward
net.ipv4.ip_forward = 0

Предыдущий раздел: Оглавление Следующий раздел:
6.5. Резервирование конфигураций клиентов   7.14. Практическое задание: механизм пересылки сетевых пакетов