29 авг. 2009 г.

Подарки от слуг народа

Сегодня возле рынка от имени не безызвестной Юлии Тимошенко бесплатно раздавали школьные дневники и плакаты с именем и портретами оной.
Приятно, что бесплатно. Приятно, что в них довольно много, по сравнению со старыми советскими дневниками, справочной информации: карта Украины и Евразии, справочники по геометрии, тригонометрии, алгебре, истории, правописанию (всё на украинском языке).
По качеству... Проживут дай Бог месяц. Ибо они не сшиты, как старые, а склеены. И, к тому же, довольно паршиво.
Порадовало, что в заботах о географических границах Украины Одессу выбрали посланцем украинизации всего мира :) У Великiй Британi решили город Данди (Dundee) заменить Одессой.












И, конечно, остался осадок от того, что выглядит (а скорее и есть) как подачка перед выборами, сделанная паршивенько за наши же деньги и преподносимая, как подарок.

ЗЫЖ Верстальщик даже не удосужился на чёрном цвете поставить оверпринт...

UPD: 2009-09-08
Еще фотки агит-сумок.



Asus P526 с новой прошивкой 6.1

Почти две недели мой Asus P526 живет с обновленной прошивкой 6.1. Глюков и сбоев не замечено. Работать стал заметно быстрее - процентов на 20. Немного изменились шрифты. Субъективно - в лучшую сторону. В инете активно ведутся разговоры про установку на эту модель Win Mobile 6.5. Но я пока не рискую. На официальном сайте Asus-a про нее пока молчат. Подожду новостей.

Western Digital Raptor для секретарш?

Пришел к нам новый WD Raptor (HDD на 10 000 оборотов). Так у него прозрачная верхняя крышка. Понятно, функционал от этого никак не изменяется. Видимо просто для увеличения продаж тинейджерам и секретаршам сделали. Иначе не совсем понятны напряги с производством этого окошка в мир высоких технологий, ибо толку от них после установки винта в стойку ровно ноль.

Internet-радио

Недавно, после определенных сложностей, захотелось мне под Linux послушать Internet-radio. Выход нашелся быстро и просто. Amarok, который я использую как основной проригрыватель, отлично воспроизводит аудио-поток из сети. В сети нашел ссылку на сайт Mike's RadioWorld, на котором с первого клика выбрал радиостанцию http://ru.ah.fm:80, которую сейчас и слушаю - очень ненадоедливый транс, который не мешает работать и читать.

Linux, Mnt (Ubuntu), информация о батареях и термодатчиках ноутбука

Для получения информации о состоянии батарей ноутбука можно использовать утилиты набора ACPI.

$ acpi -t
Battery 0: Discharging, 22%, 00:00:23 remaining
Thermal 0: ok, 38.1 degrees C
Thermal 1: ok, 54.0 degrees C
Thermal 2: ok, 56.0 degrees C

$ acpi -b
Battery 0: Discharging, 20%, 00:00:21 remaining

$ acpi -c
Battery 0: Discharging, 19%, 00:00:20 remaining
Cooling 0: Processor 0 of 10
Cooling 1: Fan 0 of 1
Cooling 2: Fan 0 of 1
Cooling 3: Fan 0 of 1
Cooling 4: Fan 0 of 1

27 авг. 2009 г.

Баннизмы

Вот такой чёрный двойной юмор.

Microsoft в своём репертуаре

Сегодня решил с утра послушать интернет-радио. Обычно слушаю его через Windows Media Player. А недавно обновил его до 11-й версии по требованию самой системы для того, чтобы она смогла синхронизироваться с моим наладонником. В принципе, уже достаточно абсурдная заява, ну да бах с ней - всё равно бесплатно...

Так вот сегодня, приняв от жены кружку кофе, запустил WMP и в очередной раз почувствовал себя дураком. Разобраться где что практически невозможно. Кроме конечно воспроизведения локальных видео- и аудио-файлов. Может я действительно туплю? Но иного способа как зайти в Internet Explorer, выбрать в избранном Radio Station Guide, заботливо помещенный туда большим братом, я не нашел!

Народ, для кого вы делаете работу? Почему-то сейчас это становится тенденцией.

26 авг. 2009 г.

Рекурсия, однако

Очень информативное объявление на сайте www.rabota-i-trud.com.ua, взятое с сайта www.rabota-i-trud.com.ua :)

Почтовая система среднего офиса на базе Postfix

Занимался настройкой почтовой системы под Linux. Вот список литературы :):

В блоге SergeySL размещена хорошая инструкция "Почтовая система среднего офиса на базе Postfix". Большая. поэтому я здесь ее не размещаю.

