среда, 13 мая 2009 г.

Рабочий конф для mpd в FreeBSD7

1) Все прогрессивное человечество уже давно пользуется другой версией mpd, которая лучше, стабильнее и т.д. и т.п. (см сюда: /usr/ports/net/mpd5/)

2) Кто сказал, что IP-адрес ОБЯЗАТЕЛЬНО получать по DHCP от железки, стоящей на крыше (от карлсона т.е. :))....никто не может Вам запретить прописать себе какой-нить свободный (типа 10.x.y.254)

3) Отсюда сразу следует, что нам нет нужды делать: route delete default, т.к. мы можем просто тупо не определять параметр: defaultrouter и не пользоваться dhcp (от которого придет этот параметр)

4) Писать самописные start (non stop)-ные скрипты верх ереси и жуткое отклонение от BSD-way (зазря что-ли порты при установке генерируют правильные rc.d/ скрипты?!)

Итог всей тирады:
Рабочий конфиг (всего один!!!): /usr/local/etc/mpd5/mpd.conf:


startup:
set user root
set console self 127.0.0.1 5005
set console open
set web self 127.0.0.1 5006
set web open

default:
load dialup

dialup:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pptp
set link action bundle B1
set link accept chap
set auth authname "xxxxxxxxxx"
set auth password "xxxxxxxxxx"
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer 10.8.0.1
set pptp disable windowing
open



Настройки /etc/rc.conf:


ifconfig_xl1="inet 10.xx.yy.254 netmask 255.255.255.0"
static_routes="vpn"
route_vpn="10.8.0.1 10.xx.yy.1"
mpd_enable="YES"



Если захочется делать NAT - штатный NATd поможет:


natd_enable="YES"
natd_interface="ng0"
natd_flags="-f /etc/natd.conf"



С ним лишь одна тонкость - нужно в файле /etc/natd.conf обязательно прописать параметр:
dynamic yes (помимо остальных стандартных) - тогда будет счастье (подробности в man natd).

порт: apache 22 в системе FreeBSD 7.0

В этой статье описано как правильно установить и настроить web сервер apache 2.2 в системе FreeBSD 7.0. В Ubuntu установка намного проще, но мне надо было именно FreeBSD, настраивая я там биллинговую систему Abills, о чем возможно напишу чуть позже подробное руководство. И так, начнем пожалуй.

Для начала соберем apache из портов

Код:


cd /usr/ports/www/apache22
make && make install clean

Затем добавим в /etc/rc.conf строку для того что бы можно было запускать демона apache

Код:


apache22_enable="YES"

Теперь отредактируйте конфигурационный файл apache /usr/local/etc/apache22/httpd.conf командой

Код:


ee /usr/local/etc/apache22/httpd.conf

Найдите строку ServerName и впишите туда нужное вам значение, имя хоста или домен, и добавьте порт на котором будет слушать apache, например так

Код:


ServerName www.yourdomain.com:80

После этого надо загрузить модуль accf_http без которго apache в FreeBSD работать не будет, при попытке запуска будет ошибка типа httpready error. Загрузим модуль

Код:


kldload accf_http

Теперь добавим в /etc/rc.conf строку

Код:


accf_http_load="YES"

Теперь можно попробовать запустить apache, он управляется командой apachectl, примеры представлены ниже

Код:


apachectl start
apachectl restart
apachectl graceful
apachectl stop

Если вы редактировали конфигурационный файл /usr/local/etc/apache22/httpd.conf, вы можете проверить его на ошибки командой

Код:


apachectl configtest

Если apache все же не запускается проверьте следующие логфайлы

Код:


tail /var/log/messages
tail /var/log/httpd-error.log

Для создания виртуальных хостов вы можете использовать отдельные файлы для каждого хоста, или один файл, на ваще усмотрение.
Файлы виртуальных хостов вы можете поместить в директорию /usr/local/etc/apache22/Includes/, ниже приведен простой пример конфигурации виртуального хоста

Код:



DocumentRoot /usr/local/www/yourdomain
ServerAdmin root@yourdomain.com
ServerName www.yourdomain.com
ServerAlias stuff.yourdomain.com
CustomLog /usr/local/www/logs/domain-access_log combined
ErrorLog /usr/local/www/logs/domain-error_log


Для доступа к разным виртуальным хостам без домена вы можете использовать разные порты для apache, для этого найдите в конфигурационном файле /usr/local/etc/apache22/httpd.conf директиву Listen и добавьте к ней нужные вам порты

Код:


