вторник, 28 октября 2008 г.

Лицом к человеку или немного о настройке/мониторинге сетевой активности.

/*

Есть, милок, такая система, называется Mac OS...
(слова древнего предания)

во-первых - огромное спасибо всем, кто заботится писать хорошую подробную документацию к своим программным продуктам и комментирует исходники (желательно не забывая это делать на английском языке в дополнение к своему родному).

во-вторых - спасибо тем, кто как-то пытается агрегировать именно хорошие и полезные статьи/(переводы документации с авторскими ремарками, примерами и т.п.) и выкладывает/поддерживает их в сети. ибо послать кого-нить за ответом на форум равносильно обречь на чтение комментариев, писанных... гхм... как в песне - "то ли девочка, то ли видение"... в общем судьба редких толковых комментариев - быть похороненными ворохом лексики из разряда "подзаборной".

итак, Господа, типовая ситуация: настоящяя блондинка (Ъ) хочет разобратьтя в основах мониторинга/контроля/настройки сетевой активности. начальный уровень знаний равен нулю. что ей посоветовать? варианты:

а) для Linux:

1) любая вменяемая "вводная" по TCP/IP способная донести простую идею, что это - не более чем транспорт/автобус, в котором едут пассажиры/(специализированные сетевые протоколы)

2) Русские выпуски Linux Gazette. в дополнение модно пошарить по сусекам оригинала: Linux Gazette. в частности - Linux Advanced Routing & Traffic Control HOWTO (оригинал).

3) xgu.ru - надо/можно выбрать очень неплохой материал

4) любая вменяемая дока по конфигурации ядра и патчам Netfiller (многие вкусные вещи до сих пор не в мейнстриме). для openSUSE и нашего скромного Enlightenment LiveCD именно поэтому используется ядро, собранное Яном Энгельхартом.

5) примерный списочек "крутых мэнов, что ждут тебя за углом"...
man ip (пакет iproute2. в принципе он заменяет следующие две позиции, но, к сожалению, не в ходит в базовую установку многих дистрибутивов)
man route
man netstat
man ping
man traceroute (man tracepath)
man iptables (man iptables-save, man iptables-restore)
man hosts (довольно эффективное средство в некоторых случаях)
man sysctl (man sysctl.conf)
man protocols
man ethtool (настройка режима сетевой карточки)
man ldconfig
man resolv.conf
это так, на вскидку. плюс wifi или что-там на руках...

6) "инструментарий":
wireshark
tcpdump
и так далее по списку в зависимости от предпочтений.

намеренно не касаюсь OpenVPN, Squid и прочих сторонних приложений. задача же по контролю исходящего трафика в Linux до сих пор не имеет тривиального решения (imho). понятно, что на шлюзе, стоящем жопой наружу... простите, на том оборудовании, что обеспечивает связь с внешним миром при помощи сети Интернет, есть и блоклисты и логирование и чего там только нет (по ситуации и в зависимости от скилов да настроения одминского). а если линков несколько (динамическая нагрузка и/или резервные каналы с анлимом на входящий траф) то можно даже honeypod соорудить по согласованию с начальством (очень, знаете ли, в плане самообучения помогает, хех). а дальше уже можно и "предметно" расписывать под конкретную ситуёвину.

б) Mac OS X:

1) гуйня в Preferences Panel по Network, Sharing, Firewall (на 10.5.*)

2) дописать в /etc/rc.common статические маршруты, смену мака и прочую рутину коли есть в ней нужда

3) скачать и поставить две (2) программы:
Little Snitch - контроль исходящих соединений, мониторинг текущего трафика.
WaterRoof - всё остальное.

смотрим, как это выглядит:



привёл примеры статической конфигурации хоста из пресетов. смотрим на опции WaterRoof, замечаем, что шейпинг трафика тоже под рукой равно как и динамические правила. WaterRoof is freeware and open-source. Little Snitch - полнофункциональное Demo и стоит денег, что не грех и заплатить. причём автор настаивает на скачивании Demo, тестировании и оплате только если решите оставить программу себе (очень правильный и грамотный подход, Господа).

выводы делайте сами, уважаемые... по обстоятельствам...

P.S. зато аудиоплееров в Linux-е до жопы! и KDE можно запустить даже под виндой!

P.P.S. YaST -> System -> /etc/sysconfig Editor единственный вменяемый гуёвый редактор фаервола/(параметров сети), что мне известен. к сожалению для шейпинга трафика прописывать параметры лучше таки ручками в vim...

P.P.P.S. баталии ip vs ipfw vs pf не предусматривал. настоящие пацаны (Ъ) пользуют OpenBSD :) (кто к чему привык, Господа).

"А какая в этой басне мораль?
А морали нет никакой..."
*/

3 комментария:

koct9i комментирует...

а теперь стоит сравнить производительность и фунциональность [i]=)[/i]

Анонимный комментирует...

NetworkManager 7 + Gufw покрывает все что нужно блондинке просто с головой.

Ну кому нужно - осилит iptables.
Ну или какй-нить промежуточный вариант типа uncomplicated firewall или firestarter.

Вы лучше посмотрите как на ваших маках софт ставится. Просто убитцо веником. Подкрашенный виндузвей. на дворе 2008 год а пакетными менеджерами даже и не пахнет. Ну и если что-то сделает Apple, то, мне кажется, это будет iTunesPackageManager. В лучших традициях...

sda комментирует...

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

NetworkManager уже умеет поднимать впн с шифрованием и без?

Gufw - пользователь Ubuntu? как я сразу не догадался... пример изумительной по бесполезности софтины. ознакомьтесь с SuSEfirewall2 для начала.

Ну кому нужно - осилит iptables.
Ну или какй-нить промежуточный вариант типа uncomplicated firewall или firestarter.


чтобы хоть как-то было понятно, что именно хотел сказать заметкой, попробуйте только браузеру firefox запретить обращаться к сайту mozilla.org вне зависимости от того, кто этот браузер запускает (рут, юзер и т.п.). и второй примерчик - попробуйте определить какое приложение лезет в сеть и куда именно в любой момент времени.

может быть после этого уважаемый аноним вспомнит, что Slackware до сих пор не имеет пакетного менеджера (и нормально), а для Mac OS X изобретать "пакетный" менеджер мягко говоря - глупо.

в то же время есть Fink и macports - где наличие чего-то аналогичного пакетной системе управления софтом вполне оправдано. что собсно и имеется в наличии.

2koct9i
это да. только хлопотно получится. сравнить-то не проблема, просто лень это делать на халяву. в общем случае можно оттолкнуться от:

http://www.sagecertification.org/publications/login/2005-12/pdfs/adamo.pdf

и предположить, что в некоторых ситуациях Mac OS X сможет удивить.