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

Настройка NAT и маршрутизации в Red Hat9 LinuxНастроить Linux в роли маршрутизатора – это примерно как научить кота приносить тапочки: вроде бы и сложно, но если разобраться, то вполне реально, а потом можно хвастаться перед друзьями. Представьте себе: у вас есть сервер с двумя сетевыми интерфейсами – один смотрит в интернет, другой – на вашу локалку. Задача – заставить этот зверь раздавать интернет всем домашним гаджетам, чтобы не бегать с кабелем к каждому отдельно. И вот тут на сцену выходят наши герои: nmtui, sysctl и nftables – инструменты, которые звучат как имена персонажей из фантастического романа, но на самом деле – просто стандартные утилиты Linux.

Начинаем с nmtui. Это такая удобная текстовая штука для настройки сети, которую даже бабушка поймет, если объяснить на пальцах. С помощью nmtui вы назначаете IP-адреса интерфейсам и решаете, кто будет «внешним» (тот самый ens160) и кто «внутренним» (например, ens192). Представьте себе: ens160 — это ваш друг-курьер в интернет-магазин, а ens192 — домочадцы дома. Вы говорите курьеру: «Ты идёшь за посылками», а домочадцам — «Ждите здесь». Весело? Еще бы! Ведь без правильного назначения IP-адресов ваш курьер может прийти с пиццей по адресу соседей.

После того как интерфейсы настроены, иногда бывает полезно перезапустить оболочку командой exec bash. Это как встряхнуть старую кофеварку после долгого простоя – помогает обновить переменные среды и сетевые настройки. Не всегда нужно, но когда кажется, что что-то не работает – попробуйте это магическое заклинание.

Дальше переходим к волшебству под названием ip_forward. В файле /etc/sysctl.conf надо включить строчку net.ipv4.ip_forward = 1. Без этого ваша машина будет вести себя скромно и тихо – просто принимать пакеты и ничего с ними не делать. А включив ip_forward, она превращается в настоящего роутера! Если представить пакет данных как почтальона с письмом — без ip_forward он застрянет у вашей двери и скажет: «Извините, я не могу пройти дальше». А с ip_forward он получит пропуск VIP-класса.

Теперь самое интересное – настройка NAT через nftables. Создаем файл /etc/nftables/my_nat.nft и прописываем там правила маскарадинга для интерфейса ens160. Маскарадинг — это такой хитрый трюк: все устройства вашей домашней сети выходят в интернет под одним IP-сервером. Можно сказать, что сервер надевает маску супергероя и говорит миру: «Это я!» вместо каждого отдельного клиента из локалки. Забавно? Да! Особенно когда понимаешь, что без маскарадинга каждый гаджет пытался бы заявиться в интернет со своим непонятным адресом и его бы никто не пустил.

Чтобы эта красота работала постоянно, редактируем конфиг /etc/sysconfig/nftables.conf и подключаем туда наш файл my_nat.nft вместо стандартного main.nft. Это как сменить плейлист на вечеринке – теперь играет только ваша любимая музыка (или ваши правила NAT).

Запускаем службу nftables командой systemctl enable —now nftables — включаем автозапуск и сразу запускаем ее сейчас же. Потому что зачем ждать завтра? Интернет любит скорость!

Итого мы получили полноценный маршрутизатор на базе Linux-сервера: пересылает пакеты между LAN и WAN (ip_forward), прячет внутренние адреса под одним IP (NAT), запускается автоматически при загрузке системы… Если бы наш сервер был человеком — он бы уже получил медаль за заслуги перед сетью.