Listen 80
Listen 443
Listen 6000
Listen 6001
Listen 6002

Создайте виртуальных хост с указанием одного из этих портов, например

Код:


DocumentRoot /usr/local/www/yourdomain
ServerName 192.168.1.4


На этом пожалуй все, надеюсь эта статья помогла вам.

вторник, 12 мая 2009 г.

Почему Cisco? Такой главой начинается курс по продажам Cisco. Назову так своё коротенькое эссе и я.

Автор этой статьи — Сергей Фёдоров, инструктор cisco, CCIE Security #22974. Если статья вызовет интерес, автор получит инвайт на Хабр. Далее — от его лица (с моими врезками).
UPD. Задача поста — донести до интересующихся факт наличия компании Cisco, и, возможно, лицезреть автора статьи как эксперта в майском фуршете.
UPD2. Сергей Федоров — хабраюзер, если кто не заметил :) Вот: fedia . Поприветствуем :)

Итак, почему же Cisco? Что такого в этом магическом слове из 5 маленьких букв? Неужели нет ничего лучше?
Спросите любого администратора, продавца, интегратора – каждый блеснет тем, что знает случай, когда существует то или иное решение, которое проще, дешевле, лучше, производительнее, чем решение от Cisco…
Вот только шаг влево, шаг вправо от этого замечательного решения, и становится гораздо труднее подыскать замену…
Постараюсь коротенько описать, в чем же сильные стороны решений «от Cisco».

Охват. У решений Cisco нет конкурентов по этому параметру. Наиболее широкая линейка по всем сетевым решениям, от рынка SOHO до провайдерских решений, от небольших, но функциональных маршрутизаторов, до систем управления сетями крупных предприятий.

Основные направления:

Многофункциональные маршрутизаторы
Мощные, умные коммутаторы
Устройства активной защиты – ASA, ACE
Системы предотвращения вторжений – IPS
Системы централизованного беспроводного доступа
Унифицированные коммуникации (VoIP, видеоконференции, telepresence, системы управления звонками)
Системы централизованной защиты хостов (CSA)
Система контроля доступа (NAC)
И … все, что вы можете придумать ещё :)


Главное – cisco не останавливается на достигнутом и «держит нос по ветру», вкладывая деньги в перспективные направления и придумывая новые, например, покупая перспективные разработки и встраивая их в свои решения. Таки образом, получив поддержку такого гиганта, у интересных решений есть шанс пробиться «в люди».

Надёжность. Ломается всё, вопрос только когда. Надёжность cisco проверена годами успешной эксплуатации. Врать не буду – и у Cisco бывали неудачные серии, неудачные релизы операционных систем, однако в целом отказоустойчивость сомнений не вызывает.

Гибкость. Одно и то же железо, в зависимости от операционной системы и набивки модулями, может выполнять совершенно различные функции: защитные, шлюза унифицированных коммуникаций, сервисные… А это значит, что если захочется чего то нового, есть большой шанс ничего не покупать, а просто набрать несколько команд.

Взаимозависимость. Кривое слово, но оно отражает суть. Разные железки, выполняющие разные функции, могут зависеть друг от друга и управлять друг другом. Это позволяет сделать сеть живым организмом, а не набором разрозненных устройств.

Отладка. Очень важно для настройки и настройщиков: широчайшие возможности по поиску неисправностей, встроенные практически во все устройства Cisco.

Интеллектуальность. Трудно продать просто дорогое железо. Надо продавать идею и возможности. Все устройства Сisco содержат широкий спектр технологий, протоколов, идеологий, как стандартных, так и своих собственных, позволяющих расширить возможности сети.

Производительность. Компания Cisco является лидером во многих сегментах рынка и должна соответствовать этому высокому званию. Поэтому появляются уникальные решения, типа CRS (одной такой железки достаточно, чтобы обеспечить связью, скажем, всю Великобританию!). Сейчас топовые решения с 10гигабитными интерфейсами есть и в сегменте межсетевых экранов, и в сегменте маршрутизаторов, и в сегменте систем предотвращения вторжений…


Cyrill
Реплика из зала:
A fully populated CRS contains over 1000 linecards at 40 Gbit/s each and theoretically can scale to 92 Tb/s bandwidth via multi-chassis configuration, although multichassis systems of such size were never delivered or shown to public. As of 2009, the largest production CRS-1 system is limited to eight line card chassis, for a total of 10Tbps.
While the device was in development, it was known by the code name of HFR, or Huge Fucking Router.