На сайте Svsnnah - статья "Настройка почтовой системы в Linux"

На сайте OpenNet - статья Корпоративный почтовый сервер (linux centos mail postfix mysql imap dovecot)

STunnel - ssl-оболочка для *x систем

Для организации безопасного соединения с различными серверами на *x системах можно использовать утилиту STunnel. Она представляет собой оболочку, которая реализует SSL-туннель между внешним подключением и локальным сервисом. К примеру, сервер POP3 (popa3d), который не имеет функции шифрования трафика, вполне может использоваться для внешних подключений, если к нему устанавливать подключение через оболочку (wrapper) stunnel. Stunnel открывает указанный ей порт на прослушивание, обеспечивает SSL-шифрование данных для входящих подключений и пробрасывает данные между пользователем и сервером, который прослушивает указанный же порт на локальной машине.
Утилита проста в использовании и настройке. Ниже приведен пример поднятия pop3-сервера, защещенного stunnel. Пример взят с сайта Антона Крюкова.


Описание
Stunnel очень простая программа. Она слушает запрос на одном порту, передача данных на который шифруется при помощи SSL. Полученные данные извлекаются из SSL и в незашифрованном виде передаются на локальный порт.

При помощи stunnel можно шифровать любой траффик. Даже у тех программ, которые в принципе не поддерживают SSL, например сервер popa3d. Как раз на его примере и рассмотрим как использовать stunnle. Наша задача сделать так, что бы все пакеты с 995 (spop3) порта доставлялись на локальный порт 110.

Конфигурационный файл
Конфигурационный файл разместим в директории /etc/stunnel и назовем его stunnel.conf.

В файле сначала указывают глобальные параметры. И в первую очередь, параметры определяющие ключи и сертификаты, которыми будет пользоваться stunnel. По традиции, возьмем ключи, сгенерированные нами для работы OpenVPN.
CApath = /etc/openvpn/keys

Параметр CApath определяет путь к директории, где находятся ключи центров сертификации.
CAfile = /etc/openvpn/keys/ca.key

CAfile определяет ключ центра сертификации, которым подписаны серификаты нашего сервера.
cert = /etc/openvpn/keys/kryukov.ru.crt

Cert определяет сертификат нашего сервера.
key = /etc/openvpn/keys/kryukov.ru.key

Key определяет ключ, которым подписан сертификат сервера.
setuid = nobody
setgid = nogroup

Параметры setuid и setgid определяют пользователя и группу, с правами которых будет работать stunnel.
pid = /var/run/stunnel/stunnel.pid

Pid определяет файл, в котором после запуска будет храниться PID программы stunnel. Обратите внимание на то, что директории /var/run/stunnel по умолчанию не существует. Ее необходимо создать и передать пользователю, с правами которого запускается программа.
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

Socket определяет параметры сетевых соединений.

После глобальных параметров, необходимо описывать конкретные сервисы. Название сервиса помещается в квадратные скобки.

Параметр accept определяет порт на котором слушает запросы stunnel и куда должен подключаться клиент. По умолчанию порт открывается на всех сетевых интерфейсах. Если хотите, что бы stunnel слушал только на определенном интерфейсе, напишите его IP адрес перед номером порта. Например так:
192.168.0.1:995

Параметр connect определяет порт на локальной машине, куда будет передаваться информация. По умолчанию stunnel подключается к порту на lo интерфейсе и его IP указывать не надо. Для определения сервера pop3 необходимо добавить следующие три строки.
[pop3s]
accept = 995
connect = 110

В результате содержимое конфигурационного файла будет выглядеть следующим образом:
CApath = /etc/openvpn/keys
CAfile = /etc/openvpn/keys/ca.key
cert = /etc/openvpn/keys/kryukov.ru.crt
key = /etc/openvpn/keys/kryukov.ru.key
setuid = nobody
setgid = nogroup
pid = /var/run/stunnel/stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
[pop3s]
accept = 995
connect = 110

Запуск программы

Запуск программы происходит следующим образом:
stunnel /etc/stunnel/stunnel.conf

К сожалению в Slackware Linux в стартовых скриптах не предусмотрен запуск stunnel. Поэтому мы сами напишем стартовый скрипт. Разместим его в директории /etc/rc.d и назовем rc.stunnel.
#! /bin/bash

start()
{
if [ -f /var/run/stunnel/stunnel.pid ]; then
if ps xa | grep ^$(head -1 /var/run/stunnel/stunnel.pid) > /dev/null; then
echo "Stunnel working!"
exit 1
else
rm -r /var/run/stunnel/stunnel.pid
fi
fi
echo "Sarting stunnel"
/usr/sbin/stunnel /etc/stunnel/stunnel.conf
}

