TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 9.02K subscribers
Post #4470 2.98K
​​Как настроить выход в интернет через Linux?

Такой вопрос задал один из читателей в комментариях под статьей про базовую установку ОС для сервера.

У нас есть статьи на эту тему, они хоть и довольно старые, но будут работать и сегодня, хотя в современных системах некоторые вещи можно сделать и более изящно.

Но есть одно но, большинство из них предусматривает также настройку кеширующего прокси-сервера SQUID.

На наш взгляд сегодня это абсолютно избыточно, во всяком случае для рядовых коммерческих организаций.

Большинству будет достаточно включить форвардинг пакетов в ядре и настроить SNAT или маскарадинг.

Для этого в /etc/sysctl.conf добавьте:

net.ipv4.ip_forward = 1

А в таблицу nat добавить правило:

iptables -t nat -A POSTROUTING -o ens33 -s 192.168.100.0/24 -j MASQUERADE

Где ens33 - интерфейс выхода, а 192.168.100.0/24 - диапазон локальной сети.

Подробнее про все это можно прочитать в нашей статье: Основы iptables для начинающих. Часть 4. Таблица nat - типовые сценарии использования

А теперь о том, что же не так со SQUID и почему он сегодня вам, скорее всего, не нужен.

Когда-то давно, когда деревья были большими, а интернет дорогим и медленным SQUID позволят решать эту проблему средством кеширования. Т.е. если у вас один пользователь посетил условный сайт, то все следующие пользователи могут не скачивать с него заново статическое содержимое, а получить его из кеша-прокси сервера.

Это позволило значительно ускорить загрузку сайтов у пользователей и снизить нагрузку на канал.

Вторая задача, которую эффективно решал SQUID - это был контроль доступа: черные и белые списки, контентный фильтр, фильтр по MIME и т.д.

Третья - контроль и отчетность, анализируя логи можно всегда было сказать кто выкачал весь трафик или на какие сайты он ушел.

Но все течет, все меняется. На смену HTTP поголовно пришел HTTPS и выяснилось, что SQUID стал практически бесполезен.

Так как каждый пользователь теперь имеет индивидуальный зашифрованный уникальным одноразовым ключом канал браузер-сайт, то кешировать стало нечего.

Да и в эпоху широкополосного интернета бывает быстрее скачать статику заново, чем искать ее в кеше, особенно если он на тарахтящем HDD.

Фильтровать тоже стало нечего. Трафик закрыт. Да мы можем вскрыть его через SSL-Bump - но это фактическая атака человек посередине и резко снижает безопасность сети.

Если просто вскрывать заголовки и фильтровать по домену назначения, то это становится чудовищно неэффективно по вычислительным затратам. И зачем заниматься расшифровкой, если все тоже самое можно сделать на уровне DNS?

Есть даже специализированные решения, мы подробно рассматривали одно из них в статье: Создаем собственный фильтрующий DNS-сервер на базе Pi-hole

Статистика потребленного трафика? А кого она сейчас волнует, сегодня может стать вопрос - кто грузит канал, но не вопрос - кто скачал сколько гигабайт.

Ну а при желании понять кто-куда лазил всегда можно снять статистику с лога DNS.

Таким образом мы не видим сегодня причин использовать прокси, все прекрасно решается и без него.

Но просто так сдавать свои позиции SQUID пока не намерен, но это уже нишевые применения. А это уже совсем другая история.
  • 👍 30
  • ❤ 3
More from @interface31
  1. Oct 14, 2026Mageia 10 - такое волшебство нам не нужно! В мире Linux есть различные дистрибутивы, больш…
  2. Oct 14, 2026Post #6879
  3. Oct 14, 2026Зачем они варят пингвина в котле? А вообще от Mageia 10 впечатления удручающие, налицо не…
  4. Oct 14, 2026ИИ уже в бизнесе. И что дальше? 19 ноября в Москве на RLT.Conf «В IT с головой × ИИ × бизн…
  5. Oct 13, 2026Про «реальную производительность» и APDEX В комментариях нас уже несколько раз спросили, к…
  6. Oct 13, 2026Привет! Я Рома, тимлид разработки 👋 Последний год плотно занимаюсь AI-агентами и OpenClaw…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →