понедельник, 31 марта 2008 г.

Обзор ресурсов для сисадминов *nix и просто гиков.

Linux
http://linux.org.ru - есть замечательный раздел http://www.linux.org.ru/books и там можно найти LOR FAQ, за который этот ресурс и удостоился помещения сюда. Также можно глянуть http://www.linux.org.ru/view-section.jsp?section=4, где есть еще немножко ссылок.

http://tldp.org - официальный сборник документации по Linux (The Linux Documentation Project), где можно найти HOWTO на многих языках, включая русский.

http://www.unix.org.ua - здесь есть неплохой раздел документации на русском языке на различные тематики.

http://gentoo-wiki.com - сборник документации по Gentoo Linux, есть и русский раздел.

http://citkit.ru/ - много разной информации. Не только по *nix

http://linuxforum.ru/ - русский форум пользователей Linux

http://www.lfwiki.ru/Заглавная_страница - неплохой сборник всяких HOWTO на русском.

http://rusmafia.org/linux/ - сборник советов по Linux, BSD и другим. Дружественный мне проект, ибо участвую с первых дней.

UPD: http://lartc.org - Linux advanced routing and traffic control howto - известный ресурс и дока по возможностям маршрутизации и шейпинга в Linux. (via ).

UPD: http://runix.org - портал с множеством русских блогов по *nix. (via dandr)

Ресурсы по Debian GNU/Linux

http://wiki.debian.org/ - официальный Debian Wiki. Ну, все говорит само за себя.

http://www.debian-administration.org/ - это ресурс (к сожалению, англоязычный), на котором можно найти огромное множество советов по администрированию Debian GNU/Linux.

http://www.uptimebox.ru/ - "Прикладная дебианавтика" - еще один блог сисадмина, работающего с Debian. Пишет свои обзоры, мысли, почитать интересно.

http://beshenov.ru/debaday - "Пакет дня Debian" - задумывался изначально как обзор какого-нибудь одного пакета из репозитария в каждой статье. Иногда попадается ну очень интересный софт. Является переводом другого блога -

http://debaday.debian.net/ - "Debian package of a day"

Юмор
http://ru.thedailywtf.com/ - сборник разных курьезных историй (точнее их переводов).

суббота, 29 марта 2008 г.

Порнография для сетевых инженеров

Эротика

BDSM, много боли

via bansheezm

P.S. Мне кажется, я понял, в чем тут разница. Первые тянут сразу жгут из кабелей, вторые - по одному кабелю. Ну и потом вторым лень правильно их уложить и обрезать лишнее...
P.P.S. Ну и специфику надо все-таки учитывать - у нас таки обычно помещения снимают, а не покупают. В результате, построенную на года СКС мало где встретишь. Я уже не говорю про сертифицированные.

понедельник, 17 марта 2008 г.

О субкультуре в IRC или как не раздражать других )

Итак, 15 правил дурного тона, которые нужно обязательно выполнять, находясь в одной из сетей IRC.

1. Цветные сообщения.
Совершенно необходимо раскашивать сообщения разными цветами. Еще лучше использовать цвета, которые отображаются как "мигающие". Особенно рулит письмо зеленым текстом на зеленом фоне. Такие сообщения сразу выделяются и бросаются в глаза, вызывая множество ответных реплик.

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

3. Выделение ника собеседника.
Совершенно некрасиво и неправильно пользоваться умолчательным способом вставки ника - с запятой или двоеточием вконце, нужно обязательно добавить 4-5 символов слева и справа, снабдив это приправой из цветов. Во-первых это выделит Вас перед остальными, во-вторых, заставит собеседников внимательнее просматривать все каналы, так как скорее всего hilight на такое обращение не сработает - пусть развивают этот навык.

4. Public-away
При уходе надо обязательно менять ник на что-то вроде Вася[away] или Вася|away. Потому что команда /away очень неудобна сама по себе, а все собеседники должны быть в курсе, что вы отошли.

5. Реклама в /quit.
Нельзя не порекламировать свой IRC-клиент или скрипт или даже сайт в quit-сообщении. Кроме того, каждый уважающий себя разработчик клиента обязательно должен оставить ссылку на сайт клиента в умолчательном quit-сообщении, украсив его цветами. Без этого вас не ожидает непонятно откуда взявшийся бан на нескольких каналах. Без этого никуда.

6. Номер в нике
... признак необразованного бота. Совершенно необязательно называться уникальным именем или авторизоваться у сервисов, ведь все и так знают, что вы - это вы.

