Добавить в корзинуПозвонить
Найти в Дзене
Все о линуксе

Настройка NAT и маршрутизации в Red Hat9 Linux

Настройка NAT и маршрутизации в Linux с помощью nmtui, sysctl и nftables В этой инструкции разбирается настройка сервера Linux в роли маршрутизатора (шлюза), который будет раздавать интернет другим устройствам. Используются стандартные инструменты: nmtui, sysctl и nftables. 1. Настройка сетевых интерфейсов через nmtui Команда: nmtui Это текстовый интерфейс для управления сетью (часть NetworkManager). Что здесь делается: • Вы настраиваете сетевые адаптеры • Назначаете IP-адреса • Переименовываете интерфейсы (например, ens160, ens192) • Указываете, какой интерфейс будет: o внешним (WAN) — с доступом в интернет o внутренним (LAN) — для локальной сети 👉 Пример: • ens160 — интернет • ens192 — локальная сеть 2. Применение настроек exec bash Зачем это нужно: Перезапускает текущую оболочку (bash), чтобы: • применились новые переменные среды • обновились сетевые настройки (Не всегда обязательно, но часто используют после изменений сети) 3. Включение IP-переадресации Открываем файл: nano /etc/s

Настройка NAT и маршрутизации в Linux с помощью nmtui, sysctl и nftables

В этой инструкции разбирается настройка сервера Linux в роли маршрутизатора (шлюза), который будет раздавать интернет другим устройствам. Используются стандартные инструменты: nmtui, sysctl и nftables.

1. Настройка сетевых интерфейсов через nmtui

Команда:

nmtui

Это текстовый интерфейс для управления сетью (часть NetworkManager).

Что здесь делается:

• Вы настраиваете сетевые адаптеры

• Назначаете IP-адреса

• Переименовываете интерфейсы (например, ens160, ens192)

• Указываете, какой интерфейс будет:

o внешним (WAN) — с доступом в интернет

o внутренним (LAN) — для локальной сети

👉 Пример:

• ens160 — интернет

• ens192 — локальная сеть

2. Применение настроек

exec bash

Зачем это нужно:

Перезапускает текущую оболочку (bash), чтобы:

• применились новые переменные среды

• обновились сетевые настройки

(Не всегда обязательно, но часто используют после изменений сети)

3. Включение IP-переадресации

Открываем файл:

nano /etc/sysctl.conf

Добавляем или изменяем строку:

net.ipv4.ip_forward = 1

Что это значит:

Это включает маршрутизацию пакетов между интерфейсами.

📌 Без этого:

• компьютер НЕ будет пересылать пакеты

• он работает как обычный хост

📌 С этим:

• становится роутером

Применяем настройки:

sysctl -p

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

Создаём файл, например:

/etc/nftables/my_nat.nft

И добавляем:

table inet nat {

chain POSTROUTING {

type nat hook postrouting priority srcnat;

oifname "ens160" masquerade

}

}

Разбор конфигурации

table inet nat

• Создаёт таблицу NAT (для IPv4 и IPv6)

chain POSTROUTING

• Цепочка, которая обрабатывает пакеты после маршрутизации

type nat hook postrouting

• Указывает, что это NAT-цепочка

• postrouting — применяется перед выходом пакета

oifname "ens160"

• Условие: применяется только к пакетам, выходящим через интерфейс ens160

masquerade

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

👉 Это означает:

• все устройства из локальной сети будут выходить в интернет с IP сервера

5. Подключение конфигурации nftables

Редактируем файл:

nano /etc/sysconfig/nftables.conf

Находим строку:

# include "/etc/nftables/main.nft"

Что делаем:

• Убираем #

• Меняем на свой файл:

include "/etc/nftables/my_nat.nft"

6. Запуск и автозагрузка nftables

systemctl enable --now nftables

Что делает команда:

• enable — включает автозапуск при загрузке

• --now — запускает прямо сейчас

7. Итог: что получилось

После всех шагов система:

✅ Пересылает пакеты (IP forwarding)

✅ Маскирует локальную сеть (NAT)

✅ Работает как полноценный маршрутизатор

8. Как это работает в целом

1. Устройство из LAN отправляет пакет

2. Сервер принимает его

3. Перенаправляет через WAN (ens160)

4. Подменяет IP (masquerade)

5. Интернет отвечает серверу

6. Сервер возвращает ответ клиенту

9. Типичная схема

[ Клиенты LAN ]

ens192 (LAN)

[ Linux сервер ]

ens160 (WAN)

Интернет

10. Частые ошибки

❌ Не включён ip_forward

❌ Неправильно указан интерфейс (ens160)

❌ nftables не запущен

❌ Конфиг не подключён в nftables.conf

11. Проверка

Проверить NAT:

nft list ruleset

Проверить маршрутизацию:

cat /proc/sys/net/ipv4/ip_forward

Должно быть:

1

Вывод

Ты настроил:

• сетевые интерфейсы (nmtui)

• маршрутизацию (sysctl)

• NAT (nftables)

• автозапуск (systemctl)

Это классическая конфигурация Linux как шлюза/роутера — основа для серверов, виртуализации и лабораторных сетей.