понедельник, 20 сентября 2010 г.

GPG + TAR + FOLDER

Перед отпуском решил забекапить свои данные.

Перенес их с воркстейшна на один из фришных серверов. И возникла задача - сделать данные недоступными для третьих лиц. Не хотелось, чтобы кто-то имел доступ к личной информации.

Нашел хороший вариант с применением gpg.
Попробовал - работает!

Привожу реальные команды (вдруг ресурс с ссылкой станет недоступен):

Забекапить каталог:

tar -cf - folder/ | gpg -c > folder.tpg

Развернуть каталог:

gpg < folder.tpg | tar -xf -


Подумываю, как сделать еще и сжатие zip...

пятница, 21 мая 2010 г.

Nagios



Решился я все же поставить на сервер фришный систему мониторинга Nagios.

Причин было несколько:
  1. Алерты об отказах и падениях каналов к офисам приходили на френдлипингер моему коллеге, который под продуктом из Редмонда работает. А у меня уже давно Линукс стоит.
  2. Мониторить "изнутри" немаршрутизируемой сети другие немаршрутизируемые сети (через VPN) не совсем удобно, так как выход и наружу и в другие сети - через один и тот же роутер. Соответственно, если случится проблема с роутером, перестанет мониториться все.
    Я же поставил Нагиос на шлюзе, у которого два интерфеса - один в локалку, другой - во внутреннюю маршрутизируемую подсеть, выделенную нам провайдером услуг.
  3. Гуи хотя и очень несовременный, зато, благодаря солидному возрасту разработки, Нагиос оброс множеством модулей, плагинов и аддонов.
Итак, система поставилась и даже заработала. Хотя был там при инсталляции один ньюанс. Нужно было правильно прописать в апаче директивы для Нагиос.

Правильные директивы:

ScriptAlias /nagios/cgi-bin /usr/local/www/nagios/cgi-bin/


Options ExecCGI
DirectoryIndex index.php
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user

Alias /nagios /usr/local/www/nagios/


Options None
AllowOverride None
DirectoryIndex index.php
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user

Но все же - о чем этот пост?


Перехожу к главной теме.

Держать постоянно открытым окно Нагиос в браузере - не всегда и не совсем удобно. Что же делать? Есть ли какие-нибудь варианты?

Можно смело сказать - Да, есть!

Во-первых, есть замечательный плагин к ... (чему бы вы думали?) .... правильно, к Firefox.
Для тех, кто не в курсе, это такой браузер. С открытым исходным кодом, довольно быстрый и очень, очень расширяемый. За счет именно плагинов.

Так вот, для Firefox есть замечательный плагин (если кто еще сам в гугл не нашел), называется Nagios Checker. В настоящее время релиз 0.15.3 .
Очень удобная вещь!

Через пару недель возникла мысль. Да, все это хорошо, браузер у меня открыт почти постоянно, да что там, постоянно. Но вот ведь какая штука - у меня в Гноме - четыре рабочих стола. И если я перехожу в другой рабочий стол, я уже не вижу сообщений плагина Nagios Checker!

Кто-то может сказать - а зачем тебе видеть? Он звуковые сигналы подает? Подает. Так что еще нужно? Неужели так часто хосты или службы падают?

Да вот просто хочется большей информативности, и всё тут!

Что же делать? традиционный русский вопрос

А вот что - нужно установить апплет для Гнома! Он будет всегда на виду и, по крайней мере на ближайшее будущее, мне этого думаю будет достаточно.



Вот и он - тот самый апплет, если и вам он приглянулся, смело ставьте!
Ставить конечно лучше из репозиториев. Не мне вам объяснять, как. Ну а если спросите, отвечу :)

четверг, 18 марта 2010 г.

PfSense - маршрутизатор на BSD. Статья для Хабра от моего хорошего друга.


pfSense  -    это    маленький
маршрутизатор.

  Бесплатный, построен на хорошо обработанной напильником FreeBSD.
Его можно использовать как маршрутизатор, farewall, VPN-шлюз и т.д. Проект начат
в  2004  году.  На  сегодняшний  день актуальная версия 1.2.3, а на подходе 2ю0 alpha. Нужен ли вам такой маршрутизатор или проще
купить  коробушку  от  D-LINK, Zyxel, LinkSys и т.д. выбирать вам. Решая задачу,
для  одного  из  Заказчиков,  мне  pfSense  оказался  очень  полезен  и  удобен.

Поехали!

Итак, я решил написать первую статью на хабр. Признаюсь, я давно читаю хабр и желание написать что-нибудь давно во мне засиделось.  Не смотря на то, что по роду деятельности, в моих руках бывает множество разных железок самого разного уровня, а также программ и решений с которыми приходится возиться, я все как-то не находил подходящего случая. И вот, кажется такой случай появился... 

Я вообще большой любитель таких игрушек. Время, когда нужно было долго возиться причесывая UNIX-подобную систему, даже для мелких задач постепенно уходит (на самом деле, а уходит ли?).  Нет, я не говорю о том, что этого совсем не надо будет делать, есть разные задачи, есть разные способы их решения.
В повседневных заботах системного администратора так ли много на это времени?. Такие милые вещицы как FreeNAS, openfiler, smoothwall и pfSense, они, для меня, как ложка меда в бочке дегтя!