7. Копи-паст.
Для всех очень важно получить ваш лог с ошибкой/вашу программу/статью прямо в канал, а не с помощью ссылки, а потом читать его. Ведь это так экономит ресурсы сети...

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

9. Повтор сообщений.
Если никто не отвечает на ваше сообщение - это повод повторить его. Еще и еще раз. Его скорее всего просто никто не заметил.

10. Ник со смесью кириллицы и латиницы.
Автокомплит ников - это неправильный подход. Пусть собеседники копируют и вставляют ваш ник руками. Это дань уважения к вам.

11. Новый канал.
Совершенно необязательно читать правила канала и FAQ перед тем как начать что-то писать. Их написали просто для прикола.

12. Кодировка.
В окне сервера никогда не пишут правду. Поэтому подробности настройки кодировки клиента нужно узнавать именно на каком-нибудь канале. И он не должен называться #help - он для этого не предназначен.

13. CAPS LOCK.
Как и в других местах - писать маленькими буквами - дурной тон. Так делают только люди с заниженной самооценкой.

14. /IGNORE
Вместо использования этой команды лучше вылить ушат грязи на надоевшего собеседника. И получить от него в ответ тазик грязи, ответив на него потоком грязи из брандспойта. Ведь это так весело!

15. Autorejoin.
Нужно обязательно включить эту функцию, чтобы не пришлось вручную заходить на канал после кика. Эта команда позволит даже не замечать, что оператор канала чем-то недоволен. Да кто он такой, в конце концов?

среда, 12 марта 2008 г.

VLSM, CIDR и опять про маски сетей и адресацию.

Итак, мир давно отказался от классовой адресации. Сейчас классы сетей в основном используются только для назначения "умолчательной" классовой маски при настройке интерфейсов хостов. Вот, скажем, введете вы у себя в Windows в настройках tcp/ip адрес 10.0.0.1 - а он автоматически предложит маску 255.0.0.0. В остальном важность понятия класса сети уже утрачена.
Взамен пришли две технологии - VLSM, о которой я уже немножко писал и CIDR. Это две разные технологии, которые замечательно работают вместе и сетевым администраторам могут облегчать жизнь, если использовать их с умом (т.е. там где это реально нужно). Естественно, если у вас в конторе всего один офис из 7 компьютеров, вы можете вообще не изучать ничего из сетевых технологий - вам на этом месте это даже не пригодится. )

Итак, как я уже говорил - VLSM позволяет разделять сети на меньшие по размеру подсети, что позволяет экономить адреса (реальный денежный эквивалент этой экономии получается, если речь идет о покупке подсетей зарегистрированных публичных IP у провайдера)
Забавно, что вместо ручного подсчета есть онлайн и оффлайн-калькуляторы для разбиения адресного пространства. Например, http://www.vlsm-calc.net. ) Но для понимания механизма, полезно все-таки иногда посчитать вручную.
Так как про разбиение диапазонов адресов на подсети я уже писал, пришло время рассказать и об обратной процедуре.
Эта процедура как раз и является частью технологии CIDR и позволяет экономить:
1. На количестве забиваемых руками в таблицу маршрутизации записей.
2. На количестве передаваемых маршрутов в обновлениях протоколов динамической маршрутизации.
3. На числе записей, которые нужно обрабатывать маршрутизатору при поиске маршрутов для каждого пакета.
А называется это "суммирование маршрутов".

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

CIDR расшифровывается как "Бесклассовая междоменная маршрутизация" (Classless interdomain routing).
CIDR привносит новую и очень краткую форму записей масок - это запись маски в виде количества установленных в "1" бит маски.
Например - 10.0.0.0/8 - означает маску 255.0.0.0 - т.к. 8 бит маски установлены в "1". 192.2.0.0/30 - это 255.255.255.252 - т.к. 30 бит маски установлены в "1", и это просто можно посчитать, переведя маску в двоичный вид.
Для ленивых в Википедии есть табличка, которая поможет перевести такую маску в обычный десятичный вид и наоборот.
Итак, а что же есть суммирование маршрутов?



Ну, возьмем такой пример - допустим у нас есть маршрутизатор, у которого есть "аплинк" в виде другого маршрутизатора, с одной стороны, и две сети - например, 192.168.0.0/24 и 192.168.1.0/24 - с другой. Ну вот прямо как на рисунке. Если перевести оба этих числа в двоичный вид и отсчитать слева совпадающую часть и закрыть ее маской - мы получим суммарную маску для этих двух сетей. :
11000000.10101000.00000000.00000000
11000000.10101000.00000001.00000000
11111111.11111111.11111110.00000000

Наложив ее на любую нашу сеть, мы должны получить также суммарный номер сети.

