пятница, 18 марта 2011 г.

Копирование систем в Linux

Иногда бывает нужно сделать копию установленной системы на другой сервер, один из вариантов - ssh+tar.
Действия:
1. На системе назначения:
а. загрузиться с LiveCD, LiveUSB и т.п.
б. разметить диски
в. смонтировать их, например:
mkdir /root/1
mount /dev/sda1 /root/1

г. запустить sshd
1. На исходной системе:
mkfifo /tmp/temp.fifo
cat /tmp/temp.fifo | ssh username@host_назначения "cd /root/1; tar -xjvf -"

2. вторая сессия на исходной системе
cd /; tar -cjvf /tmp/temp.fifo --exclude=./proc --exclude=./sys --exclude=./dev --exclude=./tmp .

3. На системе назначения отредактировать /etc/fstab, если нумерация разделов не совпадает,
отредактировать /boot/grub/menu.lst, если загрузочные диски или разделы не совпадают
3. На системе назначения сделать диски загрузочными, например:
mount --bind /dev /root/1/dev
mount --bind /sys /root/1/sys
mount --bind /proc /root/1/proc
chroot /root/1
grub-install
exit
umount /root/1/dev
umount /root/1/sys
umount /root/1/proc
umount 1


суббота, 12 марта 2011 г.

AS и несколько провайдеров

  1.  При наличии нескольких провайдеров, подключенных к нескольким разным маршрутизаторам, необходимо отключить inspect no ip inspect на них (на тех, на которых не осуществляется NAT) - для того, чтобы не отслеживались пакеты, входящие через один маршрутизатор и уходящие через другой
  2.  Если сильно хочется, чтобы при наличии нескольких провайдеров, входящий траффик шел по одному каналу, более приоритетному, то в настройках route-map out для других провайдеров нужно указывать
    set as-path prepend <ваша_AS> и этих prepend <ваша_AS> указывать тем больше, чем меньший приоритет должен быть у канала (хотя это можно пробовать решить через MED, но не со всеми провайдерами срабатывает)

среда, 26 января 2011 г.

LaTeX: библиография в UTF8

При написании работ (в частности диссертаций) в LaTeX, для формирования списка литературы обычно рекомендуется использовать стили gost71, gost780 и т.п. При использовании этих стилей есть одна проблема - они рассчитаны на список литературы в кодировке Windows1251, что при работе в Linux уже неудобно. Можно конечно делать всю работу в CP1251, но проблему можно решить и другим способом:
1. в /usr/share/texmf/bibtex/bst/gost (путь в openSUSE, в других дистрибудивах он может отличаться) находите нужный файл, например gost71u.bst и переименовываете его в gost71u-utf8.bst
2. находите в переименованном файле символы f. и заменяете их на ff (в моем случае они были в двух местах)
3. в дальнейшем используете стиль gost71u-utf8 в своей работе



четверг, 13 января 2011 г.

Роутинг входящих пакетов в Cisco IOS

Очередной неочевидный (для меня, на момент проблемы) момент: во многих советах по усилению защиты роутеров Cisco рекомендуется ставить на исходящих интерфейсах
ip verify unicast source

В случае нескольких исходящих интерфейсов, особенно при включенном BGP, возможны случаи, когда этот самый ip verify unicast source не всегда работает правильно, по крайней мере с точки зрения получателя пакетов.
Происходит следующее - на роутере в таблицах маршрутизации существует сеть, откуда пришел пакет, но адрес назначения указывает не на тот интерфейс, откуда он пришел.

Пример:
Два провайдера, AS, поднят BGP, пакеты приходят от второго провайдера, при этом сеть, откуда они пришли указана в маршрутах BGP, приходящих от первого провайдера. Почему так получается в данном случае не столь важно. При включенном ip verify unicast source проверяется источник, выясняется, что не соотвествует таблицам BGP и пакеты отправляются в Null.
Поэтому желательно при наличии динамической маршрутизации, затрагивающей несколько равноправных интерфейсов, лучше эту команду не включать.


среда, 12 января 2011 г.

Служебные пользователи в Linux

В Linux есть не совсем очевидный момент - из под служебных пользователей иногда нужно запускать какие-то задачи в cron, а это не всегда работает. Проблема может быть в следующем: для таких пользователей в /etc/shadow присуствуют записи вида:

bin:*:14220::::::
или
otrs:!:13563:0:99999:7:::

согласно документации:

* : User cannot login by password
! : User cannot login to the system


т.е. если во втором поле стоит !, то от имени данного пользователя запустится только сервис/демон, при попытке запуска задачи из cron в логах будет что-то типа Permission denied.
В таких случаях самый простой метод - заменить в /etc/shadow ! на *


воскресенье, 9 января 2011 г.

TeX и таблицы, прибитые гвоздями

Для того, чтобы таблицы в TeX стояли именно в том месте, где они должны стоять, а не плавали по всему документу, иногда достаточно поставить \begin{table}[!ht]

вторник, 28 декабря 2010 г.

OpenSUSE 11.3 и SSH

При обновлении серверов до OpenSUSE 11.3 возниакет еще одна проблема - если раньше авторизация по ключам работала нормально, то после обновления при входе по ssh стало спрашивать еще и пароль.
Решение: изменить строки в файле /etc/ssh/sshd_config
закоментировать строку с AuthorizedKeysFile (как ни странно)
... можно еще на всякий случай поставить

PermitRootLogin without-password