Beta
подарки (0)
Андрей *andoreast*
мужчина, хочет чего-то
Мероприятия
Тестовая страничка

первая колонка
вторая колонка
Обо мне
Андрей *andoreast*
Контактая информация
ICQ: 64572834
Jabber: andoreast@gmail.com
News2: andoreast
Веб-сайт: http://www.dalas.ru
Места военной службы
в/ч 47047, г. Хабаровск
Период лет: с 1998 по 2000
Комментарий:
Места учёбы
ДВГТУ, г. Владивосток
Период лет: с 1994 по 1998
Комментарий:
Стена2
10 сентября 2009 в 08:21
отличный вездеход!
10 сентября 2009 в 01:55
третья колонка

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

Ну начнем, во-первых, для файервола используем готовую сборку турецкого товарища, славно потрудившегося над своим проектом Comixwall, где на базе операционной системы OpenBSD собран очень неплохой файервол с использованием нескольких прокси (веб-прокси, IM-прокси, FTP-прокси, SOCKS, SMTP, POP-прокси), а также ssh-сервер, веб-сервер (для управления файерволом через веб-интерфейс), вирусный фильтр ClamAV,  спам-фильтр SpamAssassin, DNS, DHCP-сервер, система обнаружения вторжений Snort и пр… Все это дело рулится с вебморды, что очень облегчает как создание правил файервола, так и конфигурирование остальных настроек сервера. Все это дело весит около 110 мегабайт, качаем с сайта Comixwall. Там же есть подробная документация по установке и настройке сервера, в списке доступных языков веб-интерфейса присутствует русский, спасибо опять же вышеупомянутому человеку :)

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

В общем, файервол готов, далее нам нужен сервер статистики и пр. В исходный дистрибутив разработчик файервола наотрез отказался включать систему биллинга (во избежание дыр MySQL и пр.), что в принципе верно, но мы, в силу ограниченности ресурсов, все же попробуем установить Netams на это же железо.

Первым делом доустанавливаем компоненты OpenBSD (далее речь пойдет о версии OpenBSD 4.5 и созданном ее этой базе файервола):

Качаем файлик comp45.tgz в зависимости от версии ОС и архитектуры )пример для OpenBSD 4.5 x86x64 — ftp://ftp.openbsd.org/pub/OpenBSD/4.5/amd64/comp45.tgz

cd /

tar xzvpf comp45.tgz

 

Ставим порты:

cd /tmp

ftp ftp://ftp.openbsd.org/pub/OpenBSD/4.5/ports.tar.gz

cd /usr

sudo tar xzf /tmp/ports.tar.gz

 

Ставим mysql:

pkg_add -i mysql-server-*

читаем /usr/local/share/doc/mysql/README.OpenBSD

делаем: /usr/local/bin/mysql_install_db

добавляем в rc.local :

# Start MySQL server

if [ -x /usr/local/bin/mysqld_safe ]; then

echo -n ' mysqld'

/usr/local/bin/mysqld_safe —user=_mysql —open-files=1000 —skip-networking —socket=/var/run/mysql/mysql.sock &

fi

 

стартуем сервер...

/usr/local/bin/mysqld_safe —user=_mysql —open-files=1000 —skip-networking —socket=/var/run/mysql/mysql.sock &

 

меняем пароль на мускульного рута:

/usr/local/bin/mysqladmin -u root password 'new-password'

 

Логинимсо в мускул:

mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with; or \g.

Your MySQL connection id is 2

Server version: 5.0.51a-log OpenBSD port: mysql-server-5.0.51ap1

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> drop database test;

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye

 

Забираем из CVS'а последний NetAMS:

cd ~/distr

cvs -d :pserver:netams@netams.netams.com:/netams/cvs checkout netams

cvs -d :pserver:netams@netams.netams.com:/netams/cvs checkout www2

 

Обновляем базу locate'а (чтобы мускуль нашелся):

/usr/libexec/locate.updatedb

и

ln -s /usr/local/lib/mysql/libmysqlclient.so.19.0 /usr/local/lib/libmysqlclient.so

далее в каталоге с нетамсом ./configure.sh

создастся файл Rules.make

в нем должен быть прописан mysql: DEFINE += -DUSE_MYSQL -I/usr/local/include/mysql

LIB += -lmysqlclient -L/usr/local/lib

также раскоментируем строку: DEFINE += -DUSE_CLI_ENABLE (command interface)

правим пути на свои:

+PATH_TO_ETC=/etc/netams

+PATH_TO_WWW=/var/www/htdocs/comixwall/netams

+PATH_TO_CONFIG=/etc/netams