Централизация. Устройствами Cisco можно управлять не по одиночке, а использую мощные комплексы, например, cisco security manager. Также централизованно можно собирать всевозможнейшую статистику и анализировать её — MARS. Подобного решения по централизации учёта пока никто ещё не предложил.

Конечно, никогда решения одного производителя не смогут быть лучшими ВЕЗДЕ. Например, любимая задача маленьких офисов – ограничить скорость и квоту пользователю – решается на Cisco дорого. «Да ведь это умеет самая простая бесплатная прокся!» — воскликнет дотошный читатель и будет прав. Это как раз один из примеров, когда «есть гораздо лучшее решение».

Мало того, скажу крамолу: решения от Cisco нужны не всем! Зачем переплачивать за простейшие решения, которые у cisco будут стоить ощутимо дороже? Зачем платить за лишние функции, если вы ими никогда не воспользуетесь? Надо только задуматься: а если потребуются эти «излишества»?

Ну и в конце список типичных заблуждений. Вернее, оно одно: Cisco – это крайне дорого!
Это заблуждение. А проистекает оно из-за того, что заказчику предлагается решение, которое на него не рассчитано! У компании cisco есть куча ресурсов (некоторые из них я в явном виде собрал на AntiCisco), позволяющих подобрать решение. Но заковыка в том, что отечественные «средние» компании подпадают, как правило, в нижний диапазон SMB (Small-Medium Business). А предлагают им, с годовым оборотом 50к$, решения за 25к$…


Cyrill : кстати, некоторые из решения я, с позволения автора, использовал в статье «Инфраструктура современного офиса — 2».



Для примера приведу сравнение: заказчику требуется 10 мбит интернета, 10 шифрованных туннелей с магазинами по 2 мегабита каждый. Формально, заказчику надо поставить:

ASA. Берем с запасом – ASA5510, с расширенной лицензией (5000$)
Маршрутизатор на выходе к провайдеру (а ну как Заказчик потом захочет 2х провайдеров). Понятно, что лучше ISR. С запасом – 2811 (3500$)
Коммутатор внутри естественно L2/L3, 3560 серию, с гигабитами (6000$)
Ну и настроить – 15% минимум.

Итого, заложив какую-нибудь скидку, около 12-13 тысяч долларов!
А у Заказчика план потратить 2, максимум 3 тысячи долларов. Что скажет Заказчик? А потом пойдёт купит недорого. Не будем называть марки :) Он останется доволен: и сэкономил, и решил проблему. Сейчас. А про расширение будет думать потом, если будет.

Но достаточно было внимательнее поглядеть на задачу и не тупо перерисовывать рекомендованные картинки!
Решение могло бы быть таким:

АSA 5505, unlimited users, plus license – 1700$
Если хочется 2х провайдеров или требуется подключение не по Ethernet – ISR 18хх (1500$)
Коммутатор оставить старый, если умеет VLAN, trunk до ASA, а там маршрутизировать. Если не умеет – Catalyst Express – 700$
Настройка 15%

Итого: максимум 3 тысячи долларов со скидками, включая работу. И куча дополнительных удобств, которые можно настроить потом и получить новый функционал.

В-общем, никого силком никуда не тащу. Цель моя проста – помочь делать аргументированный и взвешенный выбор :)
Всем процветания и успехов!
Если есть вопросы и предложения по cisco – обращайтесь к нам на AntiCisco: с удовольствием помогу сам или подключу другую «тяжёлую артиллерию» :)

С уважением, Сергей Фёдоров, инструктор cisco, CCIE Security #22974

Курс молодого бойца cisco: искусство владения консолью

Введение: многие начинающие настройщики сетевого железа боятся консоли (CLI, Command Line Interface) как огня. Ещё бы: ни тебе всплывающих подсказок по наведенному мышиному курсору, ни тебе красивых картинок, а лишь непонятные буквы на черном (зеленом, белом) фоне. Боязно…

Однако, консоль является мощнейшим инструментом, не овладев которым называть себя настройщком cisco нельзя.

При помощи консоли можно:
1. Задать начальную конфигурацию.
2. Восстановить потерянные пароли (для разных железок по-разному. Но поиском на сайте cisco.com легко найти процесс по ключевым словам “password-recovery (название железки)” )
3. Настроить нестандартные топологии
4. Включить скрытые возможности
5. Проверить правильность настроек командами show
6. Отладить процесс командами debug

Помните:
при помощи консоли можно всё, при помощи GUI – не всё, а только то, что запрограммировали и разрешили.

