+11.60
Рейтинг
25.08
Сила

Proudly made on Earth

Juniper: Настройка автоматического копирования конфига при коммите

Конфиг роутера Juniper будем сохранять через scp, причём подключаться будем при помощи публичного ключа, а не пароля.
На сервере заводим пользователя juniper.
На роутере из-под пользователя root генерируем ключи:
>start shell
% su -
% ssh-keygen -t rsa -b 4096
cat /root/.ssh/id_rsa.pub


Обращаю внимание, что именно из-под пользователя root, а не из-под обычного пользователя, под которым вы вошли на роутер.

Полученный публичный ключ сохраняем в одну строку на сервере в папке пользователя juniper (в файле /home/juniper/.ssh/authorized_keys):
ssh-rsa AAAA...[очень много символов]... user@router


Теперь собственно автоматическое копирование конфига при коммите:
set system archival configuration transfer-on-commit
set system archival configuration archive-sites "scp://juniper@10.1.1.11/home/juniper"


Конфиги копируются в домашнюю папку юзера juniper /home/juniper:
router_20180303_072352_juniper.conf.gz
router_20180303_072625_juniper.conf.gz


Если на роутере несколько IP-адресов и вы хотите, чтобы по-умолчанию трафик исходил от адреса интерфейса lo0.0, то нужно сделать вот такие настройки:
set interfaces lo0 unit 0 family inet address
10.1.1.2/32 primary
set system default-address-selection


Указанные настройки влияют не только на копирование по scp, так что после коммита, не закрывая текущую сессию, проверьте доступность роутера открыв новую сессию )

Дополнение.

Если про комите выдаётся ошибка:
[edit security]               
  'ssh-known-hosts'           
    warning: statement has no contents; ignored

То нужно ввести ключ хоста, с которого мы подключаемся, в секции security — security: можно вручную, можно запросить с сервера, а можно импортировать его из уже созданного системой роутера. Лично мне последний вариант показался наиболее логичным:
set ssh-known-hosts load-key-file /var/home/user/.ssh/known_hosts

mac os x: удалить иконку из Launchpad

Перетягиваем иконку из Launchpad в док. В доке кликаем правой кнопкой на этой иконке и пункт «Показать в Finder». В открывшемся окне удаляем иконку, потом удаляем иконку из дока.

Сравнение Macbook Pro 13 2017 и Macbook Air 13 2015

Чуть больше года назад купил Macbook Air 13 2015, RAM 8GB, SSD 256GB.

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

Ждал выхода нового макбука и дождался такого, что без ругательств сложно описать, ну вы сами знаете. Решил купить Macbook Pro 13 2015, но найти его в продаже сложно, тем более у нас. Вероятно мне надо было реагировать быстрее, может быть и успел бы. Сейчас же старую модель можно купить разве что без русских букв, да и не особо она и подешевела — 86 тысяч рублей против 95 тысяч за младший новый Macbook Pro. Короче говоря, мучился я, мучился и решил, что придётся попробовать новый Macbook. Остановился на самой доступной версии — Macbook Pro 13 2017 RAM 8GB, SSD 128GB. Купил его 6 февраля 2018 г.

Лично меня в новых макбуках пугает не отсутствие нормальных разъёмов, не наличие всего двух USB-C (в младшей версии), а странная, плоская, клавиатура и, особенно, конфигурация блока управления курсором, который, как нарочно, сделали максимально неотличимым от остальной части клавиатуры. Кстати, я не пояснил для каких целей я использую макбук. Я — сисадмин, причём основной метод удалённого управления оборудованием это текстовая консоль. Поэтому для меня важнее всего именно клавиатура, не процессор, не память и даже не жёсткий диск. Важен именно рельеф клавиатуры, который позволяет нажимать клавиши не глядя на них, в том числе, и особенно, клавиши управления курсором. На старом макбуке пальцы легко вслепую находили клавиши управления курсором. Удобнее всего, конечно же, обычная полноразмерная настольная клавиатура, но речь сейчас не о ней.
Следующий момент, вызвавший во мне отторжение и недоумение — это невозможность видеть процесс зарядки аккумулятора в виду полного отсутствия индикаторов как на корпусе ноутбука, так и на зарядном устройстве или кабеле. На старом макбуке, с его чудесным MagSafe, прямо на разъёме был индикатор. Теперь же, получается, я могу проверить зарядился ли ноутбук только включив его открыв крышку и подождав пару секунд — на экране отображается уровень заряда. Кстати, до сих удивляет, что у айфона нет светодиода индикатора состояний, наверняка причина не техническая, а чисто маркетинговая.

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