stop()
{
echo "Stunnel stop"
kill -9 $(head -1 /var/run/stunnel/stunnel.pid)
}

case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: rc.stunnel start|stop|restart"
exit 88
esac

Сделаем его исполняемым:
# chmod a+x /etc/rc.d/rc.stunnel
#

Допишем его вызов в файл /etc/rc.d/rc.local.
if [ -x /etc/rc.d/rc.stunnel ]; then
/etc/rc.d/rc.stunnel start
fi

Не забудьте создать директорию в которой будет создаваться файл stunnel.pid и переадть ее пользователю, с правами которого будет работать программа:
# mkdir /var/run/stunnel
# chown nobody /var/run/stunnel
#
Firewall

Если Вы следуете моим рекомендациям по созданию правил firewall (этотматериал я выложу на сайт позднее), то доступ к lo интерфейсу с локальной машины у Вас открыт. Поэтому осталось открыть доступ к 995 порту.
iptables -A INPUT -p tcp --dport 995 -j ACCEPT

Заключение

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

При использовании stunnel с sendmail возникает очень неприятная проблема. По умолчанию sendmail принимает на пересылку (RELAY) почту, пришедшую с локальной машины (localhost). С точки зрения sendmail трафик, передаваемый ему stunnel считается посланным с локальной машины и поэтому sendmail не потребует аутентификации и просто перешлет письмо! Вообщем, получаеи open ralay.

Решение проблемы очень простое. Требуется заставить sendmail при отсылке почты с локальной машины требовать аутентификацию. Для этого надо изменить параметры в файле sendmail.mc:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA,M=a')dnl

M=a -- заставляет спрашивать аутентификацию.

Правда возникает другая проблема, теперь всем локальным процессам, для отсылки писем требуется вводит логин и пароль. Так что, для того что бы использовать SSL с sendmail рекомендуется использовать внутренние возможности этой программы.

Простейший POP3/POP3S-сервер на базе popa3d и stunnel

Взято из блога SergeySL
Описание пошаговой настройки POP3-сервера. Статья ориентирована на FreeBSD, но с некоторыми изменениями может быть использована и для Linux.


Постановка задачи

Необходимо быстро и без лишних заморочек настроить не требовательный к ресурсам и простой в администрировании POP3-сервер для обслуживания среднего офиса (до 50-100 клиентов) с возможностью безопасного использования из-за пределов корпоративной сети (другими словами, с поддержкой протокола POP3S). Описанный в данной статье POP3/POP3S-сервер более двух лет работал совместно с почтовой системой среднего офиса на базе Postfix, однако его можно использовать в составе любых других почтовых систем с небольшим количеством клиентов. При всей своей простоте сервер достаточно надежен и стабилен.

Исходные данные

Имеется сервер с FreeBSD, находящийся на входе подсети центрального офиса. Главным звеном описанной конфигурации является POP3-сервер popa3d, использующий базу данных паролей операционной системы и запускаемый суперсервером inetd. Шифрование трафика обеспечивает утилита stunnel, использующая средства OpenSSL и самоподписной доверенный сертификат X.509. Все перечисленное программное обеспечение будет устанавливаться из портов, поэтому я настоятельно рекомендую Вам обновить их перед выполнением действий, описанных ниже (я использовал FreeBSD 4.10 и последние версии портов для нее). Ссылки на источники информации будут приводиться применительно к конкретным разделам статьи.

Установка и настройка popa3d

Установку popa3d необходимо выполнить из портов:
1. cd /usr/ports/mail/popa3d
2. make install

Popa3d не требует наличие каких-либо файлов конфигурации. Для того, чтобы сервер запускался при обращении клиента, необходимо добавить в файл конфигурации суперсервера inetd /etc/inetd.conf строку:
1. pop3 stream tcp nowait root /usr/local/libexec/popa3d popa3d

Popa3d поддерживает механизм TCP Wrappers, поэтому в файл /etc/hosts.allow перед правилом, запрещающим доступ ко всем службам со всех хостов, необходимо добавить правило, разрешающее доступ к POP3-серверу с любых хостов:
1. popa3d : ALL : allow
2. ALL : ALL : deny