И добавив один этот маршрут - 192.168.0.0/23 - на аплинк, мы вполне нормально обеспечим маршрутизацию пакетов в эти обе сети через наш роутер.

Экономия в числе записей может быть еще чувствительнее, если у нас за маршрутизатором не 2 сети, а много больше.

воскресенье, 9 марта 2008 г.

Перезагрузка Cisco )

Русаковский подсказал достаточно полезную вещь.
Итак, Cisco не сохраняет startup-config сразу. Поэтому если мы что-то настроили не так и не успели сохранить конфигурацию, нас выручит перезагрузка. Но чтобы не делать ее вручную, есть команда reload. Но я вот не знал, что у нее есть еще и параметры )
Итак - reload in [время] - позволяет перезагрузить роутер через указанное количество минут или указанное время. Есть еще reload at - в определенное время. Иными словами, сказав железке перезагрузиться через 5 минут и уже после этого конфигурируя ее, мы автоматически избавляем себя от проблем, связанных с неправильной настройкой.

А если все прошло удачно - нужно просто сказать "reload cancel".

суббота, 8 марта 2008 г.

Немножко про access-lists в цисках

Вот, открыл для себя то, что лежит за пределами CCNA - а именно поведение сиськовского пакетного фильтра.
Итак,
1. access-list это список правил
2. access-list работает как любой другой пакетный фильтр - правила применяются по очереди, и если уж подходят к пакету, больше не применяются.
3. В конце любого access-list неявно добавляется правило, которое запрещает все.

Поэтому если хочется прибить только входящий RIP на уровне пакетов, то нужно написать:
access-list 100 deny udp 192.168.4.0 0.0.0.255 any eq rip
access-list 100 permit ip any any

Отредактировать строку списка никак нельзя. Можно только удалить список полностью:
no access-list 100

И потом добавить его заново.
Правила добавляются в порядке ввода. )

access-list необходимо назначать на интерфейс или в других местах, где он поддерживается:
(config) int fa1/0
(config-if) ip access-group 100 in

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

пятница, 7 марта 2008 г.

Сиськочасы

Подарок нашему инструктору... В общем, он одарил нас самой большой аудиторией и в ней будут вот такие вот часы. )
Картинко под катом




четверг, 6 марта 2008 г.

Ааа! Моя корзина не очищается и я почему-то не могу удалить свои документы!

Все-таки есть одна неприятность, которая приходит с удалением winbindd-idmap.tld - слетают привязки id UNIX-юзеров к юзерам домена. В результате очень неприятно меняются права доступа юзерам к каталогам, посему... В общем, теперь я резервнокопирую этот файлик и вам рекомендую. Мало ли что. Вдруг пьяный техник перепутает шнур питания сервера с чем-то еще. )

среда, 5 марта 2008 г.

Аааа! Мы не можем открыть папку с документами!

Как-то неаккуратно вырубился файловый серевер с samba и winbind и у некоторых юзеров домена отвалился доступ к нему. )

[2008/03/05 13:23:24, 1] nsswitch/winbindd_user.c:winbindd_getpwent(729)
could not lookup domain user irina
[2008/03/05 13:23:24, 0] tdb/tdbutil.c:tdb_log(783)
tdb(/var/lib/samba/winbindd_idmap.tdb): rec_read bad magic 0x42424242 at offset=21508
[2008/03/05 13:23:24, 0] tdb/tdbutil.c:tdb_log(783)
tdb(/var/lib/samba/winbindd_idmap.tdb): rec_free_read bad magic 0x42424242 at offset=21760
[2008/03/05 13:23:24, 1] nsswitch/winbindd_user.c:winbindd_fill_pwent(85)
error getting user id for sid S-1-5-21-578002964-3223751266-3916644461-4113
[2008/03/05 13:23:24, 1] nsswitch/winbindd_user.c:winbindd_getpwent(729)
could not lookup domain user elena


Лечится, в общем-то, элементарно - rm /var/lib/samba/winbindd_idmap.tdb и /etc/init.d/winbind restart. )

суббота, 1 марта 2008 г.

О настройке RIPv1 в Windows 2003 Server

Я не знаю, как Microsoft позиционирует свою систему на маршрутизаторы и почему, потому что, имхо, это не лучший выбор по соотношению цены и возможностей. Но Windows Server поддерживает динамическую маршрутизацию и RIP в том числе. Как обычно, есть два варианта настройки - через rrasmgmt.msc и netsh

Рассмотрим первый вариант.

Пуск -> Выполнить -> rrasmgmt.msc