По габаритам и весу описываемые два ноутбука существенно не отличаются. У обоих ноутбуков одна и та же ёмкость аккумулятора — 54,5 Втч. Предположительно у Air автономность должна быть больше, т.к. экран там существенно проще, зато у нового Macbook вроде как более энергоэффективные процессоры. В общем надо проверять, хотя судя по первым часам пользования складывается ощущение, что новый макбук немного быстрее разряжается, но выводы делать пока рано.

Впечатление от экрана даже превзошло ожидания — экран впечатляющий, такое ощущение, что у меня зрение стало лучше, настолько всё чёткое )

После пары недель использования новым Macbook Pro могу сказать, что к клавиатуре я пока так и не могу привыкнуть. Спасает только то, что пальцы находят их, а точнее их место, по старой привычке, а сами клавиши практически не чувствуются.
Кроме того клавиши отсвечивают при определённом освещении, становятся серыми, на них сильно видны следы от пальцев, в результате надписи на клавишах теряются. На старом макбуке ничего такого нет.
Ещё клавиатура щёлкает странно, по разному — какие-то клавиши щёлкают чётко и звонко, а какие-то с дребезжанием или глухо и, вроде бы даже, с разным усилием. Из-за этого клавиши не всегда нажимаются, вроде по клавише я попал, а символ не напечатался. Теперь стараюсь стучать по клавишам сильнее.

Увеличенный в размерах трекпад, вопреки опасениям, не приводит к нежелательным перемещениям курсора. Но и какого-то явного увеличения удобства я не заметил, хотя и ждал его.

На данный момент, после двух недель использования, я всё ещё хочу не новый Macbook Pro 2017, а старый 2015 года. Я уже соскучился по нормальной клавиатуре.

Дополнение за номером 1

Всё это время, ровно месяц, я старательно избегал пользования старым Macbook Air, даже в руки не брал, чтобы быстрее привыкнуть к новому. И вот сегодня решил, попробовать взглянуть на старый ноутбук новыми глазами, ну или хотя бы посмотреть не разрядился ли он. Так вот, не разрядился — 89%.
Старый показался мне тоньше и шире нового, но это даже лучше — руки на нём лежат удобнее. Клавиши такие маленькие и толстенькие, расстояние между ними больше, вот набираю эти два новых абзаца и понимаю, что явно удобнее — клавиши ощущаются, ложных попаданий намного меньше, все клавиши нажимаются одинаково, хоть и без чёткого щелчка, невнятно, но зато понятно и тихо. Пальцы находят клавиши управления курсором легко и естественно, даже не «находят», а просто ложатся на них сами. А ещё клавиши не бликуют и на них не так сильно видны пятна.
А вот дисплей расстраивает, особенно на мелких буквах.
Маленький старый трекпад вообще ничем не хуже нового большого.
Вот сейчас ещё пойду подключу к старому ноутбуку зарядку MagSafe и порадуюсь )

Дополнение за номером 2 от 20 апреля 2018 г.

По истечение почти трёх месяцев мне по прежнему не нравится новая клавиатура. Повторюсь, она слишком плоская и никак не ощущается пальцами, на неё надо чаще смотреть. Она отсвечивает, становится серой и обозначения на ней «пропадают», на ней сильно видны отпечатки пальцев. Тактильная отдача неодинаковая — некоторые клавиши нажимаются нечётко.

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

А ещё неожиданная проблема с включением ноутбука. После почти трёх месяцев я так и не знаю как точно надо включать ноутбук. Включение у меня происходит примерно так: просто нажимаю как раньше — не включается, потом зажимаю и жду пару секунд — не включается, опять просто нажимаю — включается. Пробовал по-разному: сразу зажимал на 2-3 секунды — не включается. Ждал пока отобразится уровень заряда и когда он гас нажимал кнопку питания — не включается. Мне кажется, я не помню ни одного случая чтобы мне удалось включить ноутбук с первого раза.

Моё первоначальное подозрение, что новый Macbook разряжается быстрее старого Macbook Air подтвердилось. Правда замеров и тестов я не проводил, разница не пугающая, но заметная.

Если вдруг выйдет обновлённый Macbook Air со старой клавиатурой, нормальным дисплеем и неважно какими портами, то я на следующий же день побегу в магазин и постараюсь заказать его в максимальной конфигурации, чтобы его хватило надолго. Но, несмотря на слухи в Интернете, я сильно сомневаюсь, что такой ноутбук выпустят.

Продолжение следует...

Policy-routing на CentOS