Это не опечатка, именно с любых. Если разрешить доступ только с хостов, входящих в состав доверенных сетей, POP3S-сервер, реализованный на базе stunnel, не будет работать. Т.к. протокол POP3 не относится к числу защищенных, Ваш брандмауэр не должен разрешать установку входящих TCP-соединений c адресом интерфейса, подключенного к Интернет, портом 110, поэтому добавьте соответствующие правила, если они отсутствуют. На этом настройка popa3d заканчивается. Остается перезапустить суперсервер inetd командой killall -HUP inetd. О том, как проверить работоспособность POP3-сервера, подключившись к 110 порту локального хоста с помощью клиента telnet, можно прочитать в статье Создаем почтовую систему среднего и малого офиса на основе FreeBSD Postfix + dr.web + popa3d + pflogsumm.

Установка и настройка stunnel

Установку stunnel необходимо выполнить из портов:
1. cd /usr/ports/security/stunnel
2. make install

Далее необходимо сгенерировать самоподписной доверенный сертификат X.509. Данная процедура описана в статье Почтовая система среднего офиса на базе Postfix (в моем случае файл, содержащий сертификат, называется popa3d.pem). Далее необходимо создать в папке /usr/local/etc/stunnel файл конфигурации popa3d.conf:
1. cd /usr/local/etc/stunnel
2. touch popa3d.conf

Содержимое файла popa3d.conf имеет следующий вид:
1. cert = /usr/local/etc/stunnel/popa3d.pem
2. exec = /usr/local/libexec/popa3d
3. execargs = popa3d
4. pid = /var/run/popa3d-stunnel.pid

Указанные параметры имеют следующие значения: cert – местонахождение самоподписного доверенного сертификата, exec – местонахождение запускаемой программы, execargs – аргументы запускаемой программы, pid – местонахождение файла, содержащего идентификатор процесса stunnel. Для того, чтобы сервер запускался при обращении клиента, необходимо добавить в файл конфигурации суперсервера inetd /etc/inetd.conf cтроку:
1. pop3s stream tcp nowait root /usr/local/sbin/stunnel stunnel /usr/local/etc/stunnel/popa3d.conf

Stunnel поддерживает механизм TCP Wrappers, поэтому в файл /etc/hosts.allow перед правилом, запрещающим доступ ко всем службам со всех хостов, необходимо добавить правило, разрешающее доступ к POP3S-серверу с любых хостов:
1. stunnel : ALL : allow
2. ALL : ALL : deny

Не забудьте, что Ваш брандмауэр должен разрешать прохождение TCP-трафика на адреса нужных интерфейсов сервера порт 995, поэтому добавьте соответствующие правила, если они отсутствуют. На этом настройка POP3S-сервера заканчивается. Остается перезапустить суперсервер inetd командой killall -HUP inetd.

Заключение

Выполнив действия, описанные в статье, Вы получите полнофункциональный POP3/POP3S-сервер, который, скорее всего, удовлетворит большую часть Ваших потребностей. Я не стал экспериментировать с запуском popa3d в режиме демона, т.к. даже в описанной конфигурации не было каких-либо тормозов и заметных нагрузок на процессор слабенького сервера.

Обзор: Появление USB-модемов стало причиной воскрешения вирусов-диалеров

Опять uink.ru:


Появление USB-модемов стало причиной воскрешения вирусов-диалеров
Несколько пользователей кавказского филиала «Мегафона», использующих USB-модемы, столкнулись со случаями несанкционированных международных вызовов с установленных в модемах sim-карт, сообщила пресс-служба оператора. Причиной стали так называемые диалеры — вредоносные программы, без ведома пользователя подключающиеся к одному из зарубежных интернет-провайдеров. По словам пресс-секретаря «Мегафона» Татьяны Зверевой, обращения в службу поддержки поступили только в одном регионе, но потенциальной опасности подвержены любые компьютеры, подключенные к Интернет через USB-модемы, вне зависимости от модели и производителя.
С аналогичными проблемами сталкивались и абоненты МТС в южных регионах России, признается представитель этого оператора Ирина Осадчая, но это были единичные случаи. Проблема не в модемах, а во вредоносных программах на компьютерах пользователей, подчеркивает она.
«Вымпелком», по словам его представителя Ксении Корнеевой, не сталкивался с подобными жалобами, поскольку продает модемы в комплекте со специальным тарифным планом. Они предназначены исключительно для интернет-доступа, а голосовые услуги для владельцев таких sim-карт недоступны, объясняет она.
Речь идет о троянских программах, которые запускают дозвон на платные номера, объясняет руководитель центра глобальных исследований и анализа угроз «Лаборатории Касперского» Александр Гостев. В результате таких звонков со счета пользователя списываются серьезные суммы. Сами по себе такие программы известны давно, они используют любые установленные на компьютере модемы, в том числе и беспроводные, отмечает Гостев.
Действию таких вирусов могут быть подвержены не только USB-модемы, но и любые другие, подтверждает представитель «Скай линка» Ольга Пестерева (этот CDMA-оператор начал продавать услуги в комплекте с USB-модемами еще до того, как этим занялись GSM-компании). Защититься от таких программ пользователи «Скай линка» могут, уже заключая контракт, если подключат услугу «запрет международных вызовов», говорит она. Кроме того, каждый абонент «Скай линка» может бесплатно скачать антивирусную программу, добавляет Пестерева.
Вредоносные программы-диалеры часто использовали dial-up модемы, но по мере отказа пользователей от этих модемов в пользу широкополосных технологий проблема этих вирусов пошла было на спад. Распространение USB-модемов возвращает проблему к жизни, считает аналитик IDC Петр Городецкий.
По статистике - за последние 12 месяцев российские операторы мобильной связи продали около 2 млн USB-модемов, следует из данных самих сотовых компаний и аналитической компании iKS-Consulting. По оценке AC&M-Consulting, провайдеры фиксированного доступа в интернет за тот же период увеличили клиентскую базу в России на 2,9 млн человек.



