Настроить Linux в роли маршрутизатора — это почти как научиться жонглировать огненными факелами: сначала страшно, потом интересно, а в итоге можно и на вечеринке всех удивить. Представьте себе: у вас есть старенький сервер с двумя сетевыми интерфейсами, и вы хотите, чтобы он раздавал интернет вашим устройствам. Не беда! В нашем арсенале — три волшебных слова: nmtui, sysctl и nftables. Если вы думали, что это имена новых супергероев Marvel — спойлер, нет. Это инструменты для настройки сети в Linux, и они могут превратить ваш компьютер в настоящего интернет-шлюза.
Начинаем с nmtui — не пугайтесь названия! Это просто текстовый интерфейс для настройки сети через NetworkManager. Если бы сеть была рестораном, то nmtui — это официант с блокнотом, который записывает ваши пожелания: какой интерфейс будет гулять по просторам интернета (WAN), а какой останется тусоваться дома (LAN). Например, ens160 отправляется в интернет-путешествие, а ens192 остается играть с локальными устройствами. Кстати, переименование интерфейсов — это как дать клички своим котам: ens160 превращается в «Интернетный», а ens192 — в «Домашний». Главное не перепутать!
После того как вы расставили все точки над i (и поставили IP-адреса), пора обновить оболочку командой exec bash. Зачем? Представьте себе офисного работника, который получил новые инструкции по работе с принтером — ему нужно немного времени переварить информацию и начать работать по-новому. Вот так и bash перезапускается, чтобы подхватить свежие настройки.
Теперь самое интересное — включаем IP-переадресацию через sysctl.conf. Без этого ваш сервер будет вести себя как застенчивый курьер: получил посылку от одного устройства и положил ее на полку вместо того, чтобы передать дальше. Добавляем строчку net.ipv4.ip_forward = 1 и запускаем sysctl -p — теперь курьер стал настоящим почтальоном Печкиным из мультфильма: доставляет пакеты без промедления!
Переходим к NAT и nftables — тут начинается магия маскарадинга. Нет-нет, никакого карнавала не требуется! Маскарадинг — это когда ваш сервер прячет IP устройств вашей локальной сети за своим собственным адресом при выходе в интернет. Представьте себе шпионскую вечеринку: все гости приходят под одной маской сервера, чтобы никто не узнал их настоящих лиц (IP-адресов). Для этого создаем конфигурационный файл с таблицей nat и цепочкой POSTROUTING, где говорим системе «маскируй всё что выходит через ens160». Теперь все ваши устройства выглядят как один большой загадочный компьютер.
Не забудьте подключить вашу конфигурацию в /etc/sysconfig/nftables.conf — иначе nftables будет ходить по коням без уздечки. Уберите комментарий и укажите свой файл с настройками NAT. Затем запускайте systemctl enable —now nftables — команда звучит как заклинание из Гарри Поттера, но на самом деле просто включает службу сразу и навсегда при загрузке системы.
Что получилось? Ваш Linux-сервер теперь настоящий маршрутизатор! Он принимает пакеты от устройств LAN через ens192, меняет им лица на IP сервера через маскарадинг на ens160 и отправляет их в интернет. Ответы возвращаются обратно к нужному клиенту без потерь и задержек.
Но будьте осторожны! Часто новички забывают включить ip_forward или путают интерфейсы (например, пытаются выходить в интернет через ens192) — тогда маршрутизация работает примерно так же эффективно, как попытка делиться Wi-Fi со стеной дома. А если забыть запустить nftables или подключить конфиг — сервер будет стоять тихо-тихо как мышь под веником.