Mikrotik — Wi-Fi bridge Ethernet — 100% CPU load

Микротик в прошивке 5.24 починил баг, связанный со 100% загрузкой процессора при объединении мостом Wi-Fi и Ethernet чипа.
Так что обновляемся.

Мода движется по кругу.

Оконные менеджеры в UNIX ругали за минималистский интерфейс. Плоско, без бантиков.
Смотрю на интерфейс Windows 8 и новых программ от MS, что то это мне напоминает. Квадратиш, практиш гуд 🙂 Плоское, квадратное, без рюшечек …
Мне кажется пойдет новая волна критики интерфейсов в UNIX — мол у вас там все не квадратное, не плоское, полупрозрачное, с тенями, границы окон гнуться, фигня вобщем 🙂

Балуюсь.

nxserver, ubuntu, не отображается меню

Настраивал тут nxserver товарищу, нарвался на то, что при входе пользователя не рисуется рабочий стол. Как я и подозревал, во всем виноват compiz 🙂 нечего 3D плюшки по сети гонять! Вот nx и не гоняет. В результате у пользователя нет рабочего стола.

Решение проблемы простое, запускать сессию пользователя в 2D режиме. Ищем файл node.cfg, изменяем параметр.
CommandStartGnome = «/usr/bin/gnome-session —session=ubuntu-2d»
Все довольны.

Предчувствие gentoo.

Предчувствую, что gentoo станет моим любимым дистрибутивом. Причина вот в этом: Команда Gentoo Linux планирует совершить форк проекта udev.

Прямо как в любимом фильме: «я такую неприязнь испытываю к systemd, что аж кушать не могу» 🙂

Beeline vs Искрателеком.

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

Стих… японский

Давно не держал в руках долляровые купюры. Все как то разноцветные фантики: рублики, еврики, иногда гривны. А вот сегодня в банке дали парочку дестибаксовых купюр. И я удивился. Их печатают на желтой бумаге. О как. По этому поводу родился стих в японских тонах:

Доллар как лист. Был зеленым.
Осенью желтым стал.
Скоро зима.

З.Ы. Вторая книга про самураев наверное оказалась лишней.

Mikrotik и BeeLine

У моего старого домашнего провайдера начались проблемы. Причем эти проблемы приобрели регулярность. Решил попробовать домашний итернет от пчелайна.
Из-за особенностей организации сети пчелайна и фич микротика, подружить их между собой достаточно тяжело. Добрые люди написали толковый мануал, огромно спасибо им за это. Но, как обычно, в жизни не все так как в мануале 🙂 Учитывая, что старый провайдер пока от микротика не отключается, провод пчелайна был засунут в отключенный от общего свича интерфейс (ether5), появились маленькие тонкости.

1. Сначала подключитесь виндовым клиентом напрямую к сети  пчелок и запишите ip адреса DNS и VPN серверов пчелайна.

2. Почему то пчелайн DHCP сервер не отдает микротиковскому клиенту маршрут по умолчанию. Виндовому клиенту дает, микротику не дает. Поэтому приходится прописывать маршруты к сетям где находятся DNS и VPN серверам руками. Да и вообще, какой то странный их DHCP, выдал кучу всяких маршрутов, кроме вышеуказанных! Ну и по поводу его странности, см. следующий пункт.

3. Пчелайн редкосные бяки, их DHCP сервер выдает вот такой вот маршрут:
#      DST-ADDRESS  PREF-SRC  GATEWAY    DISTANCE
1 ADS  10.0.0.0/8             10.89.48.1 1
У моего старого провайдера внутренняя сеть тоже 10, но с маской /16. Т.е. старый провайдер честно дает маршрут на часть сети. Благо там pppoe подключение и можно не получать IP на интерфейс. Но пчелайн своим чудо маршрутом, просто заставил меня отказаться от использования внутренней сети старого провайдера. А там есть разные вкусности.

4. Вводить руками скрипт из мануала, занятие не для слабонервных. Поэтому, для тех кто пользуется winbox, привожу скрипты в нормальном виде.

corbina-l2tp_refresh
:local interface «BeeLine-l2tp»
:local vpnserver «tp.internet.beeline.ru»
:log debug message=»Hard resolv script run»
/ip dns cache flush
:local «current-ip» [:resolve $vpnserver]
:local «old-ip» [/interface l2tp-client get [/interface l2tp-client find name=»$interface»] connect-to]
:if ($»current-ip» != $»old-ip») do= {
:log info «VPN Server changed IP address from $»old-ip» to $»current-ip»»
/interface l2tp-client set [/interface l2tp-client find name=»$interface»] connect-to=$»current-ip»
}

