Найти в Дзене
Евгений Лощаков

Полное руководство по настройке динамической трансляции портов (NAT) на Алт ОС Сервер с использованием nftables и firewalld

Динамическая сетевая трансляция портов (Dynamic Network Address Port Translation, NAPT или Masquerading) — это технология, позволяющая множеству устройств в локальной сети с приватными IP-адресами выходить в Интернет через один публичный IP-адрес маршрутизатора. Как работает динамический NAT: В данной статье мы рассмотрим классическую конфигурацию NAT-сервера: Сеть 172.16.1.0/24 относится к диапазону приватных адресов RFC 1918: Мы выбрали 172.16.1.0/24 потому что: Перед началом настройки необходимо точно определить, какие сетевые интерфейсы присутствуют в системе и как они именуются. Команда для просмотра всех интерфейсов: ip -c a Пример вывода: Что мы видим: Важно: В Алт ОС имена интерфейсов имеют вид enpXsY, где X — шина PCI, Y — устройство. Это предсказуемые имена, они не меняются при перезагрузке. Для сети на интерфейсе enp0s8 (172.16.1.0/24) определите: # Обновление системы (рекомендуется перед настройкой) sudo apt-get update -y # Установка необходимых пакетов Для nftables sud
Оглавление

Введение: Что такое NAT и зачем он нужен?

Определение и принцип работы

Динамическая сетевая трансляция портов (Dynamic Network Address Port Translation, NAPT или Masquerading) — это технология, позволяющая множеству устройств в локальной сети с приватными IP-адресами выходить в Интернет через один публичный IP-адрес маршрутизатора.

Как работает динамический NAT:

  1. Устройство в локальной сети (например, 172.16.1.50) отправляет запрос на внешний сайт
  2. Маршрутизатор фиксирует эту сессию в таблице состояний (connection tracking)
  3. Исходящий пакет модифицируется: приватный адрес источника заменяется на публичный IP маршрутизатора, а также меняется порт источника
  4. Ответ от внешнего сервера приходит на публичный IP и порт маршрутизатора
  5. Маршрутизатор по таблице состояний определяет, какому внутреннему устройству принадлежит ответ, и переправляет его

Преимущества использования NAT в Алт ОС Сервер:

1. Экономия IP-адресов

  • Один публичный IP для всей организации
  • Использование приватных адресов (RFC 1918) внутри сети
  • Пример: 100 устройств используют 1 публичный IP

2. Повышенная безопасность

  • Скрытие структуры внутренней сети
  • Защита от прямых атак на конечные устройства
  • Возможность централизованного контроля трафика

3. Гибкость и управление

  • Централизованная политика доступа
  • Мониторинг всего исходящего трафика
  • QoS и ограничение пропускной способности
  • Логирование сетевой активности

Типичные сценарии применения:

Для малого и среднего бизнеса:

  • Обеспечение интернет-доступа для офиса
  • Защита внутренней инфраструктуры
  • Организация VPN для удаленных сотрудников
  • Общий доступ к принтерам и файловым ресурсам

Для образовательных учреждений:

  • Контроль доступа учащихся в Интернет
  • Фильтрация нежелательного контента
  • Квотирование трафика
  • Логирование активности

Для домашних сетей:

  • Подключение множества устройств (ПК, телефоны, IoT)
  • Родительский контроль
  • Защита домашней сети

Ваша конкретная задача

В данной статье мы рассмотрим классическую конфигурацию NAT-сервера:

  • 2 сетевых интерфейса (минимальная конфигурация для организации доступа в Интернет)
  • enp0s3 — внешний интерфейс, смотрит в Интернет (получает IP от провайдера)
  • enp0s8 — внутренний интерфейс, смотрит в локальную сеть (172.16.1.0/24)
  • Локальная сеть получает доступ в Интернет через NAT
  • Рассмотрим два подхода: nftables (современная замена iptables) и firewalld (динамический фаервол с зонами)

Технические требования:

  • Алт ОС Сервер 10.x или новее
  • Минимум 2 сетевых интерфейса
  • Права администратора (root)
  • Базовое понимание сетевых технологий

Архитектура сети с двумя

Роли интерфейсов

enp0s3 (WAN) — Внешний интерфейс

  • Подключение: Кабель от интернет-провайдера
  • IP-адрес: Публичный, выдается провайдером
  • Тип настройки: DHCP (автоматически) или Статический (по договору)
  • Задача: Прием и передача трафика в Интернет
  • Безопасность: Максимально закрыт, открыты только необходимые порты