Получаем консоль управления маршрутизацией и удаленным доступом. Удалим оттуда маршруты, которые мы добавили ранее. Далее кликнем правой кнопкой своего грызуна на "General" и выберем пункт "New Routing Protocol".



В появившемся окне выбираем "RIPv2 for Internet Protocol".
У нас в дереве под "IP Routing" появится соответсвующая ветка, тыкая опять же на которую правой кнопкой, можно добавлять интерфейсы, которые будут участвовать в работе протокола. Добавим туда все интерфейсы, кроме Control - RIP на нем работать не должен.



При добавлении интерфейса необходимо сразу же настроить его. Это можно сделать и позже, но проще - прямо сейчас.



Итак, я задаю для интерфейса использование протокола RIPv1 для приема и отправки обновлений соседям, оставляю периодический режим для рассылки обновлений и не включаю аутентификацию. RIPv1 ее не поддерживает.
Раз уж мы в этом окне, опишу и остальные вкладки:



На вкладке "Security" можно настроить фильтры для обновлений - какие принимать и какие рассылать (или не принимать и не рассылать).



На вкладке "Neighbors" можно настроить отношения с соседями. Либо вы общаетесь с ними стандартным методом, либо прописываете дополнительных соседей, которым обновления будут посылаться направленно, либо - всем соседям будете посылать обновления направленно.



На вкладке "Advanced" включаются и отключаются дополнительные функции RIP - расщепление горизонта, poisoned reverse и триггерные обновления. Кроме того, можно поменять умолчательные значения таймеров и задать дополнительные условия для рассылки маршрутов на хосты или сети, а также маршрут по-умолчанию. Здесь лучше оставить все как есть. )



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

Как я уже и говорил, аналогичные действия можно выполнить с помощью netsh. Только этот интерфейс не назовешь особенно удобным.
Итак, если теперь снова удалить RIP из протоколов маршрутизации и пойти в netsh...
Для начала установим RIP:

C:\Documents and Settings\Administrator>netsh
netsh>routing ip rip
netsh routing ip rip>install
Ok.

Затем, то же самое что и в консоли - добавим интерфейсы с настройками:

netsh routing ip rip>add int "Stub3" announce=rip1 accept=rip1
Ok.

netsh routing ip rip>a int "n253" ann=rip1 acc=rip1
Ok.

netsh routing ip rip>a int "n254" ann=rip1 acc=rip1
Ok.

netsh routing ip rip>

Ну и напоследок - проверим таблицу маршрутизации на предмет появляющихся там маршрутов от соседей:

netsh>routing ip sh rtmr

Prefix Protocol Prf Met Gateway Vw Interface
------------------ ---------- --- --- --------------- -- ----------------
10.0.0.0/8 Local 1 10 10.0.0.7 UM Control
10.0.0.7/32 Local 1 10 127.0.0.1 U Loopback
10.255.255.255/32 Local 1 10 10.0.0.7 UM Control
127.0.0.0/8 Local 1 1 127.0.0.1 U Loopback
127.0.0.1/32 Local 1 1 127.0.0.1 U Loopback
192.168.3.0/24 Local 1 10 192.168.3.1 UM Stub3
192.168.3.1/32 Local 1 10 127.0.0.1 U Loopback
192.168.3.255/32 Local 1 10 192.168.3.1 UM Stub3
192.168.4.0/24 RIP 120 2 192.168.253.1 UM n253
192.168.250.0/24 RIP 120 2 192.168.253.1 UM n253
192.168.251.0/24 RIP 120 2 192.168.253.1 UM n253
192.168.252.0/24 RIP 120 2 192.168.253.1 UM n253
192.168.253.0/24 Local 1 10 192.168.253.2 UM n253
192.168.253.2/32 Local 1 10 127.0.0.1 U Loopback
192.168.253.255/32 Local 1 10 192.168.253.2 UM n253
192.168.254.0/24 Local 1 10 192.168.254.2 UM n254
192.168.254.2/32 Local 1 10 127.0.0.1 U Loopback
192.168.254.255/32 Local 1 10 192.168.254.2 UM n254
224.0.0.0/4 Local 1 10 10.0.0.7 UM Control
224.0.0.0/4 Local 1 10 192.168.3.1 UM Stub3
224.0.0.0/4 Local 1 10 192.168.253.2 UM n253
224.0.0.0/4 Local 1 10 192.168.254.2 UM n254
255.255.255.255/32 Local 1 1 10.0.0.7 UM Control
255.255.255.255/32 Local 1 1 192.168.3.1 UM Stub3
255.255.255.255/32 Local 1 1 192.168.253.2 UM n253

Вот, собственно, и вся настройка. )