Так и хочется сказать - а вот в наше время... :)) Хрен бы оно прокотило с моим Курьером... Да еще и с импульсным набором.

Зафиксирован второй взрыв iPhone во Франции

Новости на uinc.ru:


Зафиксирован второй взрыв iPhone во Франции
Француз Буади Ясин заявил сегодня, что был ранен осколками стекла в результате взрыва коммуникатора iPhone. Это уже второй подобный случай во Франции. 26-летний сторож супермаркета в городке Вильвьей на юго-востоке страны, сказал, что инцидент произошел вчера примерно в три часа дня, когда он набирал текстовое сообщение. Г-н Ясин заметил, что он очень зол и намерен подать иск о возмещении ущерба. «Я требую объяснений насчет этого проклятого телефона!» — заявил потерпевший. Популярный гаджет был приобретен три месяца назад за 600 евро. Пострадавший намерен по меньшей мере вернуть эти деньги.
Напомним, что несколько дней назад французский подросток едва не лишился глаза после того, как взорвался iPhone его подруги. Чуть раньше то же самое случилось с плеером iPod 11-летней британской девочки. Производитель iPhone и iPod американский технологический гигант Apple заверил Евросоюз, что это были единичные случаи и подобные происшествия, скорее всего, связаны с перегревом ионно-литиевых батарей.


Да уж, видимо яблочники решили максимально сэкономить на йяМобилко, поставив на него самолётную цену. Результаты начинают вылазить.
Предполагаю, что от них последует опровержение, что виноват пиратский софт.

Продам недорого мотоциклетные шлемы и строительные каски :)

24 авг. 2009 г.

Баннизмы

Вот такой баннизм. "Одноклассники задолбали" :)

21 авг. 2009 г.

Телефонный справочник некоторых украинских городов

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

20 авг. 2009 г.

Google продался!

Похоже, конечно, на прикол, но меня эта ситуация как-то напрягла.
1. Открываем http://translate.google.com/
2. Переводим с русского на китайский фразу: Голосуйте за Януковича!
3. Полученный результат переводим обратно с китайского на русский
4. ...
5. читаем результат

19 авг. 2009 г.

40 лет реляционной модели данных!

Сегодня исполняется 40 лет со дня публикации статьи Кодда "Выводимость, избыточность и согласованность отношений, хранимых в крупных банках данных", которая считается началом жизни реляционной модели баз данных. Все мы в них. Все так или иначе связаны с СУРБД.

Опять нет повода не выпить. :)

Яблочный спас, аднака!

Субж! :)

18 авг. 2009 г.

Описание дерева объектов при программировании для Adobe Indesign

Вот такой неинтуитивно ожидаемый сайтик - Indesign Scripting Reference. Описание дерева объектов для 3 языков скриптинга в 3-х версиях Adobe Indesign.

Мобильные телефоны Nokia. Посмотреть объем свободной памяти

Который раз матерюсь по поводу поиска информации о свободной/занятой памяти в мобилке Nokia. Надо ж было так ее засунуть, чтобы от раза к разу забывать, где эту информацию искать...
Меню/Галерея/Функции (на любой из директорий)/Состояние памяти

17 авг. 2009 г.

