Найти в Дзене
Евгений Дергунов

Настройка службы трансляции сетевых адресов (NAT) на FreeBSD-сервере

NAT - это технология трансляции сетевых адресов, которая позволяет преобразовывать частные ("серые") IP-адреса в глобальные ("белые") адреса, которые маршрутизируются в сети Интернет. IPFW (ipfirewall) - это система фильтрации пакетов в ядре FreeBSD, которая используется для настройки правил брандмауэра и других сетевых политик. Для добавления ядра IPFW в конфигурационный файл loader.conf необходимо открыть его при помощи текстового редактора и внести изменения, показанные на рисунке 1. nano /boot/loader.conf Параметр ipfw_load="YES" загружает IPFW-модуль ядра при старте системы. Параметр ipdivert_load="YES" предоставляет механизм для перенаправления пакетов IP на обработку в пользовательский пространственный процесс. Параметр net.inet.ip.fw.default_to_accept="1" устанавливается в значение «1» для того, чтобы все пакеты принимались, если для них не установлено явное правило блокировки в IPFW. Теперь необходимо внести дополнения в ядро GENERIC (рисунок 2). nano /usr/src/sys/i386/conf

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

IPFW (ipfirewall) - это система фильтрации пакетов в ядре FreeBSD, которая используется для настройки правил брандмауэра и других сетевых политик. Для добавления ядра IPFW в конфигурационный файл loader.conf необходимо открыть его при помощи текстового редактора и внести изменения, показанные на рисунке 1.

nano /boot/loader.conf

Рисунок 1
Рисунок 1

Параметр ipfw_load="YES" загружает IPFW-модуль ядра при старте системы.

Параметр ipdivert_load="YES" предоставляет механизм для перенаправления пакетов IP на обработку в пользовательский пространственный процесс.

Параметр net.inet.ip.fw.default_to_accept="1" устанавливается в значение «1» для того, чтобы все пакеты принимались, если для них не установлено явное правило блокировки в IPFW.

Теперь необходимо внести дополнения в ядро GENERIC (рисунок 2).

nano /usr/src/sys/i386/conf/GENERIC

Рисунок 2
Рисунок 2

Далее вносятся дополнения в конфигурационный файл rc.conf (рисунок 3).

nano /etc/rc.conf

Рисунок 3
Рисунок 3

Пояснения к вносимым изменениям:

- параметр gateway_enable позволяет включить функцию сетевого маршрутизатора, пересылающего пакеты с одного интерфейса на другой;

- параметр firewall_enable используется для включения межсетевого экрана (IPFW);

- параметр firewall_type="OPEN" указывает на пропуск всего трафика;

- параметр natd_enable используется для включения функции NATD;

- параметр natd_interface указывает название внешнего сетевого интерфейса, который будет выдавать доступ к Интернету рабочим станциям;

- параметр natd_flags="" указывает, что дополнительные параметры отсутствуют.

Для запуска службы natd вводится команда:

service natd start

Для проверки статуса службы natd:

service natd status

Проверка работы службы NAT через сервер FreeBSD (выход в сеть интернет) на рабочей станции с операционной системой Windows. Просмотр настроек сетевого адаптера (рисунок 4), проверка выхода в интернет (рисунок 5).

Рисунок 4
Рисунок 4
Рисунок 5
Рисунок 5

Проверка работы службы NAT через сервер FreeBSD на рабочей станции с операционной системой xUbuntu. Просмотр настроек сетевого адаптера (рисунок 6), проверка выхода в интернет (рисунок 7).

Рисунок 6
Рисунок 6
Рисунок 7
Рисунок 7

Если выход в глобальную сеть не осуществляется, то можно дополнительно внести изменения в конфигурационный файл службы DHCP. Для этого открыть файл dhcpd.conf и дописать следующее (рисунок 8).

nano /usr/local/etc/dhcpd.conf

Рисунок 8
Рисунок 8

IP-адреса «8.8.8.8» (основной публичный DNS-сервер) и «8.8.4.4» (второй публичный DNS-сервер) представляют собой публичные DNS-серверы компании Google.

Параметр ddns-update-style none - параметр конфигурации DHCP-сервера, который отключает динамическое обновление DNS.

Перезагрузить службы DHCP и NAT:

service isc-dhcpd restart

service natd restart

Проверить их статус:

service isc-dhcpd status

service natd status

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