enp0s8 (LAN) — Внутренний интерфейс

  • Подключение: К внутреннему коммутатору (switch)
  • IP-адрес: 172.16.1.1 (шлюз для локальной сети)
  • Маска подсети: 255.255.255.0 (/24)
  • Диапазон сети: 172.16.1.0 – 172.16.1.255
  • Доступные адреса: 172.16.1.1 – 172.16.1.254
  • Задача: Прием запросов от клиентов локальной сети

Почему выбрана сеть 172.16.1.0/24?

Сеть 172.16.1.0/24 относится к диапазону приватных адресов RFC 1918:

  • 10.0.0.0/8 – для крупных сетей (до 16 млн устройств)
  • 172.16.0.0/12 – для средних сетей (до 1 млн устройств)
  • 192.168.0.0/16 – для малых сетей (до 65 тыс устройств)

Мы выбрали 172.16.1.0/24 потому что:

  1. Это приватный диапазон (не маршрутизируется в Интернете)
  2. Подсеть /24 дает 254 адреса — достаточно для большинства организаций
  3. Легко запоминается и расширяется (можно добавить 172.16.2.0/24 и т.д.)

Подготовка и сбор параметров

1. Инвентаризация оборудования и интерфейсов

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

Команда для просмотра всех интерфейсов:

ip -c a

Пример вывода:

Что мы видим:

  • lo — петлевой интерфейс (localhost), всегда присутствует
  • enp0s3 — первый физический сетевой интерфейс (наша WAN)
  • enp0s8 — второй физический сетевой интерфейс (наша LAN)
Важно: В Алт ОС имена интерфейсов имеют вид enpXsY, где X — шина PCI, Y — устройство. Это предсказуемые имена, они не меняются при перезагрузке.

2. Планирование локальной сети

Для сети на интерфейсе enp0s8 (172.16.1.0/24) определите:

-2

Настройка сетевых интерфейсов

1. Подготовка системы

# Обновление системы (рекомендуется перед настройкой)

sudo apt-get update -y

# Установка необходимых пакетов

Для nftables

sudo apt-get install -y nftables dnsmasq bind-utils tcpdump traceroute NetworkManager-tui

Для firewalld

sudo apt-get install -y firewalld dnsmasq bind-utils tcpdump traceroute NetworkManager-tui

2. Настройка сетевых интерфейсов (enp0s3 и enp0s8)

Как настроить сетевые интерфейсы, можно почитать в следующей статье.

Настройка WAN-интерфейса (enp0s3) производится динамическии по DHCP.

Настройка LAN-интерфейса (enp0s8) производится вручную, тут необходимо задать статический ip-адресс 172.16.1.1/24.

-3

Критически важные моменты:

  • НЕ УКАЗЫВАЙТЕ GATEWAY — это приведет к конфликту маршрутов
  • УКАЖИТЕ правильную маску (PREFIX="24" для 255.255.255.0)
  • УБЕДИТЕСЬ, что адрес 172.16.1.1 не занят в вашей сети

# Перезапуск сети для применения конфигурации

sudo systemctl restart network

или если управляет NetworkManager

sudo systemctl restart NetworkManager

# Проверка состояния интерфейсов

ip -c a

-4

# Проверка маршрутизации

ip route show

-5

5. Включение IP-форвардинга

IP-форвардинг — это разрешение ядру Linux пересылать пакеты между интерфейсами. Без этого NAT работать не будет.

Чтобы включить пересылку пакетов между интерфейсами, необходимо отредактировать файл sysctl.conf

nano /etc/net/sysctl.conf

В данном файле меняем значение net.ipv4.ip_forward=0 на net.ipv4.ip_forward=1.

-6

После необходимо применить внесенные изменения

sysctl -p /etc/net/sysctl.conf

Для проверки результата вводим команду sysctl net.ipv4.ip_forward

-7

Настройка NAT через nftables.

Что такое nftables?

nftables — это современная подсистема фильтрации пакетов в Linux, пришедшая на смену классическому iptables. Она включена по умолчанию в Алт ОС и предлагает:

  • Единый синтаксис для IPv4 и IPv6
  • Производительность лучше, чем у iptables
  • Меньшее потребление памяти
  • Удобные наборы (sets) и словари (maps)
  • Инкрементальное обновление правил

1. Базовая подготовка nftables

# Проверка установки

rpm -q nftables

