Bringing Cisco IOS CLI to Linux CLI

There are few people on the globe who loves to work with Cisco and Linux via CLI. These people might have issues with trying to apply Bash/Vim syntax to IOS and vice versa. I’m certainly one of them. That’s why I can do the followng in my Bash:

$ show .bashrc | i return
[[ "$-" != *i* ]] && return
#     return 0
#     [[ -z $adir ]] && return 1
#   [[ $? -ne 0 ]] && return 1
#     [[ $? -ne 0 ]] && return 0
#   return 0

It’s very handy for checking Cisco configs, stored on a Unix machines, without inverting your mind out. In fact, if you are in rush and tried to apply IOS syntax to Bash, you won’t be distracted by an error message, but you’d get a result you reqired.

$ show samle_conf.cfg | i spanning-tree
spanning-tree mode rapid-pvst
spanning-tree etherchannel guard misconfig
spanning-tree extend system-id
spanning-tree pathcost method long
 spanning-tree portfast
 spanning-tree portfast
 spanning-tree portfast
spanning-tree bpduguard enable
...

It’s achieved very easily. You need to add some aliases to your ~/.bashrc file and relogin:

echo 'alias show="cat"' >> ~/.bashrc
echo 'alias i="grep --color"' >> ~/.bashrc

Fixing SSH access on cisco via SNMP

Sometimes you may ecounter a situation, when your SSH is not properly configured, for example, if you forgot to generate SSL certificate before enabling transport input ssh on all vty lines, as I recently did. In this situation you might be lucky enough to have SNMP RW community string configured. In this situation you can fix literally everything.

There are no many configurable settings on cisco can be done via SNMP. But you can copy a prepared config to device via TFTP, RCP etc. You may download current device’s config to tftp server, edit necessary lines and upload it back. You may upload it to either running config, startup config or a flash file.

To download running config:

snmpset -v 1 -c rw_community hostname ccCopyProtocol.13 i 1 
snmpset -v 1 -c rw_community hostname ccCopySourceFileType.13 i 4 
snmpset -v 1 -c rw_community hostname ccCopyDestFileType.13 i 1 
snmpset -v 1 -c rw_community hostname ccCopyServerAddress.13 a tftp_serv_ip
snmpset -v 1 -c rw_community hostname ccCopyFileName.13 s "file_name" 
snmpset -v 1 -c rw_community hostname ccCopyEntryRowStatus.13 i 1

Edit on the server, and upload it back by the following commands. Be careful! If you upload to startup-config, IOS will not merge the uploaded config and the startup one, it will replace it instead. Do not upload partial sets of commands!. TO be on a safe side always I recommnd to never upload partial configs. Only necessary lines should be added/cancelled/corrected and the whole config should be uploaded.

snmpset -v 1 -c rw_community hostname ccCopyProtocol.13 i 1 
snmpset -v 1 -c rw_community hostname ccCopySourceFileType.13 i 1 
snmpset -v 1 -c rw_community hostname ccCopyDestFileType.13 i 4 
snmpset -v 1 -c rw_community hostname ccCopyServerAddress.13 a tftp_serv_ip
snmpset -v 1 -c rw_community hostname ccCopyFileName.13 s "file_name" 
snmpset -v 1 -c rw_community hostname ccCopyEntryRowStatus.13 i 1

If you ecountered situation with SSH with no generated certificate, You config might look like this:

line vty 0 4
 length 0
 transport input ssh
line vty 5 15
 transport input ssh
exit

You should fix it to:

line vty 0 4
 length 0
 transport input telnet
line vty 5 15
 transport input telnet
exit

Some commands can be cancelled with “no ” statment before the command. Some, as in above case, not.

Fedora LXDE UI Improvement Tips

Touchpad vertical scroll:

in file /usr/share/X11/xorg.conf.d/50-synaptics.conf

Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "VertEdgeScroll" "1"
EndSection

Option “VertEdgeScroll” “1” – adds vertical scrolling

Restart X to take effect.

Adding keyboard layouts:

In file /etc/X11/xorg.conf.d/00-system-setup-keyboard.conf

Section "InputClass"
Identifier "system-setup-keyboard"
MatchIsKeyboard "on"
Option "XkbModel" "pc105+inet"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:caps_toggle,grp_led:num,terminate:ctrl_alt_bksp"
EndSection