Как же овладеть искусством быстрой настройки через консоль?

Безусловно, требуется много тренироваться :) Однако, есть несколько хитростей, которые облегчат работу и могут пригодиться в реальной жизни для быстрой локализации и решения проблем или сдачи экзамена CCIE :)

Хитрость 1:
Запомните горячие сочетания клавиш. Самые часто используемые ctrl+a (начало строки), ctrl+e (конец строки), ctrl+z (выход из режима настройки)

Хитрость 2: На маршрутизаторах и коммутаторах пользуйтесь командой do для вызова команд show из режима настройки.
Примеры: (config)# do show ip route
(config-if)# do show ip int f0/0
Это сильно экономит время, т.к. не приходится выходить из режима настройки и возвращаться обратно в него. Т.к. консольные команды древовидные, то беготня по режимам реально отнимает время и силы.

Важно: Есть тонкость: при использовании команды do не работает подсказка по вопросу, кнопка табуляции и проверка синтаксиса на ошибку. Поэтому, если Вы точно не знаете, какую команду show хотите ввести, всё-таки придётся выйти из режима настройки

Хитрость 3:
Используйте выборку из конфига или вывода других команд просмотра. Для этого есть служебные команды после символа “|” (“grep”)
Примеры: sh run | include ip route
Sh ip route | include 192.168.0.0
Sh run | begin router ospf 1

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

Хитрость 5: Используйте стрелки «вверх» и «вниз» (или команды ctrl+p, ctrl+n) для вызова ранее введенных команд. Размер буфера команд настраивается.

Хитрость 6: Не забывайте, что разные команды возможно вводить из разных режимов: из режима непривилегированного пользователя можно мало и только посмотреть, из привилегированного – посмотреть, включить debug, из режима настройки – настроить параметры или перейти в подрежимы. Не забывайте, что знак «?» введенный без пробела, подскажет возможные продолжения команды, а знак «?», введенный через пробел – возможные дальнейшие ключевые слова

Хитрость 7:
Учите команды и активно их сокращайте! Помните, что если сокращение однозначно, его циска распознает.
Пример (сравните):
Ip nat inside source list NAT interface GigabitEthernet0/0 overload
Ip nat in so l NAT int G0/0 o

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

Хитрость 8: Строчки из конфига (running или startup) являются командами. Можно подглядеть в конфиг и стереть неугодную команду, поставив перед ней ключевое слово no

В-общем, как и везде: упорство и труд всё перетрут!

Дерзайте и пусть всё получится :)

СУВЖ, Сергей Фёдоров, инструктор cisco

Something about Opera

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

Мышь.

Работа с манипулятором «мышь» в Опере продумана лучше, чем где-либо.
1. навигация по истории страниц.
С короткой задержкой нажимаем по очереди правую, потом левую кнопку. И попадаем history(-1) или по-русски на страницу назад. Нажатие кнопок в обратном порядке переносит на страницу вперёд.

2. навигация по табам.
Зажимаем правую кнопку и крутим колёсико у наружги. Появляется список табов и селекотр.

3. Закрыть/открыть новый таб.
Колесом кликаем по названию таба и он закрыватся. Клик на свободном месте открывает новый таб. Вполне стандартный приём, такой же как в ФФ и возможно в ИЕ.

Клавиатура

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

1. навигация по истории страниц.
«z» и «x» переносят по истории назад и вперёд соответственно

2. навигация по табам.
С помощью «1» и «2» очень удобно включать следующий и предыдущий таб.
Ctrl+TAB по-умолчанию работает удобнее чем в других браузерах, переключая 2 рабочих таба (аналогично работает альт-таб в windows)

3. Закрыть/открыть новый таб.
Используется стандартное сочетание клавишь Ctrl+w/Ctrl+t

Приёмы «оптимизации» сайтов: убираем рекламу

Для примера возьмём сайт с обилием назойливой рекламы, например vanix.net
Из контекстного меню выбираем «изменить настройки узла» -> «сценарии» далее убираем галку «Выключить Javascript». Нажимаем «OK» и F5.
Вся реклама исчезла! Разработчики нам сделали неоценимый подарок: на этом сайте большенство банеров грузит Javascript.
Чтобы отключить остальные банеры, которые загружаются без JS (или на этом сайте нам JS нужен), делаем так: из контекстного меню выбираем «заблокировать содержимое», теперь выбираем оставшиеся банеры, жмём готово.

Приёмы «оптимизации» сайтов: улучшаем юзабилити