# Запуск и включение автозагрузки

sudo systemctl enable --now nftables

# Создание резервной копии текущей конфигурации

sudo nft list ruleset > /etc/nftables.conf.backup

-8

2. Создание конфигурации NAT

Создание таблицы и цепочек

bash

nft add table nat
nft add chain nat prerouting '{ type nat hook prerouting priority -100; }'
nft add chain nat postrouting '{ type nat hook postrouting priority 100; }'

3. Настройка правил NAT

Masquerade для внешнего интерфейса

bash

nft add rule nat postrouting oifname "enp0s3" masquerade

Разрешение форвардинга между интерфейсами

bash

nft add rule filter forward iifname "enp0s8" oifname "enp0s3" accept
nft add rule filter forward iifname "enp0s3" oifname "enp0s8" accept

Настройка правил для локальной сети

bash

nft add rule filter forward ip saddr 172.16.1.0/24 oifname "enp0s3" accept

4. Сохранение конфигурации

Просмотр текущих правил

bash

nft list ruleset

Сохранение в файл конфигурации

Проверяем откуда берет настройки nftables:

systemctl cat nftables

-9

По умолчанию она берет настройки из файла /etc/nftables/nftables.nft. В него и сохраняем текущее правило.

bash

nft list ruleset >/etc/nftables/nftables.nft

Добавление автозагрузки
Добавьте в файл /etc/nftables/nftables.nft в начало:

bash

#!/usr/sbin/nft -f
flush ruleset

Проверка работы

Проверка статуса службы

bash

systemctl status nftables

-10

Проверка правил

bash

nft list ruleset

-11

Тестирование подключения
С устройства локальной сети (например, 172.16.1.2):

bash

ping 8.8.8.8

-12

5. Дополнительные настройки

Резервное копирование

bash

nft list ruleset > nftables.backup

Восстановление правил

bash

nft -f nftables.backup

Перезапуск службы

bash

systemctl restart nftables

Важные замечания

  • Убедитесь, что файрвол не блокирует необходимый трафик
  • Проверьте корректность настроек IP-адресов интерфейсов
  • При необходимости добавьте дополнительные правила для конкретных сервисов
  • Сохраняйте резервные копии конфигурации перед внесением изменений

Настройка NAT через firewalld

Что такое firewalld?

firewalld — это динамический менеджер брандмауэра с поддержкой зон. В отличие от nftables/iptables, он:

  • Позволяет изменять правила без перезагрузки
  • Использует концепцию зон доверия
  • Имеет простой синтаксис для типовых задач
  • Интегрирован с NetworkManager
  • Поддерживает D-Bus интерфейс

1. Подготовка firewalld

# Остановим nftables, чтобы избежать конфликта

sudo systemctl stop nftables

sudo systemctl disable nftables

# Запустим firewalld

sudo systemctl enable --now firewalld

# Проверка статуса

sudo firewall-cmd --state

-13

2. Концепция зон в firewalld

Зона — это набор правил доверия для интерфейсов.

-14

Для нашей задачи:

  • enp0s3 → зона external (недоверенный Интернет)
  • enp0s8 → зона internal (доверенная локальная сеть)

3. Настройка зон и интерфейсов

# Назначение интерфейсов зонам

sudo firewall-cmd --permanent --zone=external --change-interface=enp0s3

sudo firewall-cmd --permanent --zone=internal --change-interface=enp0s8

# Добавление источника (сеть) к зоне internal

sudo firewall-cmd --permanent --zone=internal --add-source=172.16.1.0/24

Дополнительные настройки зон.

# Настройка зоны external (Интернет)

sudo firewall-cmd --permanent --zone=external --set-target=DROP

sudo firewall-cmd --permanent --zone=external --add-service=https

sudo firewall-cmd --permanent --zone=external --add-service=http

sudo firewall-cmd --permanent --zone=external --add-icmp-block-inversion

sudo firewall-cmd --permanent --zone=external --add-icmp-block={echo-request,echo-reply}

# Настройка зоны internal (локальная сеть)

sudo firewall-cmd --permanent --zone=internal --set-target=ACCEPT

sudo firewall-cmd --permanent --zone=internal --add-service=ssh

sudo firewall-cmd --permanent --zone=internal --add-service=dhcp

sudo firewall-cmd --permanent --zone=internal --add-service=dns

sudo firewall-cmd --permanent --zone=internal --add-service=samba

