пятница, 25 мая 2012 г.

Запланированная перезагрузка маршрутизатора cisco.

Возникла необходимость в сабже. Имеется устройство:

Router1#sh ver
Cisco IOS Software, C870 Software (C870-ADVIPSERVICESK9-M), Version 12.4(15)T7, RELEASE SOFTWARE (fc3)
ROM: System Bootstrap, Version 12.3(8r)YI4, RELEASE SOFTWARE

Router1 uptime is 22 minutes
System returned to ROM by power-on
System restarted at 15:26:54 FET Thu May 24 2012
System image file is "flash:c870-advipservicesk9-mz.124-15.T7.bin"

Cisco 871 (MPC8272) processor (revision 0x300) with 118784K/12288K bytes of memory.
Processor board ID FHK124728XM
MPC8272 CPU Rev: Part Number 0xC, Mask Number 0x10
5 FastEthernet interfaces
128K bytes of non-volatile configuration memory.
28672K bytes of processor board System flash (Intel Strataflash)

Клиент сильно желает перегружать ежедневно ночью. Попытка решить задачу с помощью команды reload не привела к ожидаемым результатам, необходимо каждый раз подтверждать перезагрузку, что не подходит. После недолгих поисков было найдено решение - использовать EEM (Embedded Event Manager).

Router1# conf t
Router1(config)#event manager applet RELOAD-ROUTER

Router1(config-applet)#event timer cron name "RELOAD" cron-entry "0 6 * * *"

Router1(config-applet)#exit

четверг, 24 мая 2012 г.

Как сохранить устанавливаемые с помощью yum rpm-пакеты

Иногда бывает полезно сохранять устанавливаемые с помощью yum пакеты. Например, когда внезапно понадобилась старая версия пакета, которой уже нет в публичном доступе.
Нижеследующие действия производились на RHEL6, но в 99% случаев подойдут и для CentOS, SL, Fedora.
sudo vi /etc/yum.conf
# Прописываем/изменяем переменную cachedir, в которой будут сохраняться устанавливаемые с помощью yum пакеты
cachedir=/var/cache/yum/$basearch/$releasever

# keepcache=0, означает удалять пакеты после успешной установки. Меняем на 1.
keepcache=1

Сохраняем изменения. Теперь в указанной выше директории будут сохраняться пакеты. Их можно будет устанавливать либо с помощью yum localinstall SOME_PACKAGE.rpm или rpm -ivh SOME_PACKAGE.rpm


Литература:
man yum.conf

среда, 9 мая 2012 г.

SSH, проброс портов

Собственно, довольно таки избитая тема. Оставлю небольшую заметку себе на память.
Предыстория: На работе начались проблемы с ДНС-сервером под Win2008R2, я в это время находился в заслуженном отгуле. Необходимо было подключиться и исправить. Своего ноута с настроенным впн-клиентом под рукой не оказалось - пришлось пользоваться ноутом друга. Настраивать там впн не имело особого смысла, потому решил сделать проброс порта через SSH.
Итак, вот она заветная строчка:
ssh -p 3821 -L 3389:192.168.0.2:3389 USERNAME@DOMAIN.COM
где
-p 3821 порт, на котором висит SSHD, можно не указывать, если используется стандартный 22-й. В моем случае такой.
-L 3389:192.168.0.2:3389. Формат данной записи такой (согласно man ssh)
-L [bind_address:]port:host:hostport. Строчка говорит о том, что данный порт на локальном хосте (клиенте) будет пробрасываться на указанный хост и порт на удаленной стороне. Т.е. bind_address я НЕ указываю (в моем случае), затем идет локальный порт 3389 (можно указать другой), затем IP-адрес и порт удаленной машины.
USERNAME@DOMAIN.COM имя пользователя и домен для аутентификации (НЕ доменные, не путать)

Кроме того, перед выполнением данных действий необходимо убедиться, что на стороне сервера разрешена опция AllowAgentForwarding в файле конфигурации sshd.
[jack@FW ~]$ sudo grep Allow /etc/ssh/sshd_config
AllowAgentForwarding yes


Итак, после ввода данной строчки и успешной аутентификации, сворачиваем клиент в сторону, но НЕ закрываем. Открываем RDP-клиент и пробуем соединиться на 127.0.0.1:3389. Получилось? Тогда вперед.
PS: Проблема с ДНС-сервером была решена.

Литература:
man ssh
http://www.lissyara.su/articles/freebsd/trivia/ssh_port_forwarding/