Вам нужно откатать iscsi в ESX/ESXi, но у вас под рукой нет железки? Возьмите openfiler и поставьте его на любой компьютер. Вам нужно сделать NAS сервер из старого компьютера у жадного заказчика или, к примеру, сделать себе хранилку в домашней сети? FreeNAS - то что нужно! И уж конечно все подобные причиндалы работают в виде виртуальных машин и часто уже существуют в виде appliance. (Кстати, забегая вперед, образ vmware pfSense, взятый с сайта, в Vmware server 2.0.2 не заработал. Пришлось инсталлировать.)

Давно искал что-то подобное и именно на BSD системе, хотя таких систем много, но чаше на linux. С Linux я в контрах, его хуже знаю чем BSD. Терять время и заниматься инсталляцией BSD системы с нуля, настройкой firewall, NAT и прочих сервисов для задач тестирования, не сложно, но время терять не хотелось. 

Для тестов, мне был нужен самый простой и тупой маршрутизатор между двумя серверами, на которых я поднял VmWare ESXi 4.0 и несколько виртуальных машин. Внутренняя маршрутизация ESX-а, во всех его вариантах, мне не подходила. Никакого, аппаратного маршрутизатора под рукой у меня не было. Готового образа BSD сисемы, да и дистрибутива под рукой тоже не оказалось. Качать? Мм-м-м... 

Выход был найден не сразу. Точнее, маленьких, кастомных дистрибутивов с web-мордой для роутеров не так много, а под BSD еще меньше. 

Требования к системе - минимальны.
CPU - 100 MHz Pentium (?!? Артефакт!)
RAM - 128 MB

При инсталяции на жесткий диск (мне хватило виртуальных 300мб на диске)
CD-ROM для инсталяции (или используйтея ISO-файл.)
1 Гб на диске (реально меньше)

для Embedded решения
128 MB Compact Flash
Serial port for console

Какую пользу мы имеем с гуся, Шимеле?



  • Firewall (packet filter от OpenBSD;
  • Простой, графический Web-интерфейс для настоек всего что есть;
  • Простая, в одно нажатие инсталляция;
  • Возможность использовать как Wireless Access Point, если у вас есть адаптер;
  • Поддержка нескольких подсетей включая алиасные с firewall (можно легко организовать подсеть для каждого подразделения вашей организации)
  • Traffic Shaping
  • State Table
  • NAT
  • Redundancy (несколько маршрутизаторов pfSense можно объединять, если упал один, второй встает на его место)
  • OpenBSD CARP (протокол избыточности общего адреса)
  • pfsync (синхронизация правил firewall между "коробушками")
  • Load Balancing для входящего и исходящего интерфейсов.
  • nmap, ping, traceroute в том числе и через web-морду
  • VPN - IPsec, OpenVPN, PPTP (все что надо для VPN!)
  • PPPoE Server
  • RRD Graphs Reporting (графики нагрузки и все такое в реальном времени)
  • Real Time Information (используется AJAX)
  • Dynamic DNS
  • Captive Portal (ээ-э-э?)
  • DHCP Server and Relay
  • Консоль, в том числе и через ssh или RS-232
  • Wake on LAN (pfSense умеет посылать WakeUp на подключенные компьютеры)
  • Proxy Server
  • Встроенный в веб-морду sniffer
  • Сохранение и восстановление правил firewall через веб-морду
  • Текстовый редактор
  • Возможность добавлять любые BSD-пакеты и обновлять систему через веб-морду.
Кому интересно, вот скриншоты Шкварки Зачем нужны такие системы? Есть ли им место в наших сетях и системах? Не знаю. Конечно, городить маршрутизатор для домашней сети из старого компьютера вряд ли кому-то придет в голову. Проще купить коробушку за 1500руб, уметь коробушка конечно меньше, зато электричества кушает меньше и не гудит, да и так ли нужен полный такой функционал дома? Ставить pfSense жадных экономных заказчиков, которые используют ПК-помойки для маршрутизаторов тоже спорное решение, потому как время простоя иногда бывает больше чем uptime. Мелкие компании (до 10 сотрудников) скорее всего вполне устроит коробушка-маршрутизатор. А вот в компаниях побольше уже можно попробовать. Во всяком случае, пока, достаточно большое количество системных администраторов предпочитает маршрутизаторы на базе linux & BSD систем, где pfSense вполне уместен. Он прост сам по себе (даже проще чем smoothwall), не требователен к ресурсам, легко ставится, легко администрируется, достаточно производительный. Продукт достаточно хорошо документирован, есть и Wiki и подробный FAQ. Что касается аппаратной совместимости, то pfSense поддерживает все, что поддерживает FreeBSD 7.2. Да.. отлично подходит для тестов, в реальной или виртуальной среде, потому к весит мало и работает сразу. Чего не хватает? Не хватает миниатюрной x86 платформы с 500Mhz+ процессором и 512 памяти, с несколькими сетевыми интерфейсами и габаритами как у CD-DVD-привода :). Хотя... у той же супермикры</s> SuperMicro появились надавно сервера на 330-ом Atom-е и i945GC. /Малепусенький сервер с 2-мя LAN портами+PCI-E и райзер +4х портовая сетевая карта - уже 6 гигабитных портов за 700-720 доларов в розницу. Да этого достаточно для любых задач фирмы или филиала! И вроде получается дешевле аппаратного роутера, наверное любого вендора при равных технических характеристиках. Это достаточно простое и не дорогое и надежное Embedded решение. Разработчик утверждает, что их продукт можно поставить на xBox (вот не ясно тока зачем?) Если хотите, могу сделать описание инсталляции, хотя в общем так все просто. Удачи коллеги! Kopylov Sergey

