Yeastar S, продолжаем

Продолжаем бодаться с глюками телефонной станции Yeastar S серии.

Основная ошибка была описана вот в этом сообщении.

Собственно, после обновления на свежую прошивку 30.10.0.59, дополнительные параметры в модуле автопровижн стали сохраняться.

Но, китайцы не были бы китайцами, если бы у них все работало с первого раза 🙂 . После перезагрузки станции это поле опять ломалось. О чем был уведомлен поставщик оборудования в Россию. Производитель проблему признал и стал готовить обновление.

Прошел где то месяц, IP Matika прислала нам новое обновление 30.10.0.66 . Поставил его. Все вроде заработало. После ребута станции параметры сохраняются и корректно отображаются в поле ввода.

Но, китайцы не были бы китайцами, если бы у них все работало с первого раза 🙂 У них появилась магическая последовательность символов, которая не хочет корректно отображаться в поле ввода: %cn. Вот оно как Михалыч 🙂

Вот так вводим.
Вот такое получаем после повторного открытия шаблона.

Ждём очередного апдейта от китайцев 🙂

Fierfox опять учудил

Сегодня обнаружил, что у Fierfox отключились все аддоны.

Учитывая, что я не обновлял Fierfox, у меня возникли серьезные подозрения, что он зараза регулярно лезет на свои сервера и сверяет установленные у меня аддоны со своим загадочным списком. И если вдруг чего то не то… тупо вырубает у меня оные.

И вот верь после этого в свободный софт 🙂 не такой он оказывается свободный. В день Х могут отрубить все что угодно

Перенёс перевод параметров ядра Linux.

Со старого wiki перенёс на этот сайт перевод на русский язык конфигурационных параметров ядра Linux. Дела конечно давние, но судя по статистике, народ регулярно заходит на эти страницы.

Заодно вспомнил какие технологии были 10 лет назад. Прикольно 🙂

Осталось перенести «Курс молодого бойца». Но это очень много информации. Так что старый wiki пока поживёт.

postfix и LDAP

Почему мне нравится postfix? Вроде бы sendmail вполне хорошо справляется с обработкой почты. Чем же posfix лучше?

Я предпочитаю хранить информацию о пользователях не в локальных файлах или базах данных типа MySQL, а в LDAP серверах (OpenLDAP, Active Directory и т.п.). И лично для меня решающим фактором перехода с sendmail стало то, как postfix работает с LDAP серверами.

В качестве простого примера можно рассмотреть работу с псевдонимами.

По умолчанию postfix использует всем хорошо знакомый файл /etc/aliases.

alias_maps = hash:/etc/aliases

Но доступ к этому файлу имеет только суперпользователь. Если вы один админ на всю деревню – то особых затруднений это не вызывает. Но если админов несколько? Давать всем пароль root? Вы это серьёзно?

Вот тут то и помогает LDAP, в том числе и возможностью разграничения доступа.

Можно создать ou в котором будут храниться псевдонимы. В текущих схемах OpenLDAP на CentOS я не нашел готовую схему для почтовых псевдонимов. Поэтому для хранения информации о них решил использовать objectClass inetOrgPerson.

У inetOrgPerson три обязательных атрибута: cn, sn и mail. Сn будет использоваться в качестве имени псевдонима и части dn записи. Mail – показывает куда пересылать почту. В простейшем случае в sn можно дублировать информацию из cn.

Например, создадим ou в котором будут храниться псевдонимы:

dn: ou=Aliases,dc=company,dc=ru
objectclass: organizationalUnit
objectclass: top
ou: Aliases

И добавим туда простейший псевдоним:

dn: cn=psevdo,ou=Aliases,dc=company,dc=ru
cn: psevdo
mail: localuser
mail: anotheruser@mail.ru
objectclass: inetOrgPerson
objectclass: top
sn: psevdo

Для того, что бы postfix работал с OpenLDAP следует создать текстовый файл фильтра, например /etc/postfix/ldap_aliases.cf следующего содержания:

# или имя сервера
server_host = 1.2.3.4
# контейнер, где хранятся псевдонимы
search_base = ou=Aliases,dc=company,dc=ru
# искать во всем дереве, начиная с указанного выше контейнера
scope = sub
# запрос к LDAP серверу
query_filter = (&(objectClass=inetOrgPerson)(cn=%u))
# атрибут, который мы должны получить в ответ в результате поиска
result_attribute = mail
# Пользователь, с правами которого мы обращаемся к серверу
bind_dn = cn=proxy user,dc=company,dc=ru
# Пароль этого пользователя
bind_pw = this_is_a_password_proxy_user

В файле main.cf добавляем фильтр поиска:

alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap_aliases.cf

Т.е. у нас остается классический вариант /etc/aliases и к нему добавляется поиск псевдонимов в LDAP сервере.

В дальнейшем разруливаем права доступа в OpenLDAP для админов, пароль root им больше не понадобится.

Кстати, поле sn можно использовать в качестве логического. Для включения выключения псевдонима.

dn: cn=psevdo,ou=Aliases,dc=company,dc=ru
cn: psevdo
mail: localuser
mail: anotheruser@mail.ru
objectclass: inetOrgPerson
objectclass: top
sn: true

Если хотим, что бы псевдоним работал – присваиваем sn значение true. Для отключения – все что угодно кроме true.

Ну и немного изменим query_filter:

query_filter = (&(objectClass=inetOrgPerson)(cn=%u)(sn=true))

Итак мы можем обратиться к LDAP с любым запросом. Попросить вернуть только нужные нам атрибуты. Как такое сделать в sendmail  я не знаю 🙁

Mkrotik и vlan по быстрому.

Купили новый маленький роутер от Mikrotik — RB4011iGS+RM. Решили попробовать как он будет работать в маленькой сетке в качестве роутера (странно? Да? 🙂 ). У него есть 10G SFP+ интерфейс, подключенный непосредственно к процессору. Если включить FastPath, то по идее должен справляться.

SFP+ интерфейс естественно в trank. На всякий пожарный eth6, тоже в транк. Eth с 1-го по 5-й в 1-й vlan, в режиме access mode, что бы подключаться прямо в серверной к коммутаторам, если вдруг чего. Остальные не задействованы.

При обращении к Google с вопросом Mirotik+vlan вываливается куча страниц с описанием настройки vlan. Но, проблема в том, что они блин все устарели! В новых версиях router os все уже не так.

Как сейчас рулить vlan с возможностью маршрутизации? Теперь там все через bridge интерфейс.

В первую очередь добавляем сам мост:

> /interface bridge
/interface bridge> add name=core

Добавим к мосту порты, в которых будут бегать тегированные пакеты:

/interface bridge> port
/interface bridge port> add bridge=core interface=sfp-trunk
/interface bridge port> add bridge=core interface=ether6

Порты, работающие в access режиме:

/interface bridge port> add bridge=core interface=ether1
/interface bridge port> add bridge=core interface=ether2
/interface bridge port> add bridge=core interface=ether3
/interface bridge port> add bridge=core interface=ether4
/interface bridge port> add bridge=core interface=ether5

Там же, в разделе bridge есть возможность указывать какие vlan на каком интерфейсе и режим работы интерфейса.

/interface bridge port> /interface bridge vlan
/interface bridge vlan> add bridge=core tagged=sfp-trunk,ether6,core untagged=ether1,ether2,ether3,ether4,ether5 vlan-ids=1
/interface bridge vlan> add bridge=core tagged=sfp-trunk,ether6,core vlan-ids=1010,1011,1254

Итак, мы добавили vlan 1 к нужным нам интерфейсам и заодно определили режимы работы самих интерфейсов. Так же были определены другие vlan, которые будут приходить на mikrotik и в дальнейшем мы будем заниматься маршрутизацией между этими сетями.

На данном этапе пакеты Ethernet начнут бегать в своих vlan.

Пришло время заняться маршрутизацией.

Обязательно добавляйте интерфейс моста в параметре tagget при добавлении vlan в разделе bridge! Без этого у нас ничего не получиться на 3-м уровне 🙁

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

Как обычно, интерфейсы создаём в разделе interface vlan (не bridge vlan!).