суббота, 5 мая 2012 г.

Установка nodejs на RHEL6.2

Краткая заметка на память о сабже.

1. Скачать пакет с информацией о репозитории:
wget -c http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm

2. Установить скачанный на предыдущем шаге пакет
sudo rpm -ivh nodejs-stable-release.noarch.rpm
или
sudo yum localinstall nodejs-stable-release.noarch.rpm

3. Установить nodejs
sudo yum install nodejs

4. Создать тестовый js-файл для проверки работы сервера:
cat test.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8888, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8888/');


5. Запуск сервера nodejs
sudo nodejs test.js

четверг, 5 апреля 2012 г.

Canon MF3110 и Windows 7 64-бит

Дано: Windows7 64 бит, принтер Canon MF3110.
Задача: заставить работать.
На сайте производителя имеются драйвера только под 32-х битную версию. Переставлять Windows заказчик не дает. После непродолжительных поисков было найдено решение народных умельцев. Небольшая заметка на память.
Для данного устройства под 64-битную Windows подходят драйвера для LaserBase MF5770 того же производителя.
1. Итак, скачиваем драйвера отсюда - http://software.canon-europe.com/software/0037099.asp
2. Распаковываем во временную папку.
3. Добавить принтер с помощью мастера в Панель Управления -> Устройства и Принтеры
3.1 выбрать Сетевой принтер
3.2 Использовать существующий порт, выбрать USB
3.3 Установка с диска, выбрать папку с драйвером, выбрать файл CNXRPKA6
3.4 Выбрать Canon MF5700 Series
3.5 Согласиться "Заменить текущий драйвер"

Литература:
http://genmed-root.blogspot.com/2011/03/canon-mf3110-windows-7-x64.html

среда, 4 апреля 2012 г.

Настройка awstats для снятия статистики proftpd


Предположим пакет proftpd установлен и настроен. Задача сводится к получению статистики из файла /var/log/xferlog (путь к файлу может отличаться, проверьте директиву TransferLog в конфигурационном файле proftpd.conf) и приведению ее к удобочитаемому виду.

Пример лог-файла xferlog
Wed Jan 01 19:29:35 2012 1 192.168.1.1 102 /home/test/123.txt b _ o r test ftp 0 * c

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

Отредактировать файл /etc/awstats/awstats.DOMAIN.COM.conf (приведу лишь измененные строчки)
# Файл с данными
LogFile="/var/log/xferlog"
# Тип лог-файла, для web-сервера W, F — для ftp и т.п.:
LogType=F
# Строка, описывающая формат лог-файла
LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"
# Указываем имя домена
SiteDomain="DOMAIN.COM"
# Указываем все возможные псевдонимы домена
HostAliases="localhost 127.0.0.1 www.DOMAIN.COM ftp.DOMAIN.COM"
# В какой папке будут лежать БД awstats, на основе этих данных awstats сгенерирует отображаемую статистику.
DirData="/var/www/awstats/DOMAIN.COM"
# Путь к папке с иконками
DirIcons="/awstats/icon/"

Добавляем в cron:
crontab -e
30 * * * * /var/www/awstats/awstats.pl -config=DOMAIN.COM -update >/dev/null
40 * * * * awstats_buildstaticpages.pl -config=DOMAIN.COM -update -lang=ru -awstatsprog=/var/www/awstats/awstats.pl -dir=/var/www/awstats/DOMAIN.COM/ >/dev/null

Перезапуск crond.
service crond restart

Настройки виртуального хоста nginx можно взять из моей предыдущей заметки http://jskyworker.blogspot.com/2011/10/awstats-web-nginx.html

Литература:

пятница, 16 марта 2012 г.

Error allocating block bitmap (4)

У меня крутится несколько виртуальных машин на ESXi5, к одной виртуальной машине подключен диск объемом 2Т. После перезагрузки вылезла ошибка на этапе проверки файловой системы:
Error allocating block bitmap (4): 

Give root password for maintenance (or type Control-D to continue)



Замечательно. Опытным путем было установлено, что утилите e2fsck не хватает памяти для проверки файловой системы. Т.е. можно увеличить размер памяти для виртуальной машины на время для ее загрузки, либо временно убрать раздел из /etc/fstab, а потом после старта системы запустить проверку на НЕ смонтированном разделе (опять же, если есть swap-раздел/swap-файл размером от 2Г).

Литература: http://blog.ronnyegner-consulting.de/2011/08/18/ext4-and-the-16-tb-limit-now-solved/