Define layouts to be used
Option “XkbLayout” “us,ru”

Define switching keys:
Option “XkbOptions” “grp:caps_toggle,grp_led:num,terminate:ctrl_alt_bksp”
grp – key to switch
grp_led – Keyboard LED to highlight a layout
terminate – shortct to kill X

Restart X to take effect.

Поздравления

Приз за лучшие пожелания с др уходит к моему одногруппнику:

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

ЛАЗЕРОМ ИЗ ГЛАЗ!

Он же подарил мне первый в жизни цифровой подарок:

Спасибо, Леша!

0x18

Another Beautiful Data Center Photos

Another set of DC-pics. This time from Russian local search engine Yandex.

yandex data center

yandex data center

yandex data center

Some more pictures are available here.

ZOMG TEH white tiamat.name!

Hello dear RSS readers and others who never saw my front page. It’s time for prayer. Dark lord Tiamat changed his homepage design to… white colors! New design is approved by muslim, orthodox, mormon and satanic churches, is holy, is awesome, finds water, contains positive energy flows, brings luck to every visitor (share links). Dear readers, do you like it?

Doomer

С прошедним днем сисадмина, братья!

Парашютизм – тандем.

Подготовка. Подписываю документы – паспортные данные телефон, отказ от ответственности, претензий. Все как везде. Меня передают в лапы инструктору, к которому я буду пристегнут. От комбинезона я отказываюсь – буду прыгать в шортах и майке. Одевают в “клиентскую” часть тандема, объясняют что я буду крепиться к инструктору 4мя карабинами, каждый выдерживает по 2 тонны, поэтому боятся мне нечего. Вешают в тренажер. Объясняют, как после раскрытия “сесть” в стропах, как держаться во время посадаки. Как держаться во время полета. На мне стропы затягивают до крайней туготы – идем в самолет. Психологически страха нет, чувствую дрожание рук от адреналина. Интересно, будет ли страшно на высоте.

Садимся в самолет, я пролезаю ближе всех к пилотам, за мной инструктор – рядом соучастниг. У соучастнига день рождения. На 2 тысячах пилоты приветствуют парашютистов на борту и поздравляют соучастнига с днем рождения. Соучастниг полетит за нами с целью приорать над моими эмоциями и пульвиризирующим калом. Страха еще нет, однако ощущается потребность в туалет как по маленькому, так и по большому. Но старха нет :). Меедленно ползем на 4 тысячи, я смотрю в иллюминатор, на парашютистов. Замля маленькая, парашютисты большые – скучают. У каждого на запястье высотомер, они на него периодически смотрят. Мне интересно, как моя психика отреагирует на выброс. Вцеплюсь ли я всеми четырьмя в борта. или смиренно прыгну. Не обостраться бы в полете. И не обоссаться бы. Приближается нужная высота, меня пристегивают сверхпрочными карабинами, затягивают до диффузного слияния с инструктором, сажают на место. Уже скоро. Я смирен и с любопытством жду.

Отекрывается дверь (люк? шлюз?) – туда подрывается все население самолета и бодро прыгает в дырочку. Мы выходим последние. Перед отделением от самолета, я должен повиснуть на инструкторе, то есть поджать ноги, упершись пятками ему в жеппу, скрестить руки на груди (но не хвататься за стропы!), откинуть голову влево назад. Мы подходим к краю самолета, Я принимаю нужную позу. В ней не видно того, что под ногами. Вишу на инстукторе – перед глазами горизонт, высота, небо. Даю себе команду держать себя в руках. Набираю полную грудь, чтобы крикнуть “ИИИХААА” после отделения.

ВНЕЗАПНО, горизонт уходит вверх, и скрывается с поля зрения, гравитация пропадает, горизонт появляются снова, но уже снизу, уходит обратно вниз. Сенсорика шлет тонны алармов и ворнингов. Мозг захлебывается и игнорирует их все. Мозг вахуе. Прыгнули! Выровнялись! Стремительно несемся вниз. Рот у меня открыт, щеки хлопают от ветра. В груди “иииха”, которое я забыл выкрикнуть. Вспоминаю, что надо дышать, но не понимаю, как. С усилием захлопываю рот, вдыхаю через нос. Откуда-то сверху показывается соучастниг, сравнивается с нами по высоте. Машет одной ладошкой. Взляд серьезный, сосредоточенный. Как будто срет. Я пытаюсь что-то показать пальцами – не получается. Смотрю ему в глаза. Он в мои. он отлетает, мы раскрываемся.