Довольно распространённая ситуация — на моёй рабочей станции есть два интерфейса и два айпишника, скажем из подсети А и подсети Б. При обращении клиента с хоста из сети Б к моему айпишнику из подсети А ответ к нему уходит через другой интерфейс с моего айпишника из подсети Б, т.к. он из той же подсети, что и адрес клиента. Мне надо сделать, чтобы эти ответы уходили с того же адреса на который пришли.

Тут нужен policy-routing — маршрутизация на основе определённых правил. Логика получается такая: ответы на запросы из подсети Б к моему адресу из подсети А отправлять с адреса из подсети А (т.е. на шлюз подсети А).

Маркируем соединения из сети Б к нашему адресу из сети А при помощи iptables и таблицу mangle (используется для изменения пакетов):
iptables -t mangle -I INPUT -i eth0 -s 10.1.100.0/24 -d 10.2.96.3 -j CONNMARK --set-mark 1
А на выходе копируем маркировку соединения в маркировку пакетов, насколько я понимаю, это означает, что мы маркируем пакеты промаркированных ранее соединений:
iptables -t mangle -I OUTPUT -s 10.2.96.3 -d 10.1.100.0/24 -j CONNMARK --restore-mark
Вероятно, в этом правиле можно обойтись и без указания адресов источника и адресата, но мне кажется так будет правильнее, более точно чтоли )

В таблицу маршрутизации 111 добавляем маршрут для сети Б, но на шлюз из подсети А:
ip route add to 10.1.100.0/24 via 10.2.96.1 dev eth0 table 111
И, наконец, добавляем правило для перенаправления пакетов с нашей маркировкой в отдельную таблицу маршрутизации:
ip rule add fwmark 1 lookup 111

Для удобства можно назначить название для таблицы в файле /etc/iproute2/rt_tables, которое можно будет использовать вместо номера.

Так же нужно проверить не включена ли проверка обратного пути (reverse path checking):
sysctl net.ipv4.conf.eth0.rp_filter
Если включена, то система будет проверять пакеты на соответствие источника интерфейсу, с которого пакет получен. Например, если пакет пришёл с адреса, который виден через другой интерфейс (а не тот, с которого пакет пришёл), то значит этот пакет надо отбросить.

Если всё заработало как надо, то сохраняем правила iptables в файл "/etc/sysconfig/iptables", а правила для маршрутизации в файл "/etc/sysconfig/network-scripts/route-eth0".

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

Посмотреть определённую таблицу маршрутизации:
ip route show table 111
Удалить маршрут из указанной таблицы
ip route del table 111 to 10.1.100.0/24
Посмотреть правила маршрутизации:
ip rule show
Удалить правило маршрутизации:
ip rule del fwmark 1

Как посмотреть правила iptables писать не буду )

Цена на кабели к смартфонам Samsung и Apple

По сути пост ни о чём, все и так знают, что аксессуары Apple неоправданно дорогие. Просто сам столкнулся и так удивился, что решил поделиться )

Понадобились мне кабели USB Type-C и Lightning. За первым я пошёл в фирменный салон Samsung, а за вторым в магазин авторизованного представителя Apple, по крайней мере оба магазина так о себе заявляют.

Кабель Samsung USB Type-C стоит 400 сом, кабель Apple Lightning стоит 1490 сом. Разница более чем в 3,5 раза.
Конечно, кабель USB Type-C в довольно простом пакетике, а кабель Lightning в красивой, добротной коробочке и парой маленьких брошюрок, но они мне не нужны. Какой-то явной разницы в качестве не заметил. Более того, кабель Samsung USB Type-C длиннее примерно на 10 см.

Фирменный кабель Lightning — это не блажь. Предыдущий кабель фирмы Remax (вроде не совсем уж нонейм) визуально более красивый и добротный, в довольно крепкой оплётке, начал глючить — периодически отказывается заряжать айфон, т.е. подключаешь зарядку, а телефон её не видит. Хотя я был с ним очень аккуратен, на нём нет никаких перегибов, потёртостей и других видимых изъянов. Вот я и решил купить фирменный кабель.

Кстати, считаю конструкцию кабеля Lightning намного более удачной нежели кабеля USB Type-C. Разъём со стороны телефона у Lightning явно более крепкий и продуманный — толстая площадка с контактами, которая вставляется в простой разъём телефона, ничего лишнего грубо говоря — палочку вставляешь в дырочку. А кабель USB Type-C, такое ощущение, что специально назло Apple сделали наоборот — вывернули и поэтому получилось сложнее: разъём на кабеле должен надеваться на контактную площадку в разъёме телефона, т.е. должна точно совпасть не только контактная площадка, но и рамка вокруг неё. Разъём Lightning на телефоне сломать надо очень постараться, там нет выступающих частей, а разъём USB Type-C на телефоне — это тонкая контактная площадка внутри углубления. Примерно тоже самое с разъёмами на кабелях — на Lightning, как я уже говорил, толстая контактная площадка и всё, испортить сложно, а на кабеле USB Type-C полость, в которой тонкие контакты. В результате подключение кабеля USB Type-C всё равно требует внимания и аккуратности, хоть теперь и не нужно определять верх-низ разъёма. Тогда как кабель Lightning подключить намного проще, но с другой стороны отключить его немного сложнее — он крепко держится, а ухватиться сложно, т.к. корпус разъёма слишком маленький и гладкий, но это уже придирки )