corbina-l2tp_soft_refresh
:local interface «BeeLine-l2tp»
:local vpnserver «tp.internet.beeline.ru»
#:log debug message=»Soft resolv script run»
:if ([/interface l2tp-client get $interface running] = false) do={
:log info message=»VPN down. Refreshing»
/ip dns cache flush
:local «current-ip» [:resolve $vpnserver]
:local «old-ip» [/interface l2tp-client get [/interface l2tp-client find name=»$interface»] connect-to]
:if ($»current-ip» != $»old-ip») do= {
:log info «VPN Server changed IP address from $»old-ip» to $»current-ip»»
/interface l2tp-client set [/interface l2tp-client find name=»$interface»] connect-to=$»current-ip»
}
}

Разумеется вместо BeeLine-l2tp вы подставите свое имя l2tp интерфейса.

З.Ы. Очень понравились возможности микротика в части управления чипа свича! Для начала сформировал два интерфейса в отдельный свитч (смотрите параметр Master Port на интерфейсе). В один воткнул шнур от пчелок, в другой шнур идущий на кухню. Таким образом смог подключить ноут на прямую в сеть пчелок. Записал все необходимые параметры, вернул интерфейс в старый свич. Если бы этой возможности не было, пришлось бы на табуретке сидеть в коридоре 🙂

Ай да mikrotik, а да сукин сын.

Ну ребята, таки mikrotik меня удивил. Нда, я давно так не удивлялся. Такое ощущение, как будто съел кучу васаби и тебе сразу прочистило все дыхательные пути.

Итак: есть как бы роутер на микротик, у него два интерфейса:

  1. eth1 192.168.0.100
  2. eth2 192.168.1.100

Маршрут по умолчанию через eth1 на другой роутер.
И микротик и роутер двумя интерфейсами подключены к обеим сетям: 192.168.0.0/24 и 192.168.1.0/24
Причем у микротика eth2 — это было временное подключение, только на стадии первичной конфигурации, так как рабочая станция с которой он первоначально конфигурился была в сети 1.0.

А теперь вопрос: если на микротике из интерфейса eth2 вытащить шнурок, сможете ли вы с машины, находящейся в сети 192.168.1.0/24 попасть на 192.168.0.100?
Или немного другой вариант вопроса: можете ли вы, находясь на микротике попасть в сетку 192.168.1.0/24 согласно его маршрута по умолчанию?

Ответ простой — нет!

Как оказалось, у RouterOS есть забавная фишка. У нее маршруты к сетям, подключенным к интерфейсу, при отключении линка из таблицы маршрутизации автоматически не удаляются! О как! В Linux удаляются (кстати все маршруты проходящие через этот интерфейс), в Windows удаляются, а в RouterOS нет!

И вот, три дня я нем мог понять, почему с упорством маньяка RouterOS пытается отсылать пакеты в интерфейс, на котором нет линка?

Слава богу служба поддержки Микротика работает отлично и они меня просветлили (именно просветлили, прямо таки карму почистили).

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

[admin@MikroTik] > /routing filter print
Flags: X — disabled
0   chain=connected-in prefix=192.168.1.0/24 scope=200 invert-match=no
action=reject set-bgp-prepend-path=»»

Принцип работы этого фильтра: если есть лик, значение scope=10, если линк down — то scope=200.

Немного поработав с mikrotik девайсами я догадываюсь почему у них так устроено 🙂 но все равно — это было очень неожиданно.

Небольшой апдейт. Достаточно удалить ip адрес из списка и маршрут будет удален. Но если его не удалить руками, то да — пишем фильтр.

Mikrotik 1100AHx2

Однако он меня напрягает. Отказывается нормально поднимать bonding 🙁 Хотя то же RouterOS на Х86 девайсе с bonding работает нормально.
Залили на него 6.0rc1, так в режиме бондинга вобще все сетевые интерфейсы отрубаются. Вернуть девайс в рабочий режим можно только путем разборки корпуса и и замыкания жесточайшего reset на плате 🙁
Оставили девайс в покое до среды. То ли мы че то не так, то ли они как то не очень.