> /interface vlan
/interface vlan> add interface=core name=VLAN-1254 vlan-id=1254
/interface vlan> add interface=core name=VLAN-1010 vlan-id=1010
/interface vlan> add interface=core name=VLAN-1011 vlan-id=1011

Обратите внимание, что vlan-ы мы добавляем к bridge интерфейсу core. Не зря мы включали на этом интерфейсе режим работы tagged.

Осталось добавить ip адреса на интерфейсы:

> /ip address
/ip address> add address=192.168.1.1/24 interface=core network=192.168.1.0
/ip address> add address=192.168.10.1.24 interface=VLAN-1010 network=192.168.10.0
/ip address> add address=192.168.11.1/24 interface=VLAN-1011 network=192.168.11.0
/ip address> add address=192.168.254.1/24 interface=VLAN-1254 network=192.168.254.0

Наши админы очень любят DHCP сервер mikrotik, поэтому его тоже придется поднимать на этом устройстве. Поскольку интерфейсы сконфигурированы, DHCP сервер настраивается обычным образом.

Вот и все.

Перевез wiki.

Ну вот. Старый хостинг совсем сдох. Даже не успел скачать данные wiki. Слава богу, был бекап годичной давности (а что? информация там давно не менялась).

Получил +4 к уровню nginx. Экспа растёт!

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

Домовой

Сходили с дочкой в кино, на «Домового«.

Очень милый фильм. Семейный и без напрягов.

Рекомендую.

Отрывок из рецензии на кинопоиске:

За многие годы — лучший из лучших фэнтези фильм, снятый русскими по-русски. Замечу — у нас давно и безуспешно пытались переснимать иноземные ужастики, саспенсы, где режиссёры бесталанно пытались воссоздать атмосферы то Крика, то Пункта назначения, то Ведьмы из Блэр, то бесконечные молодёжные ужасы с маньяками. Да, много гадости и дряни успели наворочать за 20 лет прошедших, когда в кинематограф таки пошли постепенно серьёзные средства и прокат в кинотеатрах начал давать сколь-либо ощутимый доход. Желающих попилить было много, умеющих подумать и сотворить стоящее — никого.

В этот раз режиссёр сделал просто и гениально — взял и послушал бабок, стариков, почитал рассказы про домовых, про прочие личности из четвёртых измерений и сделал далеко идущие выводы — верные. Выяснилось, что как минимум сказку можно и нужно снять именно по русски, с нашими героями, вообще без иноземных персонажей. Нам не нужны полтергейсты и злые гоблины. У нас есть издавна колдуны, знахари, волшебники и конечно домовые. Ещё есть болотницы и русалки, лешие и водяные, в общем свой, знатный такой пантеон серьёзных личностей в иномирье. И средь них далеко не все злыми обозначены.

Миграция.

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

Поэтому принял решение по физическому и логическому переносу и объединения своего сайта и блога.

И понеслась!

  • Сам себе создал vps на основе lxc на своем (арендованном 🙂 ) сервере. В последнее время я все больше и чаще использую lxc в своей работе.
  • Погрузился в nginx. Я особо не занимался web серверами. Обычно стандартное LAMP и все. Но друзья настоятельно порекомендовали пользоваться nginx. Вот, тренируюсь сам на себе :).
  • Word Press — новый двигатель сайта. Да я раньше с ним работал как админ, не как WEB дизайнер. Надеюсь друзья, которые с ним работаю профессионально, помогут. И да, я таки могу вам порекомендовать мега-супер-дуперкоманду, которая ваяет и продвигает WEB сайты.
  • Мигрировал записи с bigkaa.blogspot.com. Не без проблем с картинками.
  • Ищу пути миграции данных с wiki.kryukov.biz. Пока не найду как мигрировать данные со старого mediawiki, wiki будет жить на старом сайте. Т.е. www.kryukov.biz теперь на новом месте, wiki.kryukov.biz пока на старом.

Большая просьба: если вдруг найдёте на сайте ошибки, несуразности или всякое непотребство — телеграфируйте на artur@kryukov.biz.