+PATH_TO_SCRIPTS=/etc/netams

создаём недостающие каталоги:

mkdir -p /etc/netams/apache2/sites-available/netams

(каталог с веб-админкой будет лежать вместе с комиксом поэтому то што в /etc/netams/apache2/sites-available/netams нам не понадобитсо наверна)

(netams пришлось пропатчить снова на k=0 в ds_libpcap.c ибо без этого патча не стартует с двумя data_source'ами, хотя с одним стартует)

далее собираем и устанавливаем:

make && make install

 

Создаём конфиг netams.conf

добавляем в rc.local после запуска mysql:

# NetAMS start

sleep 1

mkdir -p /var/run/netams

if [ -x /usr/local/libexec/netams ]; then

if [ -f /etc/netams/netams.conf ]; then

/usr/local/libexec/netams -lf /etc/netams/netams.conf &

echo -n ' NetAMS started'

fi

fi

 

стартуем /usr/local/libexec/netams -lf /etc/netams/netams.conf &

проверяем стартанул ли:

ps aux | grep netams (если нет тогда лезем в /var/log/netams.log и man netams)

правим /var/www/conf/httpd.conf . Ищем в нем сроку AddHandler cgi-script .cgi и раскомментируем ее.

лезем в /var/www/htdocs/comixwall/netams/cgi-bin/config.cgi и правим там пароли для подключения к нетамсу и к мускулу

то же самое делаем и в /var/www/htdocs/comixwall/netams/cgi-bin/admin/config.cgi

также в /var/www/htdocs/comixwall/netams/cgi-bin/netams_html.cgi правим две переменных:

$images = /stat/images на /netams/images

$url = /stat/netams_html.cgi на /netams/cgi-bin/netams_html.cgi

Если платформа i386 тогда ставим патч на статистику netams_statistic_pl_i386.diff (в поледней сборке CVS 3.4.2 (3463.1) вроде как пашет и без этого).

Для избавления от матюков апача про ошибки типа: "panic: attempt to copy freed scalar 202de78b0 to 202de7958" или "Use of freed value in iteration"

рекомендуетс поставить патч по имени netams_admin_statistic_cgi.patch.

Также в /var/www/htdocs/comixwall/netams/cgi-bin/netams_api.pl находим строчку:

if ( $welcome ne "\r\n# " ) {и меняем символ '#' на '>', иначе вебморда не соединится с нетамсом.

для отображения графиков надо поставить 3 перловых библиотеки (именно в такой последовательности):

GD-2.35.tar.gz

GDTextUtil-0.86.tar.gz

GDGraph-1.44.tar.gz

берем их здесь http://search.cpan.org/

Ставятсо просто: распаковываем в каталог, далеее

perl Makefile.PL

make

make test

make install

 

Также поставить Crypt::GeneratePassword (иначе не сможете рулить разделом Accounts через вебморду)

переабуваем апач.

стучимсо на https://IP-adress/netams/cgi-bin/admin/index.cgi

должно пахать.

Далее следует прикрутить костыль в крон на проверку запущенности нетамса proc_chk.sh ибо отваливается переодически сцуко (в файлик cron от рута).

# NetAMS check every 5th minute

*/5 * * * * /bin/sh /root/proc_chk.sh > /dev/null

 

# NetAMS db rotate every week

3 30 * * 0 /bin/sh /root/mysql_rotate.pl > /dev/null

 

Вариант с использованием pflow вместо libpcap

Openbsd 4.5 — с этой версии в ней появился ядерный генератор потоков netflow

правим pf.conf:

добавляем строку

set state-defaults pflow, no-sync

Для того, чтобы все правила без явно указанного keep state по-умолчанию имели опцию генерации нетфлоу потока. Там где указано явно keep state добавляем (pflow) например так:

pass in log on $int_if proto tcp from $int_net to !$int_if port www keep state pflow)

далее ставим на тот же компьютер нетамс. в netams.conf в раздел data-source пишем:

service data-source 1

type netflow

listen 127.0.0.1 20002

source 127.0.0.1

прописываем остальные параметры и стартуем нетамс.

конфигурим интерфес пфлоу:

ifconfig pflow0 flowsrc 127.0.0.1 flowdst 127.0.0.1:20002

эту же строку засовываем в rc.local чтобы интерфес стартовал после перезагрузки.

Дальше можно залогиниться телнетом в нетамс и врубить debug flow для проверки получения потоков нетфлоу. Отключается отладка следующей командой — no debug flow

Если вдруг возникла необходимость вести учет трафика не только по конкретным хостам, но и использовать авторизацию пользователей и квотировать трафик, потребляемый юзерами. К сожалению, в OpenBSD отсутствуют аналоги ipq (Linux) или, к примеру divert (FreeBSD), поэтому средствами нетамса блокировать трафик не получится. Поэтому для авторизации пользователей и подсчета трафика можно воспользоваться связкой PoPToP + Netams + pf


Установка PoPToP

перед установкой PoPToP устанавливаем pptp

# cd /usr/ports/net/pptp/

# make install

Перенаправление IPv4-пакетов между сетевыми интерфейсами у нас уже включено, необходимо разрешить использование протокола GRE:

sysctl -w net.inet.gre.allow=1

А также добавить в /etc/sysctl.conf:

net.inet.gre.allow=1

Устанавливаем poptop из портов:

cd /usr/ports/net/poptop<br >make install clean

Правим /etc/pptpd.conf

option /etc/ppp/option.pptpd

noipparam # Иначе в логах получим "Configuration label not found"

Остальные параметры должны быть закомментированы

Перейдем к настройке PPP. В файле /etc/ppp/ppp.conf cтроки, оканчивающиеся на ``:'', вводятся без отступа в начале строки. Остальные строки должны быть введены с отступом.

default:

set log Phase Chat LCP IPCP CCP tun command

disable ipv6cp

 

pptp:

enable MSCHAPv2

set timeout 0

set mppe 128 stateless

enable proxy

set ifaddr 192.168.200.1 # Адрес сервера (пример)

set dns 192.168.xxx.xxx # ДНС-сервер

# set ifaddr 0 0

Создание или изменение учетных записей пользователей производится за счет редактирования файла /etc/ppp/ppp.secret

# Authname Authkey Peer's IP address Label Callback

username password 192.168.200.10 userpass

Выставляем корректные права доступа:

chmod 600 /etc/ppp/ppp.{conf,secret}

Запускаем pptpd:

/usr/local/sbin/pptpd

В /etc/rc.local добавляем автозапуск pptpd:

if [ -x /usr/local/sbin/pptpd ]; then

/usr/local/sbin/pptpd

fi

Далее, в правилах pf добавляем интерфейс tun в список локальных интерфейсов:

int_if_our_interface = "{ vr0, tun }"

Разрешаем входящие соединения от клиентов на внутренний интерфейс по порту 1723/tcp, а также GRE-трафик к и от клиентов. Ну и прописываем пользователей. На этом настройка пакетного фильтра заканчивается, теперь необходимо немного изменить конфигурацию Netams.

В список локальных сетей добавим сеть vpn (файл /root/local-nets.txt), определим автоюниты (netams.conf):

auto-units 2 type host naming prefix2 sm_vpn_ group habtel

unit net name sm_vpn ip 192.168.200.0/24 auto-units 2

В случае с источником данных netflow больше ничего не трогаем, ежели используется libpcap, в качестве источника данных определяем интерфейс tun.

Вот, как-то так)) Далее будут дополнения и изменения, вопросы в комментах приветствуются :)