Asus P526. Обновление прошивки.


  • Скачал обновления для своего Asus P526 с сайта Асуса. Сам сайт, по правде сказать, тормознутый и неудобный. Ну да бах с ним.
    Обновление до версии 6.1. обещает в числе прочих изменений:
  • поддержку протокола Edge (до этого был только GPRS);
  • повышение лимита ёмкости карт microSD до 8GB;
  • исправление бага, когда при зарядке от автомобильного прикуривателя GPS терял связь со спутниками

Обновление прошло, в общем, гладко. Хорошо, что перед обновлением сделал самовосстанавливающийся бакап программой SPB BackUp. Ибо при обновлении потерялись все контакты и СМС.После обновления восстановил эти данные и всё стало нормально. Конечно, пришлось переставить программки, которые были установлены в память: (MagiCall), SPB Pocket Plus... Но в целом. Нормально.

Волна СПАМа схлынула

Видимо борцуны против СПАМа что-то очередное смогли закрыть. За 2 выходных пришло всего 4 письма.
Вообще, эффективность борьбы со спамом хорошо заметно на старых почтовых ящиках. У меня ящик существует уж лет 15. В основном туда сыплется спам и пара подписок 1-2 раза в неделю. GMail достойно спам фильтрует. И в день приходит обычно по 50-80 спам-писем. Как только в боях на электронных полях сражений начинают выигрывать борцы, объем писем в папке СПАМ резко уменьшается.

14 авг. 2009 г.

MRTG. Дополнительные заголовки

Понадобилось в html-файлах, генерируемых MRTG, в самое начала файла поставить вызов своего скрипта. Вызываться он должен в самом начале файла. Однако штатный параметр AddHead файла конфигурации MRTG позволяет добавлять заголовки между тегами <HTML> и <title>. 

Залез в исполняемый скрипт mrtg, нашел строку, начинающуюся с "DOCTYPE", которую он вставляет в начало файла (строка 1381 ), и перед ней добавил строку 

print HTML "$$rcfg{'addhead'}{$router}";

Строку же $$rcfg{'addhead'}{$router} далее в коде (1534) закомментировал. 

Работает.

Первоначальная настройка SQUID

Очень хорошая статейка по первоначальной настройке SQUID. Хороша для начала работы с ним.
Настройка Squid для чайников. Статейка не самая свежая, но актуальная.

Законы подлости (Мерфи)

Закон, выведенный эмпирическим путем:
Из трех кабелей в сумке нужный достается посленим.

13 авг. 2009 г.

Linux Slackware. 2 провайдера, 1 шлюз и DMZ

Возникла задача настроить такую схему:
1. Один шлюз с двумя внешними и одним внутренним интерфейсами.
2. Для локальной сети шлюз раздает интернет.
3. Входящие подключения по 443-му порту с обоих провайдеров пробрасываются на одну из машин внутри сети (DMZ).

После долгих изысканий и чтений (до этого с настройкой роутинга мне сталкиваться толком не приходилось) было выбрано следующее решение:
Роутинг выполняется пакетами iproute2 и iptables (в Slackware свежей версии идут предустановленные). Входящие сессии от каждого из провайдеров маркируются определенной маркой посредством действия CONNMARK пакета iptables:
iptables -t mangle -A FORWARD -i $DEV_IP1 -m state --state NEW -j CONNMARK --set-mark $MARK_IP1
iptables -t mangle -A FORWARD -i $DEV_IP2 -m state --state NEW -j CONNMARK --set-mark $MARK_IP2


Пакеты, приходящие на внутренний интерфейс маркируются меткой соответствующей сессии:
iptables -t mangle -A PREROUTING -i $DEV_LOCAL -m state --state ESTABLISHED -j CONNMARK --restore-mark

В правилах роутинга (iproute2) указано, что пакеты с определенной меткой отправляются в соответствующие им таблицы.
$ip route add 192.168.0.0/24 dev eth1 src 192.168.0.113 table tpr1
$ip route add 192.168.3.0/24 dev eth0 table tpr1
$ip route add 127.0.0.0/8 dev lo table tpr1
$ip rule add fwmark $MARK_P1 table tpr1
$ip route add default via 192.168.0.1 dev eth1
$ip route add default via 192.168.0.1 table tpr1

$ip route add 192.168.2.0/24 dev eth2 src 192.168.2.114 table tpr2
$ip route add 192.168.3.0/24 dev eth0 table tpr2
$ip route add 127.0.0.0/8 dev lo table tpr2
$ip rule add fwmark $MARK_P2 table tpr2
ip route add default via 192.168.2.4 dev eth2
ip route add default via 192.168.2.4 table tpr2