Cisco Radiusd: NAS-Identifier

В логах Radius-а:
[acct_unique] WARNING: Attribute NAS-Identifier was not found in request, unique ID MAY be inconsistent                     


Смотрим дебуг и, действительно, Radius никакого NAS-Identifier не получает.

Включаем на Cisco:
radius-server attribute 32 include-in-access-req
radius-server attribute 32 include-in-accounting-req


Теперь получаем:
NAS-Identifier = «myhost.domain.tld»

Трансляция VLAN-ов на D-Link

Иногда бывает необходимо поменять номер влана на другой. Например, принимаем от клиента транк с порта 2 и транслируем клиентский влан 1600 во влан 600, который дальше уходит с порта 23:
create vlan 600 tag 600
config vlan vlanid 600 add tag 2,23
config qinq ports 23 role nni outer_tpid 0x8100 # по-умолчанию так и должно быть
enable qinq
config qinq ports 2 role uni
create vlan_translation ports 2 replace cvid 1600 svid 600

Если нужно, чтобы через тот же линк проходили также и другие вланы, то нужно прописать их трансляцию самих в себя:
create vlan 601 tag 601
config vlan 601 tag 2,23
create vlan_translation ports 2 replace cvid 601 svid 601

Таким образом получается, что на порту 2 подключен транк клиента, в котором он передаёт два влана — 1600 и 601, и надо передать их в порт 23. Так получилось, что мы не можем передать в порт 23 влан 1600, поэтому мы перенумеровываем его в 600 и передаём дальше.

Подключение репозитория HP с системными утилитами

Management Component Pack

hp-health HPE System Health Application and Command line Utilities
hponcfg HPE RILOE II/iLO online configuration utility
hp-ams HPE Agentless Management Service
hp-snmp-agents Insight Management SNMP Agents for HPE ProLiant Systems
hpsmh HPE System Management Homepage
hp-smh-templates HPE System Management Homepage Templates
hpssacli HPE Command Line Smart Storage Administration Utility
hpssaducli HPE Command Line Smart Storage Administration Diagnostics
hpssa HPE Array Smart Storage Administration Service

Создаём файл с описанием репозитория /etc/yum.repos.d/mcp.repo:
[mcp]
name=Management Component Pack
baseurl=http://downloads.linux.hpe.com/repo/mcp/dist/dist_ver/arch/project_ver
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

Где:
dist          centos, feodra, opensuse, oracle, asianux
   dist_ver      Browse repo to identify supported distribution versions
   arch          i386, x86_64,  amd64(debian/ubuntu)
   project_ver   current, 10.50, 10.40, 10.20, 10.00, 9.30, 9.25, 9.10 (Browse repo to identify supported project versions)

В моём случае (CentOS 6.8) получился вот такой файл:
[mcp]
name=Management Component Pack
baseurl=http://downloads.linux.hpe.com/repo/mcp/centos/6.8/x86_64/current
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp


Посмотреть список пакетов из этого репозитория:
# yum --disablerepo="*" --enablerepo="mcp" list available


Установить пакет:
# yum install packagename
Например:
# yum install hp-health

Cisco: DHCP для выдачи DNS-сервера IPv6-клиентам

Есть PPPoE-клиенты, которые получают IPv6-адреса через SLAAC, префикс сети передаётся Radius-сом, также из Radius-а передаётся маршрут на дополнительную подсеть. Но вот адрес DNS-сервера выдать клиенту можно пока только через DHCP. Команда «ipv6 nd ra-dns-server» не работает, avpair «ipv6-dns-servers-addr» тоже.

Впрочем настройка DHCP-сервера для этих задач совсем несложная, заодно передадим и домен по-умолчанию:
!
ipv6 dhcp server IPV6_DHCP
dns-server 2001:db8:1::1
domain-name elcat.kg
!
interface Virtual-Template1
ipv6 nd other-config-flag
ipv6 dhcp server IPV6_DHCP
!

Опция «ipv6 nd other-config-flag» указывает, кто хостам надо использовать DHCP для других настроек, кроме получения адреса:
Hosts should use DHCP for non-address config