Вчера от японцев узнал, как правильно готовить краба-волосатика. Перед варкой перевязывают панцирь крест-накрест, чтобы сожержимое не вывалилось, в отличие от камчатского краба панцирь у него раскрывается при тепловой обработке. Далее краб помещается в широкую кастрюлю с кипящей соленой (желательно морской) водой на 4 минуты. Широкая посуда нужна, чтобы вода не переставала кипеть. Ровно через указанный срок краб вытаскивается из воды и опускается на некоторое время в холодную воду, чтобы мясо легко отделялось от панциря и не «доваривался» в своем горячем соку. У краба-волосатика съедобные не только конечности, но и содержимое, что под панцирем. Еще у него под панцирем эдакие пазухи или кармашки с чем-то, напоминающим по виду желе. Очень вкусно смешивать мясо краба с этим желе. Сам не пробовал, но теперь горю желанием отведать.

Сегдня особо чувствуется, что наконец-то наступила осень. А ведь еще в прошедшую субботу сгорела в очередной раз спина, когда сплавлялись по реке Джигитовке. Но даже при такой погоде (осенний ветер, солнце, запахи осени) вода в море теплая, да и речка, хоть и горная, пока еще вполне позволяет купаться. Так что бабье лето продолжается!

Деревья пока еще зеленые, желтизны нет совершенно, но через неделю-две все быдет выглядеть примерно так (все фото в моем альбоме):

или так:

9 фото
16 сентября 2009
четвертая колонка
Участники
Дневники
Фото
Сообщества, мероприятия
Почта
Настройки
Rumake