Раскрытие – самый жуткий момент во всем прыжке. Неожиданно появляется гравитация. Неожиданно горизонт сверху возвращается на уровень глаз. Перегрузка. Внезапно понимаешь, что сидишь на двух веревочках на высоте километра. Земли под ногами нет – она внизу и, сука, далеко. Надо “садиться” в стропы, а для этого свой вес надо переместить на одну стропу, тем временем, сдвинув вторую стропу с ягодицы к колену. Это страшно. От падения тебя держат именно стропы, а тебе предлагается в них ерзать. Инструктор изображает ГИС, тычет пальцами в разные стороны, произносит названия. Мне похуй. На высоте оглушительно тихо. Я ощутил свое положение в пространстве, ощутил пульс 180+, ощутил что такой частоты мало для прокачки накопившегося адреналина. Понимаю, что условия с жизнью не совместимы – умру. Смиряюсь. Сердечные ощущения ощущаются именно сердечной мышцой. Адреналин в груди. Говорю инструктору первые слова: “У меня адреналиновый шок”. Он ржет.

Инструктор спрашивает – куда будем садиться. Я нахожу аэродром и указываю на него пальцем. Мне предлагается вдеть руки в органы управления парашютом. Амплитуда дрожания рук мешает, я помогаю себе второй рукой. Инструктор командует потянуть левую стропу до упора. Нас, закручивая, разворачивает влево. Раскрутка идет вокруг центра тяжести, расположенного где-то в центре между парашютом и парашютистом. При раскрутке появляется перегрузка и горизонтальная гравитация, вертикальная исчезает. Край крыла парашюта опускается ниже самого парашютиста, что тоже пугает. После поворота на 360 стропу надо отпустить, силы тяготения приходят в норму. Кажется, что за разворот теряется много высоты за счет сваливания. Потом несколько раз делаем “маятник”. Тянем одну стропу до разворота на 90 градусов, потом вторую стропу. Мотает, но не так страшно, как разворот. Инструктор командует делать 360 вправо. Мозг ссыт, тело отказывается. Железные яйца тянут сропу вниз :).

Внезапно земля из спутникового фото, так хорошо знакомого из броузера, начинает приобретать третье измерение. Пропадает ощущение, что аэропорт можно затопить плевком, а пальцем раздавить сразу четыре грузовика. Все быстро увеличивается. Инструктор берет управление, волшебным образом сажает нас на попу. Посадка очень мягкая – как сесть за стул. Меня отстегивают, бьют традиционный пинок под зад, вручают сертификат, фото на память. Иду к друзякам – не знаю, что говорить.
После мозг начинает анализировать произошедшее. Сообщения от сенсорики рассматриваются одно за другим. Первым делом рассматриваются несколько выводов о грядущей смерти. Отметаются. Эйфория. Потом каждая секунда полета вспоминается по много раз. Я пишу этот текст спустя примерно 40 часов после прыжка и анализ идет до сих пор. Вспоминается небо, земля, горизонт, мои ощущения. Местами от воспоминаний учащается пульс, местами сердце обливается адреналином. Радость от чудестного спасения от нескольких смертей заставляет мироточить. Стойте, это не может быть поллюцией!

Свободный полет длится около 60 секунд, примерно столько же длится полет “под крылом”. За 2 минуты успеваешь испытать больше, чем за год жизни. Впоследствии я прияно удивился от того, что сумел сохранить самообладание на протяжении всего прыжка. Ни паники, ни криков. Познал себя, тыксызыть. Узнал новое. Я могу больше, чем ожидаю от себя. Мир, захват уже скоро!

Summary

1. My life fucking changed irreversibly
2. I’ve got my first silver hair on my head at the age of 23
3. Gnome 3 is so bad that KDE 4 seems to be flying with desktop effects enabled after it
4. I’ve started cycling and jogging
5. Time to stop forbidding myself beer, coffee and RSS. I already forgot the reason for the activities to be banned.