Рекомендуется для прочтения замечательная заметка Павла Рочняка "Тонкости настройки Linux при подключении к двум и более провайдерам", которая в доступной форме описывает принцип работы iproute2; заметка в блоге HexBot "Используем 2+ провайдера с применением модуля CONNMARK" и уже упоминавшаяся статья Iptables из Википедии.

Linux. Монтирование удаленных ФС с помощью SSHFS

SSH - как швейцарский нож. Всё можно сделать с его помощью.
sshfs - утилита для монтирования удаленных файловых систем через протокол SSH. При этом с серверной стороны ничего кром е sshd не нужно.
В Ubuntu установка проста:
sudo apt-get install sshfs

Использовать тоже просто:
монтируем
sudo sshfs user@host:fs mount_point

размонтируем
sudo umount mount_point

12 авг. 2009 г.

Linux. Поменять порядок сетевых интерфейсов

В Linux при добавлении новых сетевых интерфейсов с удалением старых, а иногда и произвольно, меняется порядок сетевых интерфейсов. Напимер стояла сетевуха eth0. Ее убрали, поставили новую. Она стала eth1. Потом поставили еще одну, она стала eth2... Управление порядком и нумерацией интерфейсов выполняется в файле
(Ubuntu) /etc/udev/rules.d/70-persistent-net.rules
(Slackware) /etc/udev/rules.d/75-network-devices.rules


Внутри находятся строчки с названиями установленных в системе сетевых интерфейсов. В самом конце каждой - имя интерфейса. Меняем eth0 на eth1 и перезапускам сеть
(Ubuntu) sudo /etc/init.d/networking restart
(Slackware) пока не знаю.

Интеграция коммунального хозяйства в сетевую инфраструктуру

Есть такая платёжная структура в Украине - "Герц". У нее есть сайт www.gerc.ua. Компания "Герц" решила сделать шаг на встречу светлому информационному будущему и реализовать online-просмотр состояния оплат по коммунальным услугам для каждого гражданина, пока что, Одессы. Задумка, в принципе, не плохая. Хоть и не оригинальная. Однако реализация, как всегда...
Теперь любой пользователь сети Интернет может зайти на этот сайт, ввести в регистрационной форме абсолютно левые данные, добавить в обзор объектов любой одесский адрес или номер автомобиля (с указанием ФИО владельца) и посмотреть информацию по долгам, платежам, услугам (в том числе - кабельному телевидению), метражу квартиры, количеству прописанных в ней граждан и по штрафам по указанному автомобилю. Осталось только подключить туда услуги связи, и возникнет полная картина благосостояния человека. При этом инфомрация доступна ЛЮБОМУ!
На иллюстрации видны нереальное имя пользователя и данные по реальному объекту, взятому наугад.

11 авг. 2009 г.

Bash. Резервное копирование файла.

Наваял небольшой скриптец для копирования указанного файла в директорию
~/backups/YYYY-MM-dd/YYYY-MM-dd_hh-mm-ss_<имя файла>.bkp
чтобы перед изменением какого-то файла сперва забакапить его, а потом уж и глумиться :)
#!/usr/bin/bash
BKPDIR=`date +"%Y-%m-%d"`
BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"`
myhome=`echo ~`
curdir="$myhome/backups/$BKPDIR"
echo "making $curdir"
mkdir -p $curdir
echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp"
cp $1 $curdir/$BKPPREFIX`basename $1`.bkp


Сомневаюсь, что я первый это придумал, но готового не искал.

Украина таки идет в НАТО

На сайте президента Ющенко разместили вот такой указ:


УКАЗ ПРЕЗИДЕНТА УКРАИНЫ № 600/2009
Об утверждении Годовой национальной программы на 2009 год по подготовке Украины к обретению членства в Организации Североатлантического договора



Хотя я не знаю ни одного человека, который бы хотел вступления Украины в НАТО. Ну, если не считать пана Президента.

7 авг. 2009 г.

IPTables.


Хорошая статейка по началам IPTables расположениа в Википедии. Действительно становится понятно что куда и как течет. А то после прочтения кучи букв так до конца и не понимаешь, чем Output отличается от PostRouting... Диаграмка очень хороша.

5 авг. 2009 г.

Хаки. Opera

Люблю я обозреватель Opera. Хорошая программа. Много позволяет облегчить жизнь пользователю. Очередная фишка.
Решил поискать слова песни "Another Way To Die" тёти Алисы White и дяди Джона Anthony. Первые две позиции в Google занимают сайты www.metrolyrics.com и www.lyricsmode.com. Зеркала друг-друга. С немного переделанным интерфейсом. Для защиты, я так понимаю, контента текст печни не выделяется ни мышкой, ни по Ctrl-A. Залез в исходник - текст разбит кусками. Вычищать html неохота. Щелкнул правой мышью (ил F12), выбрал пункт "Disable Java Script" и вся защита пошла лесом.

