Шрифт:
Интервал:
Закладка:
Комплексное тестирование
Теперь настало время проверить – правильно ли настроено наше соединение по выделенному каналу. Для этого перезагрузите компьютер-шлюз для вступления в силу внесенных в файл inittab изменений и временно отключите все настройки брандмауэра (если вы, конечно, установили его). Затем необходимо попытаться выйти в Интернет. Быстрее всего – использовать программу ping:ping http://www.bhv.ru
Если все было настроено корректно, то вы увидите отклик от сайта www.bhv.ru.
Если у вас все прошло именно таким образом, значит, система работает как надо. В противном случае проанализируйте последние строки системного журнала (/var/log/messages).
Этим действием мы проверили корректную работу только с нашего компьютера-маршрутизатора. Однако нам надо сделать то же самое и с любого компьютера в локальной сети. Если что-то пошло не так, проверьте корректность настройки протокола TCP/IP на этой машине, в частности – настройки сетевого шлюза, которые должны указывать на наш компьютер-маршрутизатор.
Итак, вы получили вполне работоспособный шлюз в Интернет для вашей локальной сети. Однако это далеко не все. Система наша открыта для любого постороннего вмешательства, а шлюз должен обеспечить беззащитную локальную сеть защитой извне и изнутри, вести учет потребленного трафика (и причем зачастую – покомпьютерно), ограничить нас от информации нежелательной или сомнительной (например баннеров), обработать статистику и красиво ее подать – лучше всего графически. Как видите – задач много, и мы будем их решать постепенно.
Защита локальной сети
Защита локальной сети – понятие комплексное и многогранное. В данном случае мы имеем в виду правильную настройку брандмауэра на нашем компьютере-шлюзе. Процедура настройки брандмауэра была описана в гл. 29, и к этому вопросу добавить больше нечего.
Установка proxy-сервера
Следующее, что мы должны решить для нашей локальной сети – каким образом минимизировать расходы на потребляемый Интернетом трафик и как увеличить скорость получения информации. Для решения этой проблемы используется стандартный рецепт – proxy-сервер. Что собой представляет proxy-сервер? Если с помощью браузера, настроенного для работы через proxy-сервер, вы запросите из Интернета какой-либо документ, и при этом окажется, что некоторое время назад кто-то уже обращался с подобным запросом, вы получите документ незамедлительно, с максимальной скоростью, на которую способно ваше сетевое подключение, потому что направлена вам будет копия документа, взятая из кэша proxy-сервера. Если же в кэше proxy-сервера данный документ отсутствует, то proxy-сервер запросит удаленный Web-cepвep, хранящий оригинал, выдаст документ вам, и одновременно положит копию документа в свой кэш на случай такого же запроса. Чем больше пользователей пользуются proxy-сервером, тем более существенной становится его помощь.
Наиболее часто используемой программой proxy является программа Squid – высокопроизводительный кэширующий proxy-сервер, поддерживающий протоколы FTP, Gopher, и HTTP. Squid сохраняет часто запрашиваемые данные в оперативной памяти компьютера, что позволяет резко увеличить производительность proxy-сервера, кэширует DNS-запросы (это свойство интересно тем, кто не имеет своего DNS-сервера). Помимо вышеперечисленных возможностей, поддерживает SSL, расширенный контроль доступа и полную регистрацию запросов.
Программа Squid описана в гл. 22, однако мы позволим себе напомнить некоторые интересные моменты по ее использованию.
Transparent proxy
Transparent proxy – таким образом настроенный proxy-сервер, что его использование прозрачно для пользователей. Это имеет как хорошую, так и плохую стороны. С одной стороны, пользователям не придется настраивать соединение через proxy-сервер в своей системе, а трафик гарантированно проходит через proxy-сервер. С другой стороны, теряется свобода выбора пользователя – пользоваться или нет proxy-сервером. Кроме того, некоторые сайты некорректно обрабатываются proxy.
Для организации transparent proxy необходимо таким образом настроить маршрутизатор (брандмауэр), чтобы транзитные пакеты, предназначенные для 80 порта, попадали на вход proxy-сервера. Соответствующие настройки transparent proxy приведены в гл. 22.
Борьба с баннерами
Наверняка вам встречались Web-страницы, на которых рекламных баннеров было больше, чем нужной информации. В этом случае можно настроить локальный сервер Squid таким образом, чтобы не происходила закачка баннеров. Борьбу с баннерами можно производить разными методами:
• настроить отдельный proxy-сервер с ограничением баннеров: хочешь – используй, не хочешь – не используй;
• совместить ограничение баннеров с transparent proxy;
• организовать proxy на локальной системе для ограничения баннеров.
Соответствующие настройки программы Squid для борьбы с баннерами приведены в гл. 22.
Разделение внешнего канала (ограничение трафика)
Часто бывает так, что у вас есть внешний канал – скажем, 128 Кбит, и несколько групп пользователей с определенным приоритетом.
И надо, чтобы одна группа имела фиксированную ширину наружного канала (скажем, 64 Кбит), а две другие – ширину наружного канала по 32 Кбит. Для решения этой непростой задачи мы также можем воспользоваться Squid. Соответствующие настройки программы Squid для разделения внешнего канала приведены в гл. 22.
Помимо Squid, для этого можно воспользоваться специализированными программами, называемыми traffic shaper. Существует несколько программ такого типа с различной функциональностью. В частности, есть traffic shaper, которая позволяет ограничить канал не по пропускной способности, а по полученным мегабайтам. Принцип действия ее оригинален и прост. Допустим, у вас выделенный канал, причем в арендную плату входит один гигабайт входящего трафика. В программе traffic shaper выставляется ограничение один гигабайт в месяц. Далее происходит следующее. В начале информация качается с той скоростью, с какой способен передавать информацию выделенный канал, но при приближении к заветной цифре – пропускная способность канала, ограниченного traffic shaper, все уменьшается и уменьшается, не позволяя вам выйти за рамки ограничения в один гигабайт в месяц. В результате, в последние дни месяца скорость канала может упасть до десятков байтов в секунду.
В качестве стабильной и хорошо конфигурируемой программы типа traffic shaper можно порекомендовать пакет CBQ. Ограничивать трафик можно и с помощью утилиты tc, входящей в пакет iproute2.
Мониторинг загрузки каналов
Для анализа загрузки интернет-канала необходимо использовать дополнительный пакет, поскольку разбираться самим в log-файлах системы – задача неблагодарная. Чтобы обеспечить требуемую наглядность, такой пакет должен выдавать информацию в графической форме, причем, желательно, с помощью Web-интерфейса. Все эти условия реализованы в программах MRTG (Multi Router Traffic Grapher) и RRDtool (Round Robin Database).
Программа MRTG
MRTG создает HTML-страницу с отображением загрузки канала за сутки, неделю, месяц и год. Для этого используется написанный на Perl скрипт, который опрашивает маршрутизатор через SNMP, а программа, написанная на С, обрабатывает получившийся результат и создает встроенные в HTML-страницу изображения в формате GIF/PNG. Помимо собранной самостоятельно информации пакет MRTG может обрабатывать информацию и из других источников (cpuinfo, df, squid и т. п.) и строить графики по полученной информации.
Большим преимуществом данной программы является постоянный размер журналов, в которых более старая информация хранится с меньшими подробностями.
Внешний вид получаемых графиков приведен на рис. 30.1.
Рис. 30.1. Результат работы программы MRTGКонфигурирование MRTG
Для конфигурирования программы MRTG используется файл mrtg.cfg, параметры которого и будут рассматриваться в данном разделе. Как обычно, будут приведены только ключевые параметры, с полным списком можно ознакомиться в документации, прилагаемой к этому программному пакету.
Правила записи параметров в конфигурационном файле:
• ключевое слово – в начале строки;
• двоеточие – разделитель, идущий сразу за ключевым словом;
• строка продолжения начинается с пробела;
• строки комментария начинаются с символа #.
Итак, файл mrtg.cfg может содержать следующие команды:
• Include: имя_файла – подключаемый файл;
• WorkDir: имя_каталога – задает размещение журнала, рабочих файлов и генерируемых страниц, имеет приоритет над HtmiDir, imageDir и LogDir;
• HtmiDir: имя_каталога – задает размещение генерируемых страниц;
• ImageDir: имя_каталога – задает размещение генерируемых изображений; обязательно находится под HtmiDir – страницы генерируются в этом предположении;
• LogDir: имя_каталога – задает размещение журнала;
• Refresh: – частота перерисовки графи ков в браузере;
• RunAsDaemon: no | yes – запуск MRTG в режиме демона;
• Interval: – предполагаемый интервал запуска MRTG;
- Операционная система UNIX - Андрей Робачевский - Программное обеспечение
- Искусство программирования для Unix - Эрик Реймонд - Программное обеспечение
- Разработка приложений в среде Linux. Второе издание - Майкл Джонсон - Программное обеспечение
- Недокументированные и малоизвестные возможности Windows XP - Роман Клименко - Программное обеспечение
- Windows Vista. Трюки и эффекты - Юрий Зозуля - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Windows Vista - Виталий Леонтьев - Программное обеспечение
- Microsoft Windows XP Professional. Опыт сдачи сертификационного экзамена 70-270 - Владислав Карпюк - Программное обеспечение
- Основы программирования в Linux - Нейл Мэтью - Программное обеспечение
- Windows Vista. Мультимедийный курс - Олег Мединов - Программное обеспечение