# iptables -N a-essent
# iptables -N a-noness
# iptables -A a-essent -j ACCEPT
# iptables -A a-noness -j ACCEPT
# iptables -A FORWARD -ые ppp0 -m tcp -p tcp -іsport ftp-data:ftp -j a-essent
# iptables -A FORWARD -ые ppp0 -m tcp -p tcp -іsport smtp -j a-essent
# iptables -A FORWARD -ые ppp0 -m tcp -p tcp -іsport www -j a-essent
# iptables -A FORWARD -j a-noness
Это выглядит достаточно простительно. К сожалению, маленькая, но неминуемая проблема при попытке делать учет сервисным типом. Мы обсуждали в одном из предыдущих глав роли MTU в работе с сетями TCP/IP. MTU определяет наибольший пакет, который будет передан на сетевое устройство. Когда пакет получен маршрутизатором, и этот пакет больше, чем MTU интерфейса, который виноват его передать, маршрутизатор выполняет фрагментацию (fragmentation). Маршрутизатор разбивает большой пакет на маленькие части не больше, чем MTU интерфейса, и потом передает эти части. Маршрутизатор формирует новые заглавия для пакетов, которые вышли, по которых получатель сможет возобновить исходный пакет. К сожалению, в течение фрагментации значение порта будет затеряно для всего, кроме первого фрагмента. Значат, что учет IP не может правильно считать фрагментированные пакеты, а только первые фрагменты или нефрагментированные пакеты. Есть маленькая хитрость ipfwadm, что позволяет считать пакеты, даже не зная порт другого и следующего фрагментов. Первая версия программного обеспечения Linux accounting назначала фрагментам поддельный номер порта 0xFFFF, что мы могли перехватывать для учета. Мы фиксируем вторые и следующие фрагменты, используя правило:
# ipfwadm -A both -я -W ppp0 -P tcp -S 0/0 0xFFFF
Реализация IP chains имеет немного больше сложные решения, но результат той же. При использовании команды ipchains нужно использовать правило: # ipchains -A forward -ые ppp0 -p tcp -f
Для iptables подойдет правило: # iptables -A FORWARD -ые ppp0 -m tcp -p tcp -f
Это правило не будет сообщать нам, какой первобытный порт для этих данных, но по крайней мере ми способные видеть, сколько из наших данных является фрагментами.
В ядрах 2.2 вы можете выбирать при настройке ядра опцию, которая разрешает эту проблему, если ваша Linux-машина действует как одиночная точка доступа к сети. Если вы включили при построении ядра опцию IP: always defragment, все пакеты будут повторно собраны маршрутизатором Linux перед маршрутизацией и передачей. Эта операция выполняется перед firewall, и учетный блок видит пакеты. Таким образом, фрагментов просто не будет. В ядрах 2.4 откомпилируйте и загрузите netfilter с модулем forward-fragment.
Учет по пакетам ICMP
Протокол ICMP не использует сервисные номера портов, так что сбор статистики по нему труднее. ICMP использует ряд разных типов пакетов. Многие из их безобидные и нормальные, у той час, как другие появляются только при специальных обстоятельствах. Иногда пытаются обвалити систему, посылая огромное число пакетов ICMP. Эта атака называется ping flooding. Против такой атаки красивый IP firewall, а IP accounting позволить узнать, кто это сделал.
ICMP не использует порты в отличие от TCP и UDP. Вместо их используются типы сообщений ICMP. Ми можем создать правила, чтобы учитывать каждый тип сообщений ICMP. Для этого нужно определить тип сообщения ICMP вместо номера порта в команде ipfwadm. Типы сообщений перечисленные в разделе "Типы пакетов ICMP" главы 9.
Для сбора данных о передаче пакетов ICMP по всем типам сообщений используйте правило:
# ipfwadm -A both -я -P icmp -S 0/0 8
# ipfwadm -A both -я -P icmp -S 0/0 0
# ipfwadm -A both -я -P icmp -S 0/0 0xff
# ipchains -A forward -p icmp -s 0/0 8
# ipchains -A forward -p icmp -s 0/0 0
# ipchains -A forward -p icmp -s 0/0 -f
или в iptables:
# iptables -A FORWARD -m icmp -p icmp -іsports echo-request
# iptables -A FORWARD -m icmp -p icmp -іsports echo-reply
# iptables -A FORWARD -m icmp -p icmp -f
Первое правило собирает информацию относительно пакетов ICMP Echo Request (ping requests), вторую правило собирает информацию относительно пакетов ICMP Echo Reply (ping replies). Третье правило собирает информацию относительно фрагментированных пакетов ICMP. Этот прием подобен описанному для фрагментированных пакетов TCP и UDP.
Если определяем источники й/або адресата в ваших правилах, возможно следить, откуда приходят пакеты, изнутри сети или внешне.
Учет по протоколам
Допустимо, нам интересно, какие протоколы используются нашим трафиком: TCP, UDP или ICMP. Здесь нам поможет правило:
# ipfwadm -A both -я -W ppp0 -P tcp -D 0/0
# ipfwadm -A both -я -W ppp0 -P udp -D 0/0
# ipfwadm -A both -я -W ppp0 -P icmp -D 0/0
или:
# ipchains -A forward -ые ppp0 -p tcp -d 0/0
# ipchains -A forward -ые ppp0 -p udp -d 0/0
# ipchains -A forward -ые ppp0 -p icmp -d 0/0
или:
# iptables -A FORWARD -ые ppp0 -m tcp -p tcp
# iptables -A FORWARD -o ppp0 -m tcp -p tcp
# iptables -A FORWARD -ые ppp0 -m udp -p udp
# iptables -A FORWARD -o ppp0 -m udp -p udp
# iptables -A FORWARD -o ppp0 -m icmp -p icmp
С этими правилами трафик через интерфейс ppp0 будет проанализирован, чтобы определить тип протокола: TCP, UDP или IMCP, и соответствующие счетчики будут модифицированы для кожного пакета.
Использование результатов IP Accounting
Чтобы пересматривать собранные данные о трафике и конфигурированные правила, ми используем команды настройки firewall. Пакеты и счетчики байтов для кожного из наших правил будут перечисленный в выводе.
Команды ipfwadm, ipchains и iptables отличаются по тому, как обрабатываются собирают данные, что, так что ми рассмотрим их независимо.
Пересмотр данных с помощью ipfwadm
Команда ipfwadm позволяет смотреть собранные данные о трафике таким способом:
# ipfwadm -A -l
IP accounting rules
pkts bytes dir prot sourcedestination ports
9833 2345K i/o all 172.16.3.0/24 anywheren/a
56527 33M i/o all 172.16.4.0/24 anywheren/a
Это сообщает нам число пакетов направление, которое представляет каждое. Если ми используем расширенный исходный формат с опцией -ое (не показаний здесь, потому что вывод слишком широкий для страницы), ми также одержимый список опций и имена интерфейсов. Большинство полей в выводе понятные, так что я объясню только некоторые:
dir Направление, в котором применяется правило. Ожидаемые здесь значения: in, out или i/o (оба направлению).
prot Протокол, для которого применяются правила.opt. Кодируется форма параметров, использованных при вызове ipfwadm.
ifname Имя интерфейса, к которому применяется правило.
ifaddress
Адреса интерфейса, к которому применяется правило.
За умалчиванием ipfwadm отображает счетчики пакетов и байтов в сокращенной форме, округленной к ближайшей тысяче (K) или миллиону (M). Можно задать вывод точных чисел без округления:
# ipfwadm -A -l -ое –х Пересмотр данных с помощью ipchains
Команда ipchains не будет отображать данные учета (счетчики пакетов и байтов), если не заданий параметр -v:
# ipchains -L –v очно как из ipfwadm мы можем отображать счетчики пакетов и байтов точно, используя опцию -х:
# ipchains -L -v –х Пересмотр данных с помощью iptables
Команда iptables вести себя очень похоже на ipchains. Опять мы должны использовать -v для пересмотра результатов учета трафика:
# iptables -L –v Как и с командой ipchains можно использовать -х для показа точных данных.
Перезапуск счетчиков
Счетчики для IP accounting могут переполниться. Если они переполняються, Вы будете иметь трудности с определением их реальных значений. Чтобы не было этой проблемы, Вы должны периодически протоколировать их показания и потом сбрасывать счетчики в нуль, чтобы начать собирать информацию для следующего интервала учета.
Команды ipfwadm и ipchains позволяют сделать это просто:
# ipfwadm -A –z или: # ipchains –Z или: # iptables -Z
Вы можете даже совмещать вывод списка и обнуление, чтобы гарантировать что никакие данные учета не затеряны между этими действиями:
# ipfwadm -A -l –z или: # ipchains -L –Z или: # iptables -L -Z -v
Эти команды сначала отобразят все данные из счетчиков, потом немедленно обнулят счетчики и начнут учет сначала. Если Вы регулярно собираете статистику, имеет смысл написать скрипт с соответствующими командами и вызывать его через cron.
Для групп компьютеров создать 3 вида образов дисков:
для группы компьютеров серверов serv/n (n – номер компьютера)
для группы компьютеров рабочих станций WS/n
для группы компьютеров работы с графикой GWS/n
Позволят быстрее возобновлять систему в случаи выхода из строя
Данные каждого работника хранятся на сервере ОРС serv/1 и периодически синхронизируются на OPC serv/2
На каждом сервере создать RAID 0 (в дальнейшем планируется переход на RAID 5.
На сервере OPC serv/2 установить DHCP сервер, который раздает автоматически IP-адреса для пользователей сети.
Сервер OPC serv/2 сделать колером домену.
Сервер OPC serv/2 сделать маршрутизатором, WEB и FTP сервером.
Рекомендации что к возобновлению рабочих станций в будущем при сбоях в их работе:
Установить OS Linux Suse
На файловом сервере (192.168.1.2) есть *.IMG файл диска
Запустите программу True Image и возобновить раздел на диске
Загрузить Linux
Зайти в меню Setup (Командой setup) там выбрать раздел сеть и выбрать настройку интерфейса eth0.
Для возобновления Ос Linux нужно возобновить 2 раздела HDA1 и HDA3
HDA4 лучше не трогать на нем берегутся данные пользователей.
5)IP-address указать автоматически (опция dhcp), dns:192.168.1.1
6)Настроить авторизацию через домен (имя домена stareditor)
На каждой рабочей станций из линукс HDD разбитый таким образом
HDA1 = 1Gb filesystem=EXT3 “/boot”HDA3 = 26 Gb EXT3 “/”
HDA2 = 400 mb “SWAP” HDA4 = 60 Gb EXT3 “/usr”
II)OS Windows XP Professional SP1
загрузить True image
Зайти на файловый сервер (192.168.1. 2), запустить IMG файл диска. К серверу можно подключится тремя способами первый через FTP, второй через сеть ms windows и третий через nfs. Зайти в каталог //secure/recovery/img/windows/win.img
Дальше зайти в Windows и настроить подключение к домену
На каждой рабочей станций из Windows HDD разбитый таким образом
HDA1 = 1Gb filesystem=NTFS “Loader” HDA3 = 50 Gb NTFS “TEMP”
HDA2 = 50gb filesystem=NTFS“Win&APPS” HDA4 = 60 Gb EXT3 “/usr”
Рекомендации что к возобновлению серверу
Его можно возобновить через Образ как привычные WS.
В случаи если конфигураций серверу не будут работать можно настроить его заново в ручную
Установка те Настройки Серверу
Для установки серверу нам будет нужно дистрибутив Linux FC4.
Компьютер OPC serv/2 или OPC serv/1.
Перед установкой Linux нужно убедится, что вы устанавливаете на первый диск.