Еще одна интересная функция обозревателя. Открыв очередную страницу с формой имеем проверку правильности заполнения форм или другие применения JavaScript. Или HTML-конструкции которые мне почему-то мешают. Открываем исходный код страницы (сейчас это Ctrl-U, у меня - по старой памяти - Ctrl-F3), вносим нужные изменения и нажимаем кнопку "Применить". Переключаемся на хакаемую страницу и она работает так как нам надо. По-моему - супер.

Смешно. И грустно.

Право, даже не удивляет. Просто грустно смешит:
РАСПОРЯЖЕНИЕ ПРЕЗИДЕНТА УКРАИНЫ № 161/2009-рп
Об отмене Распоряжения Президента Украины от 6 марта 2009 года № 38


И еще. Натянуто, конечно немного, но без режиссуры :)

А вот ссылка на галерею партретов секретарей Совета Национальной Безопасности и обороны Украины. Кабинет у них, видать, один на всех.

3 авг. 2009 г.

Linux, FreeBSD, Мониторинг сервера с помощью MRTG.


Возникла задача мониторинга загрузки нескольких серверов. Решили использовать пакет MRTG для построения графиков. Платформы серверов - Linux Slackware и FreeBSD.
С Linux-ом всё прошло гладко. Скачал, собрал, прописал в Apache и cron-е. В инете нашел пару скриптов для получения данных по загрузке памяти, процессора и сетевых интерфейсов. Благо, информации по этой системе много. Могу порекомендовать соответствующий раздел блога Bog BOS, ну и, естественно, документацию, идущую с пакетом.
С FreeBSD было сложнее. Из исходников пакет собираться не хотел - постоянно ругался на недостающие библиотеки. Пришлось установить его из портов - встал нормально. Затем оказалось, что скрипты для Linux не хотят работать во FreeBSD. Для получения информации по памяти пришлось доставить программку freecolor (из портов же). Использовал ее следующим образом:

#!/bin/sh
freecolor -b -o | /usr/bin/awk '\
NR==2 {ramUsed = $3 }\
NR==3 {swapUsed = $3 }\
END { print swapUsed "\n" ramUsed "\n0\n0" }'


Для информации по CPU использовал такой скрипт на Perl:

#!/usr/bin/perl
$cpu_orig=`/usr/local/bin/bsdsar -u > /tmp/bsdsar.tmp`;
$cpu_str=`/usr/bin/tail -1 /tmp/bsdsar.tmp`;
$val=(split(' ',$cpu_str))[1];
$val2=(split(' ',$cpu_str))[2];
$val=int($val);
$val2=int($val2);
print "$val\n";
print "$val2\n";
print "0\n";
print "0\n";


С загрузкой сетевых интерфейсов пришлось возиться с установкой snmpd. Из портов его поставить не получилось. Решил ставить из исходников. Но наткнулся на статейку с кучей рекламы (видать дорвей). В ней кратко описано поднятие штатного snmp-демона bsnmpd. С его помощью и решился вопрос. mrtg-conf приобрел следующий вид:

### Interface 1 >> Descr: 'rl0' | Name: 'rl0' | Ip: '77.120.101.132' | Eth: ###


Target[LAN0]: 1:public@127.0.0.1:
SetEnv[LAN0]: MRTG_INT_IP="xxx.xxx.xxx.xxx" MRTG_INT_DESCR="rl0"
MaxBytes[LAN0]: 12500000
Title[LAN0]: Traffic Analysis for LAN0
PageTop[LAN0]: <h1>Traffic Analysis for LAN-0 -- xxx.xxx.xxx.xxx (hostname)</h1>
Options[LAN0]: gauge, nopercent, growright

### Interface 2 >> Descr: 'rl1' | Name: 'rl1' | Ip: 'xxx.xxx.xxx.xxx'###

Target[LAN1]: 2:public@127.0.0.1:
SetEnv[LAN1]: MRTG_INT_IP="xxx.xxx.xxx.xxx" MRTG_INT_DESCR="rl1"
MaxBytes[LAN1]: 12500000
Title[LAN1]: Traffic Analysis for LAN1 -- xxx.xxx.xxx.xxx (gorod13.com)
PageTop[LAN1]: <h1>Traffic Analysis for LAN1 -- xxx.xxx.xxx.xxx (hostname)</h1>
Options[LAN1]: gauge, nopercent, growright