Петрозаводский государственный университет

Математический факультет

 

 

Кафедра информатики и

математического обеспечения

 

 

 

 

 

 

 

 

 

Отчет о ходе выполнения курсовой работы

 

IP accounting в Linux

 

 

 

 

Выполнила: студентка 3-го курса

Позднякова Н.В.    Подпись

Научный руководитель:

Пономарев В.А.

 Оценка             Подпись

Представлен  « ____»  декабря 2004г.

 

Оценка оформления отчета и сроков

представления отчета

Оценка              Подпись             

                                              

 

 

 

 

 

 

 

 

 

 

 

 

Петрозаводск

2004

Оглавление.

Введение…………………………………………………………………………………стр.3

 

Цель курсовой работы…………………………………………………………………стр.4

 

Проделанная работа……………………………………………………………………стр.4

 

Использованные источники……………………………………………………………стр.5

                                                        Введение.

 

Linux начался с Линуса Торвальдса в 1991 году, как персональный проект. Линус пытался найти способ запуска Unix-подобной операционной системы без существенных материальных затрат. В дополнение к этому он хотел изучить подробности ввода и вывода 386-го процессора. То, что получилось, он выложил длябесплатного использования с возможностью модификации всем желающим.  Linux сейчас разрабатывается сотнями, если не тысячами программистов со всего мира. В нём работают такие программы, как Sendmail, Apache и BIND, которые являются наиболее распространёнными серверными программами в Internet.

На самом деле, термин ''linux'' относится только к ядру - центру операционной

системы. Ядро ответственно за управление процессором, памятью, жёсткими дисками и периферийными устройствами. Это на самом деле всё, делает что Linux. Он контролирует работу компьютера, и следит за тем, чтобы все программы работали. Все те программы, которые делают Linux пригодным к использованию, разработаны независимыми группами. Ядро и программы связываются вместе различными компаниями и людьми, чтобы организовать операционную систему. Мы называем это дистрибутивом Linux.

 

Сегодня в мире коммерческих сервисов Internet важно знать, сколько данных передается и получено на сетевых подключениях. Имеются другие применения для сетевого учета, которые не имеют никакого отношения к долларам и счетам. Для управления сервером, который предлагает ряд различных типов сетевых услуг, иногда полезно знать точно, сколько данных генерируется каждым типом услуг. Эта информация могла бы помочь в принятии решений, какие аппаратные средства покупать, или сколько серверов выполнить. Ядро Linux обеспечивает средство, которое позволяет собирать все типы полезной информации относительно сетевого трафика. Это средство названо IP accounting. Протокол ICMP не использует сервисные номера портов, так что сбор статистики по нему труднее. ICMP использует ряд различных типов пакетов. Многие из них безобидны и нормальны, в то время как другие появляются только при специальных обстоятельствах. Иногда пытаются обвалить систему, посылая огромное число пакетов ICMP. Эта атака называется ping flooding. Против такой атаки хорош IP firewall, а IP accounting позволит узнать, кто это сделал.

 

Как известно, все коммуникации, использующие протокол IP, передают данные в виде пакетов. В начале каждого пакета есть заголовок, в котором написано, от кого и кому этот пакет (в виде IP-адресов), к какому протоколу более высокого уровня он относится (ICMP, TCP, UDP и т.п.), в некоторых случаях (для протоколов UDP и TCP) - номера портов отправителя и получателя, а также другая специфическая информация. На пути от отправителя к получателю пакет может проходить через промежуточные узлы. В зависимости от информации, которая содержится в заголовке IP-пакета, они могут этот пакет переслать на следующий узел (forward), передать локальной программе для обработки, уничтожить (deny), отвергнуть, т.е. уничтожить и отправить об этом уведомление отправителю (reject). Выбор и осуществление одного из этих действий и называется фильтрацией пакетов. Возможность фильтрации встроена в ядро Linux, но для установки конкретных правил используются отдельные программы.

 

 

 

 

Цель курсовой работы.

 

Целью курсовой работы является настройка IP accounting в SuSE9.1 Linux2.6.5(именно эта версия ОС установлена на учебном сервере kappa).

            Ядро Linux обеспечивает средство, которое позволяет собирать все типы полезной информации относительно сетевого трафика. Это средство названо IP accounting.

            Для настройки отдельных опций необходимо обладать общими знаниями по компилированию ядра и о системе в целом. Также важно понимать смысл каждой команды, четко представлять, что произойдет при ее использовании.

 

Проделанная работа.

 

Для пробной настройки IP accounting была выбрана операционная система SuSE9.0 Linux2.4. Выбор связан с отсутствием каких-либо инструкций по настройке для Linux2.6.

            Чтобы активизировать Linux IP accounting, необходимо сначала проверить сконфигурировано ли  ядро  для этого. Нужно проверить, существует ли файл /proc/net/ip_acct. Если да, ядро уже поддерживает IP accounting. Если нет, придется построить новое ядро, ответив “Y” для следующей опции (в ядре 2.4):   [*] Network packet filtering (replaces ipchains). В секции Networking options ответить утвердительно на следующие вопросы:

TCP/IP networking (CONFIG_INET) [y]

IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y]

IP multicasting (CONFIG_IP_MULTICAST) [y]

IP firewalling (CONFIG_IP_FIREWALL) [y]

IP accounting (CONFIG_IP_ACCT) [y]

 

Поскольку IP accounting очень тесно связан с IP firewall, для их настройки

используется одна программа. В зависимости от реализации это ipfwadm, ipchains или iptables. Синтаксис команды очень похож на используемый при задании правил firewall.

Общий синтаксис для IP accounting с ipfwadm: # ipfwadm -A [direction] [command] [parameters]

Параметр direction принимает значения in, out или both. Все

значения считаются с точки зрения linux-машины, так что in задает входящий

трафик, out задает исходящий трафик, а both оба типа сразу.

Общий синтаксис для ipchains и iptables: # ipchains -A chain rule-specification

# iptables -A chain rule-specification

Команды ipchains и iptables позволяют определять направление в стиле, больше

похожем на определения правил. IP Firewall Chains не позволяет настроить правила для обоих направлений сразу, но позволяет настроить правила в наборе forward. Команды очень похожи на свои аналоги для правил firewall за исключением того, что стратегии здесь не применяются. Можно добавлять, вставлять, удалять и просматривать список правил учета. В случае ipchains и iptables, все имеющие силу правила считаются правилами для учета, и любая команда, которая не определяет опцию -j, выполняет только учет.

Параметры спецификации правила для учета IP такие же, как и для IP firewall.

Была попытка применить указанные выше правила, но возникли некоторые трудности. В связи с этим было решено более качественно освоить ОС Linux.

 

В дальнейшем планируется перекомпилировать ядро (из 2.4 в 2.6) и попробовать тем же способом настроить IP accounting уже для нового ядра.

 

Использованные источники.

 

1. О.Кирх, Т.Доусон Linux для профессионалов. Руководство администратора сети, 2-ое изд.- СПб.: Питер,2001. -496с.: ил.

 

2. http://www.linuxbegin.ru

 

3. http://OpenNet.ru

 

4. http://www.opu.odessa.ua

 

5. http://www.linux.ru