sudo firewall-cmd --permanent --zone=internal --add-port={631/tcp,445/tcp}

4. Включение NAT (маскарадинга)

Маскарадинг — это реализация NAT в firewalld:

# Включение маскарадинга для внешней зоны(Включена по умолчанию в External)

sudo firewall-cmd --permanent --zone=external --add-masquerade

# Проверка

sudo firewall-cmd --zone=external --query-masquerade

-15

Пояснение: --add-masquerade автоматически подменяет адрес источника на IP интерфейса enp0s3 для всех пакетов, уходящих в Интернет.

5. Настройка форвардинга между зонами

Далее включаем новую политику

firewall-cmd --permanent --policy=gateway-lan-to-world --remove-disable

firewall-cmd --reload

firewall-cmd --info-policy=gateway-lan-to-world

-16

6. Применение и проверка настроек

# Применение всех изменений

sudo firewall-cmd --reload

# Просмотр текущей конфигурации

sudo firewall-cmd --list-all-zones

# Проверка зоны external

sudo firewall-cmd --zone=external --list-all

-17

# Проверка зоны internal

sudo firewall-cmd --zone=internal --list-all

-18

# Проверка проброшенных портов

sudo firewall-cmd --zone=external --list-forward-ports

Тестирование подключения
С устройства локальной сети (например, 172.16.1.2):

bash

ping 8.8.8.8

-19

Так же в firewalld можно провести дополнительные правила доступа при необходимости.

7. Проброс портов (port forwarding) в firewalld

# Проброс порта 80 на веб-сервер 172.16.1.10

sudo firewall-cmd --permanent --zone=external \

--add-forward-port=port=80:proto=tcp:toport=80:toaddr=172.16.1.10

# Проброс порта 443 на тот же сервер

sudo firewall-cmd --permanent --zone=external \

--add-forward-port=port=443:proto=tcp:toport=443:toaddr=172.16.1.10

# Проброс порта 2222 на SSH сервера

sudo firewall-cmd --permanent --zone=external \

--add-forward-port=port=2222:proto=tcp:toport=22:toaddr=172.16.1.1

# Проброс диапазона портов для игр/приложений

sudo firewall-cmd --permanent --zone=external \

--add-forward-port=port=10000-20000:proto=udp:toport=10000-20000:toaddr=172.16.1.50

8. Расширенные правила (rich rules)

Rich rules позволяют создавать сложные условия:

# Ограничение SSH доступа только с определенного IP в локальной сети

sudo firewall-cmd --permanent --zone=internal \

--add-rich-rule='rule family="ipv4" source address="172.16.1.100" service name="ssh" accept'

# Ограничение скорости для ICMP (защита от ping flood)

sudo firewall-cmd --permanent --zone=external \

--add-rich-rule='rule family="ipv4" protocol value="icmp" icmp-type name="echo-request" limit value="5/minute" accept'

# Логирование попыток доступа к определенному порту

sudo firewall-cmd --permanent --zone=external \

--add-rich-rule='rule family="ipv4" port port="22" protocol="tcp" log prefix="SSH-ATTEMPT: " limit value="3/m" accept'

9. Дополнительные полезные команды firewalld

# Блокировка определенного IP

sudo firewall-cmd --permanent --zone=external --add-rich-rule='rule family="ipv4" source address="123.123.123.123" drop'

# Разрешить доступ к серверу только из определенной страны (требуется geoip)

sudo firewall-cmd --permanent --zone=external --add-rich-rule='rule family="ipv4" source geoip="RU" accept'

# Временное открытие порта (на 1 минуту, для тестирования)

sudo firewall-cmd --zone=external --add-port=8080/tcp --timeout=60

# Блокировка всего трафика кроме SSH (аварийный режим)

sudo firewall-cmd --panic-on

sudo firewall-cmd --panic-off

Сравнение подходов и рекомендации

Сравнительная таблица nftables и firewalld

-20

Когда выбирать nftables?

Используйте nftables, если:

  • ✅ Вам нужна максимальная производительность (высоконагруженный сервер)
  • ✅ Требуются сложные, многоступенчатые правила фильтрации
  • ✅ Вы предпочитаете работать с конфигурационными файлами
  • ✅ У вас есть опыт работы с iptables (переход на nftables будет легким)
  • ✅ Нужна тонкая настройка с использованием множеств (sets) и словарей (maps)

Когда выбирать firewalld?