Fedora 12 and Floppy

Всем привет.

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

Ан нет.

Недавно обновил систему - стоял ASP Linux 14, поставил Fedora 12 Linux.
Нету флоппи. Хоть так, хот этак.
Что же делать?

Правильно - снова ныряем в гугл и гуглим, гуглим, гуглим.

Для тех, кому это не под силу, привожу решение (которое заработало у меня) и пруфлинк.

Решение:

В файл
/etc/modprobe.d/floppy-pnp.conf
 вносим изменения (если его нет, создаем):

alias pnp:dPNP0700 floppy
alias acpi:PNP0700: floppy
 Это все.

Ах да, вот ссылка на автора.

VmWare workstation 7 update on Linux 2.6.32 kernel

На днях понадобилось вновь воспользоваться ОС Windows XP.

Поскольку система эта - оконная, она и "живет" в окне моей рабочей системы - Fedora 12 Linux. Работает в виртуальной машине VmWare 7.0.0 для Линукс.

Система была обновлена, обновилось и ядро - с 2.6.31.12 - на 2.6.32.9 .
И, что вполне понятно, и даже ожидаемо, виртуальная машина перестала стартовать.
Для тех, кто за крепкой броней (танк или бронепоезд), могу напомнить, что для работы Vmware используются модули ядра. Так вот, после каждого изменения ядра, приходится устанавливать в ядро модули от Vmware.
Этих модулей несколько. И вот один из них стал выдавать ошибку.

failed to compile module vmnet!

Решал эту проблему дня два. Помог, как обычно, гугл.



Привожу решение для апдейта Vmware под ядро 2.6.32:

Для чистой компиляции, нужно воспользоваться патчем.
Делаем вот так



tar xvf /usr/lib/vmware/modules/source/vmnet.tar -C /tmp
cd /tmp
perl -pi -e 's,("vnetInt.h"),\1\n#include "compat_sched.h",' vmnet-only/vnetUserListener.c
tar cvf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only
 
 
# /etc/init.d/vmware start
 
 
 


Решение было найдено тут. Кроме модуля vmnet там предложен патч и для модуля vmci.
Однако, приведенный выше код более корректный. Как говорится, найдите различия...
Хотя, это и не сложно.


Удачи, и приятной работы с виртуальными машинами!

среда, 24 февраля 2010 г.

Обновление FreeBSD с релиза 6.2 на 8.0



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

Исходные данные:
ОС: FreeBSD 6.2
сервер: SQUID 2.7.7.3

Известно, что эта ветка системы на данный момент уже не поддерживается.
Было принято решение не только перейти на 3-ю версию сквида, но и обновиться до последнего стабильного релиза FreeBSD, которым в настоящее время является 8.0 .

Попытка обновить порты прошла успешно. Впрочем, как и всегда.
Обновление исходных текстов для сборки "мира" вроде бы прошло корректно, но при попытке собрать "мир", появилась ошибка.

Поиск в сети дал вот этот документ с почтовой рассылки.

Кроме небольшого хинта с указанием параметров обновления портов и исходных кодов в /etc/make.conf , там содержиться более важное - автор выдвигает предположение, что сразу прыгнуть с 6-й ветки на 8-ю не получится.

Handy hint: you can csup your /usr/src and /usr/ports by:
# cd /usr/src
   # make update

if you put the following into /etc/make.conf:

SUP_UPDATE=     yes
SUP=            /usr/bin/csup
SUPFLAGS=       -L2
SUPHOST=        cvsupN.XX.freebsd.org
SUPFILE=        /usr/share/examples/cvsup/standard-supfile
PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile

Now, directly updating from 6.2 to 8.0 may not work.  You may find it necessary
to do the update in stages:  6.2 -> 7.0 -> 8.0.  Since about 5.4-RELEASE it has
generally been the case that you can update pretty freely within a major version
level (eg. 6.2 -> 6.4) and that you can update to the next highest major version
level (eg 7.2 -> 8.0) by simply csup'ing and doing a normal buildworld cycle. It should be possible to do as you want and jump several major versions at once in the same way, but this is not tested anything like as much and may not work.


И, вначале, нужно с 6-й обновиться на 7-ю и после этого, обновляться на 8-ю версию.

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

Дело пошло.