Библиотека сайта 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. Практическое задание: механизм пересылки сетевых пакетов |