Первоначальная настройка сетевой трансляции

Подсистема трансляции сетевых адресов подменяет IP-адреса компьютеров локальной сети на IP-адрес внешнего сетевого интерфейса (SNAT) или наоборот (DNAT). Ниже приведен пример замены адресов для IP пакетов приходящих на внутренний интерфейс eth0 на адреса внешнего интерфейса eth1:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Это правило обеспечивает работу в интернет всех компьютеров локальной сети “от имени” IP-адреса сетевого интерфейса eth1.

Первоначальная настройка сетевой фильтрации

Настройка фильтрации начинается с установки политик запрещающих все соединения кроме разрешенных:

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

Далее, обычно идут следующие правила:

  • разрешаются входящие соединения на маршрутизатор с внутренней сети

iptables -A INPUT -i eth1 --source 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

  • разрешается соединение с компьютерами во внутренней сети

iptables -A OUTPUT -o eth1 --destination 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

  • разрешается перенаправление пакетов из внутренней сети во внешнюю для установленных и новых соединений:

iptables -A FORWARD -i eth1 --source 192.168.1.0/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT

  • разрешается перенаправление пакетов из внешней сети во внутреннюю только для установленных соединений

iptables -A FORWARD -i eth0 --destination 192.168.1.0/24 --match state --state ESTABLISHED -j ACCEPT

Проверка настроек сетевой защиты

Для просмотра всех правил во всех цепочках используется команда:

iptables -L

Для вывода правил отдельной цепочки используется команда:

iptables -L INPUT

Для вывода параметров в числовом формате используется опция –n:

iptables –n -L

DNS, DHCP, BOOTP/PXE, TFTP

Кратко о назначении сервисов:

  • DNS является основной компонентой системы распознавания имен и предназначен для распознавания имен и IP-адресов компьютеров.
  • DHCP обеспечивает автоматическую настройку клиентской части компьютеров локальной сети.
  • BOOTP/PXE обеспечивает загрузку или установку операционных систем по локальной сети.
  • TFTP предназначен для пересылки файлов (обычно ядра ОС) при загрузке или установке операционной системы по локальной сети.

Перечисленные сервисы могут быть установлены из следующих пакетов программ:

Сервис Пакеты программ
dnsmasq bind dhcp tftp-server
DNS + + - -
DHCP + - + -
BOOTP/PXE + - + -
TFTP + - - +

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

Установка и первичная настройка

Проверить установлен или нет сервис можно командой:

rpm -q dnsmasq

Установить и запустить сервис можно с помощью следующих команд:

yum install dnsmasq

chkconfig dnsmasq on

/etc/init.d/dnsmasq start

Настройки можно изменять двумя путями, либо передать их через командную строку, либо установить их в файле dnsmasq.conf. Наименование настроек (в не сокращенном варианте) передаваемых через командную строку и указываемых в файле dnsmasq.conf совпадают. Как правило выбирают второй вариант, поскольку он наиболее наглядный и позволяет добавлять комментарии к каждой настройке с помощью символа #.

Файлы настроек

Основной файл настроек:

/etc/dnsmasq.conf

Часть настроек можно вынести в отдельные файлы с помощью следующих опции.

Опция:

conf-file=<файла настроек>

добавляет содержимое файла <файла настроек> к содержимому основного файла настроек. Опций conf-file может быть несколько. Если указать вместо имени файла -, то для ввода настроек будет использоваться стандартный поток ввода stdin.

Опция:

conf-dir=<каталог>,<расширение файла>

добавляет содержимое всех всех файлов, находящихся в каталоге <каталог>, кроме файлов с расширением <расширение файла>. Файлы заканчивающиеся символом ~, либо начинающиеся с ., либо начинающиеся и заканчивающиеся символом # пропускаются всегда.

После установки основной файл настроек содержит только одну незакомментированную опцию:

conf-dir=/etc/dnsmasq.d

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

По умолчанию события протокола направляются в стандартную службу syslog в группы событий daemon и local0. Поэтому все события сервиса отражаются в основном протоколе системы /var/log/messages Для того, чтобы создать отдельный протокол для сервиса можно использовать опцию:

log-facility=<полный путь к файлу протокола>

Например:

log-facility=/var/log/dnsmasq.log

Для отладки можно включить протоколирование все DNS запросов:

log-queries

Для снижения нагрузки на файловую систему можно включить асинхронную запись:

log-async=25

Наши рекомендации