Используйте firewalld, если:

  • ✅ Вам нужна быстрая, рабочая конфигурация "из коробки"
  • ✅ Вы планируете часто менять правила (динамическая среда)
  • ✅ Вы предпочитаете управлять через командную строку с простыми опциями
  • ✅ У вас несколько зон с разными уровнями доверия
  • ✅ Нужна интеграция с NetworkManager и графическими утилитами

Рекомендация для типового офиса

Для большинства организаций с типовыми потребностями (доступ в Интернет для офиса, несколько проброшенных портов) я рекомендую firewalld по следующим причинам:

  1. Простота поддержки — любой системный администратор поймет конфигурацию
  2. Меньше ошибок — понятные команды снижают риск опечаток
  3. Быстрое восстановление — легко вернуться к рабочей конфигурации
  4. Документация — множество примеров и готовых решений

Диагностика и устранение неисправностей

1. Общие проверки работоспособности

# Проверка доступности Интернета с самого сервера

ping -c 4 8.8.8.8

ping -c 4 google.com

# Проверка доступности шлюза для клиентов

ping -c 4 172.16.1.100 # IP любого клиента в локальной сети

# Проверка таблицы маршрутизации

ip route show

2. Диагностика nftables

# Просмотр правил с счетчиками

sudo nft list ruleset

# Мониторинг пакетов в реальном времени

sudo nft monitor

# Проверка счетчиков по цепочкам

sudo nft list chain inet filter input

sudo nft list chain inet filter forward

# Трассировка пакетов (включите перед тестированием)

sudo nft add rule inet filter input meta nftrace set 1

sudo nft monitor trace

3. Диагностика firewalld

# Просмотр логов firewalld

sudo journalctl -u firewalld -f

# Проверка примененных правил

sudo firewall-cmd --list-all

sudo firewall-cmd --zone=external --list-all

sudo firewall-cmd --zone=internal --list-all

# Тестирование доступа к порту

sudo firewall-cmd --zone=external --query-service=http

sudo firewall-cmd --zone=external --query-port=80/tcp

# Получение информации о зонах

sudo firewall-cmd --get-active-zones

sudo firewall-cmd --get-default-zone

4. Проверка NAT и соединений

# Просмотр активных NAT-сессий

sudo conntrack -L

# Статистика по протоколам

sudo conntrack -S

# Очистка таблицы соединений (если что-то "зависло")

sudo conntrack -F

# Мониторинг новых соединений

sudo conntrack -E

5. Анализ сетевого трафика

# Просмотр трафика на внешнем интерфейсе

sudo tcpdump -i enp0s3 -n -v

# Просмотр только трафика NAT

sudo tcpdump -i enp0s3 -n 'ip[20:2] & 0x1fff != 0'

# Проверка, проходит ли трафик через форвардинг

sudo tcpdump -i enp0s8 -n icmp

# В другом окне пингуйте с клиента и смотрите вывод

6. Типичные проблемы и решения

ПРОБЛЕМА: Клиенты не получают IP по DHCP

# Проверка работы dnsmasq

sudo systemctl status dnsmasq

sudo journalctl -u dnsmasq -f

# Проверка, слушает ли dnsmasq порт 67

sudo ss -tulpn | grep :67

# Временный запуск в отладочном режиме

sudo dnsmasq --no-daemon --log-queries

ПРОБЛЕМА: NAT работает, но нет DNS

# Проверка DNS с сервера

dig @8.8.8.8 google.com

# Проверка доступности DNS-порта на клиенте

nc -zv 172.16.1.1 53

# Проверка правил фаервола для DNS

sudo nft list chain inet filter input | grep 53

# или

sudo firewall-cmd --zone=internal --list-services

ПРОБЛЕМА: Не работает проброс портов

# Проверка, слушает ли целевой сервер порт

nc -zv 172.16.1.10 80

# Проверка правил проброса

sudo nft list chain ip nat prerouting

# или

sudo firewall-cmd --zone=external --list-forward-ports

# Проверка, доходят ли пакеты до сервера

sudo tcpdump -i enp0s8 -n port 80

# В другом окне попробуйте достучаться извне

ПРОБЛЕМА: Очень медленный Интернет

# Проверка загрузки интерфейсов

ip -s link show enp0s3

ip -s link show enp0s8

# Проверка количества соединений

sudo conntrack -L | wc -l

# Проверка ошибок на интерфейсах

netstat -i

# Проверка MTU (возможно, нужно уменьшить для PPPoE)

ip link show enp0s3 | grep mtu

