Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #42, МАЙ 2004 г.

Проруби окно в Европу!

Vint (vint@crazy.ru)

Спецвыпуск Xakep, номер #042, стр. 042-078-1


Настраиваем интернет-шлюз на Линуксе

Начнем работу с самого начала - с выбора операционной системы. Есть два основных варианта: Линукс и винды (BSD и QNX пока рассматривать не будем). Следует выбрать винды, если необходима легкость конфигурирования, разнообразие софта, привычная идеология системы.

К недостаткам же сервера на ОС Windows можно отнести повышенные требования к ресурсам, подверженность DoS-атакам, довольно малую стабильность в сети. Причем, время от времени находятся уязвимости, приводящие к полному выходу из строя сервера - от одной найденной уязвимости в ХР серверы падали более полугода.

Про Линукс-сервер хочется сказать следующее: настройка, конечно, сложнее виндовой, графический интерфейс не имеет такого развития и такой мощи, как в виндах, знания ОС и сетей у администратора должны быть довольно глубокими. К плюсам относят то, что настроенный и отточенный сервер будет служить верой и правдой многие месяцы. Поддержка сводится к периодическому обновлению основных серверов (например, апач и самба), и все. Очень многие задачи администратора в Линуксе автоматизированы на уровне отдельных демонов, изучив которые, ты избавишься от рутинной работы (винды тоже несложно автоматизировать ;) – прим. Dr.).

Для серверов советую выбрать дистрибутив от Mandrake или от Red Hat, заказать который можно, скажем, на www.linuxcenter.ru. Принципиальных различий между этими дистрибутивами нет. В статье я буду использовать дистрибутив Mandrake 9.2. Такой выбор можно объяснить большей дружественностью системы и моей личной привычкой. Что же касается железной конфигурации, то у шлюза она очень умеренная: 500 МГц атлон, 256 мегов оперативки и винчестер 10 гиг, видеокарта встроенная, звук не нужен – вот и весь наш скромный набор туриста.

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

Доступ в интернет

Разделение и учет трафика можно организовать двумя основными путями: настройкой маршрутизации в связке с биллинговой системой или использованием прокси-сервера. Обе схемы равноправны и применяются достаточно широко. Сначала рассмотрим наиболее простую в реализации: использование прокси-сервера. Общий принцип такой: каждый пользователь ЛС прописывает в браузере IP и порт провайдерского прокси-сервера, после чего все запросы браузер отправляет на определенный порт твоего Линукс-сервера. Где программа-демон, слушающая этот порт, смотрит на IP отправителя и на конечную цель пакета и решает, что делать: для локальных запросов обработать сразу, а для запросов во внешние сети сначала посмотреть на внутренний кэш и только потом, не найдя там необходимых файлов, отправить запрос далее в интернет. Если же запрашиваемая страница есть в кэше прокси, она будет просто извлечена оттуда и отправлена пользователю. Плюсы такой организации шлюза: легкость настройки, управления, бесплатность (прокси-сервер есть в любом дистрибутиве Линукса). А вот минусы часто заставляют переходить на более высокий уровень, применяя полноценную биллинг-систему (которым в этом номере посвящена одна из статей). Дело в том, что у прокси есть огромные ограничения. Первое – поддерживаются только НТТР и FTP. Прокси-сервер заметно замедляет работу сетевого подключения в целом, ведь перед отправкой запроса в инет пакет подвергается анализу, а если таких пакетов очень много, сервер может задуматься надолго.

Содержание  Вперед на стр. 042-078-2