Я использую в качестве переводчика pda.lingvo.ru. Но сервис очень не удобен, если перейти «назад» и ввести новое слово, то перевода не последует, а в строке ввода появится старое слово.
Чтобы это исправить, из контекстного меню выбираем «настройка узла» -> «Куки» -> «Никогда не принимать куки» -> Ок. Теперь всё работает как нужно, но есть побочный эффект: переводить возможно тодлько на английский и только с английского. Думаю многих этот момент не смутит.

Боковая панель

Если в настройках оформления выставлено «Показывать переключатель боковой панели», то слева появляется едва заметная вертикальная линия, которая открывает и закрывает «боковую панель».
На ней распологаются основные инструменты, облегчающие жизнь веб-серфера (например, закладки). Практически каждый элемент имеет поиск. Рассмотрим некоторые из инструментов.

1. Окна
Иногда у меня открыто несколько окон, забитых табами. Чтобы найти нужный приходится предварительно подумать :-) Чтобы не думать, а знать, добавляем инструмент «окна». Тут мы видим все табы во всех окнах, причём на всех рабочих столах моего любимого Enlightenment'a.

2. История
Всем очевидный инструмент, но не все им пользуются. Напоминаю, история — это удобно :-)

3. Ссылки
Множество раз приходилось с какой-либо странички скачать некоторое число элементов (zip-файлов, картинок, и т.п.). С помощью этого инструмента можно найти все ссылки на zip'ы и сохранить в пару кликов. Всё же проще, чем вспоминать как это вгетом сделать ;-)

4. Заметки
Инструмент интересен тем, что соответствующие пункты управления находятся в контекстном меню. Можно быстро вставлять текст в различного рода input'ы

Другие приёмы работы

1.
Шаблонизирование
В Опере есть отличная возможность применить свои стили для определённого ресурса. Например, один мой друг использует эту функцию для разукрашивания башорга под рабочий сайт компании в которой он работает.

2. F12
Оперу стоит использовать как минимум ради этой кнопки. Самые часто используемые функции вынесены в удобное меню.

3. Light-версия

Тяжелый сайт с кучей фоновых картинок можно легко превратить в лайт-версию. Для этого используется тот же подход что и в первом приёме, но используется стандартный файл со стилями. В некоторых ситуациях незаменимая вещь.

На этом всё, но это далеко не все возможности браузера. Хочу подчеркнуть, что все эти возможности есть «из коробки».

Обновлено: исправлено несколько ошЫбок (спасибо habrausername).
Обновлено 2: перенесено в Opera
Обновлено 3: Приёмы, описаные в комментариях:

Синхронизация закладок: File -> Synchronize Opera. Предварительно нужно зарегистрироваться.
— — — — —
Опция:
Preferences->Advanced->Shortcuts->enable single-key shortcuts
включает однокнопочные хоткеи (по умолчанию отключено)
— — — — —
Ctrl + Z — открывает последнюю закрытую вкладку (список закрытых страниц доступен по нажатию на иконку корзины с правой стороны tab-bar'a)
— — — — —
+ увеличить масштаб
— уменьшить масштаб
* вернуться к исходному
— — — — —
колесо мышки — открывает ссылку в новой вкладке, а так же закрывает таб
— — — — — Triall :
Опера так же позволяет добавлять на сайты новый функционал, указав ей папку с JS-скриптами.

Так же Опера позволяет осуществить быстрый доступ к любой форме, называется эта функция «Создать поиск». К примеру идем на php.net, устанавливаем фокус на поле ввода поиска функции, правой кнопкой жмем «Создать поиск», в появившемся окне в поле «клавиша» пишем «php». Теперь открываем новую вкладку и в адресной строке пишем «php str_replace», вауля.

Было упомянуто pda.lingvo.ru, но я юзаю pda.slovari.yandex.ru/. Открываем эту страницу, открываем боковую панель, и тянем название вкладки на боковую панель. Тем самым создаем быстрый доступ к переводчику, нажав F4.

Как и в преведущем посте взято с:

alias hint

Хочу поделиться простым, но очень полезным хинтом для ваших aliases, который я заметил у gark87

Задача:
Сделать, чтобы во всех ваших оболочках были одни и те же aliases, и чтобы при добавлении нового не пришлось править пачку файлов.

Решение:
1. Выносим все alias в файл ~/.alias
2. В ~/.bashrc, ~/.zshrc и т.п. пишем: . $HOME/.alias # перед $HOME стоит точка и пробел

p.s. Взял с