7. Сброс всего в исходное состояние

Если что-то пошло не так:

# Для nftables

sudo nft flush ruleset

sudo systemctl restart nftables

# Для firewalld

sudo firewall-cmd --complete-reload

sudo systemctl restart firewalld

# Сброс интерфейсов

sudo systemctl restart network

Заключение {#заключение}

Что мы сделали?

Мы развернули полноценный NAT-сервер на Алт ОС с двумя сетевыми интерфейсами:

  • enp0s3 подключен к Интернету (публичный адрес)
  • enp0s8 обслуживает локальную сеть 172.16.1.0/24
  • Настроили два варианта файервола: nftables и firewalld
  • Обеспечили безопасность и мониторинг

Ключевые моменты, которые нужно запомнить:

  1. NAT необходим для организации доступа в Интернет из локальной сети при ограниченном количестве публичных IP-адресов
  2. IP-форвардинг должен быть включен обязательно
  3. Правильная маршрутизация критически важна (шлюз по умолчанию только на внешнем интерфейсе)
  4. Безопасность строится на принципе "что явно не разрешено — запрещено"
  5. Мониторинг и логи помогут быстро находить проблемы

Дальнейшие шаги для улучшения:

# 1. Настройка кэширующего DNS для ускорения

sudo apt-get install -y bind

# ... настройка named.conf

# 2. Установка системы мониторинга

sudo apt-get install -y netdata

sudo systemctl enable --now netdata

# 3. Настройка резервного копирования конфигураций

cat << 'EOF' | sudo tee /etc/cron.daily/backup-network

#!/bin/bash

BACKUP_DIR="/root/network-backups"

mkdir -p $BACKUP_DIR

cp /etc/nftables.conf $BACKUP_DIR/nftables-$(date +%Y%m%d).conf

cp /etc/firewalld/* $BACKUP_DIR/ -r

find $BACKUP_DIR -type f -mtime +30 -delete

EOF

sudo chmod +x /etc/cron.daily/backup-network

# 4. Настройка оповещений о проблемах

# Добавить проверки в Zabbix/Nagios или использовать простой скрипт с отправкой на email

Финальная проверка работоспособности:

Создайте скрипт для быстрой диагностики:

sudo nano /usr/local/bin/check-nat.sh

И в нем пропишите следующее:

#!/bin/bash

echo "=== ПРОВЕРКА NAT-СЕРВЕРА ==="

echo "Дата: $(date)"

echo

echo "1. Статус интерфейсов:"

ip -br addr show | grep -E "enp0s3|enp0s8"

echo

echo "2. Таблица маршрутизации:"

ip route show

echo

echo "3. IP-форвардинг:"

cat /proc/sys/net/ipv4/ip_forward

echo

echo "4. Доступ в Интернет (ping 8.8.8.8):"

ping -c 2 8.8.8.8 > /dev/null 2>&1 && echo "✓ OK" || echo "✗ FAILED"

echo

echo "5. DNS разрешение (dig google.com):"

dig +short google.com | head -3

echo

echo "6. Активные NAT-сессии:"

sudo conntrack -L | grep -c "ESTABLISHED" | xargs echo "Всего:"

echo

echo "7. Статистика фаервола:"

if command -v nft &> /dev/null; then

echo "nftables:"

sudo nft list counters 2>/dev/null | grep -v "{" | head -5

elif command -v firewall-cmd &> /dev/null; then

echo "firewalld: $(sudo firewall-cmd --state)"

sudo firewall-cmd --list-all | grep -E "ports|services"

fi

echo

echo "=== ПРОВЕРКА ЗАВЕРШЕНА ==="

После сохранения выдайте права

sudo chmod +x /usr/local/bin/check-nat.sh

sudo /usr/local/bin/check-nat.sh

Заключительные рекомендации

  1. Всегда имейте резервную копию конфигурации перед изменениями
  2. Тестируйте новые правила в нерабочее время
  3. Ведите журнал изменений (что, когда и зачем меняли)
  4. Регулярно обновляйте систему и компоненты безопасности
  5. Обучите коллег основам диагностики на случай вашего отсутствия

Правильно настроенный NAT-сервер на Алт ОС будет работать годами, обеспечивая стабильный и безопасный доступ в Интернет для всей вашей организации. Выбирайте подход (nftables или firewalld), который лучше подходит под ваш уровень подготовки и требования к гибкости, и смело внедряйте решение в эксплуатацию!