Juniper QFX5100 доступ по SSH

Возникла проблема с доступом к Juniper QFX5100 через SSH — если проверять телнетом, то сессия открывается, но ssh-клиент не подключается, просто висит на этапе подключения до истечения таймаута.

Проблема решилась указание определённых опций в конфиге ssh-клиента, например таких:
host sw-j1 10.0.0.1
        PubkeyAcceptedKeyTypes +ssh-dss
        HostKeyAlgorithms=+ssh-dss
        KexAlgorithms ecdh-sha2-nistp256


Но оказалось, что на компьютере со старой операционной системой такие опции не подходят. Подошли вот такие:
host sw-j1 10.0.0.1
        HostKeyAlgorithms=ssh-rsa
        KexAlgorithms ecdh-sha2-nistp256


Прописать их можно сразу для всех в файле /etc/ssh/ssh_config или же каждый может прописать их индивидуально в файле ~/.ssh/config

Для интереса можно посмотреть дебаг, который выводит ssh-клиент указывая ему опцию -v или даже -vv.

Краткий обзор клавиатуры Red Square Tesla RSQ-20002

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

Попалась мне на глаза игровая, но довольно простая и недорогая клавиатура Red Square Tesla RSQ-20002. Всё как мне и хотелось, ничего лишнего кроме цветной подсветки. Клавиатура не механическая, но и к лучшему, т.к. механическая очень громкая и в офисе меня бы не поняли )

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

Небольшое замечание со звуком нажатия клавиш. Все большие клавиши — пробел, энтер, шифт — дребезжат, несильно, но неприятно.

Ещё не понравилось, что клавиши бликуют под определённым углом и надписи становятся нечитаемыми. Подсветка несколько улучшает ситуацию.

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

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

Так что порекомендовать такую клавиатуру я теперь никому не могу.

Впечатления от Samsung S10e

Я писал про небольшой опыт использования Samsung A40 — про вырез, про габариты. и про вывод — мне нужен небольшой телефон, желательно, но не обязательно, Xiaomi, с аккумулятором не менее 4000 мАч и без каких-либо вырезов в экране. Действительно, сейчас сложно найти такой телефон — все делают большие аппараты со всевозможными вырезами, хорошо хоть батарейки побольше туда ставят. Большие телефоны я смотрел, вертел и так и эдак, но — нет, хочу поменьше. Смотрел старые и/или бюджетные модели Xiaomi, Samsung, Huawei, но, то с разрешением экрана беда, то с памятью не очень — в лучшем случае 3/32 ГБ, а это маловато. Да и не хочется брать совсем уж устаревший телефон. Смотрел даже, чего греха таить, на iPhone — новых SE уже нет в продаже, XR вроде прельстил приличной автономностью, но он большой и тяжёлый, XS чересчур дорогой, ну и, конечно, отсутствие разъёма для наушников для меня неприемлимо пока. А про «особенности» использования iOS и о политике Apple я даже не говорю, я уже ругался про это в тексте про iPhone 6s Plus.
В общем, долго ли, коротко, но остался только один вариант — Samsung S10e: компактный, хороший экран, достаточно памяти (6/128), симпатичный, вырез более-менее незаметный (вероятно потому, что не нарушает геометрию экрана). Вот только с аккумулятором плохо — 3100 мАч. Хотя встречаются отзывы, что благодаря каким-то там технологиям энергосбережения этот аппарат будет работать от аккумулятора больше, чем другие с таким же аккумулятором, я особых надежд на это не питал и оказался прав. Samsung S10e не работает сколько-нибудь заметно больше от одной зарядки, чем A40. При моём, не очень нагруженном режиме, использования мне приходится заряжать телефон каждый день, иногда ему удаётся дотянуть до утра, т.е. больше суток, но это если ночью его не использовать, к тому же, всё равно утром придётся его заряжать. И всё это при том, что у меня всегда включен режим питания «Средняя экономия».
Необходимость постоянно следить за зарядом напрягает. Пару раз бывало, что телефон оказывался на грани разряда и я переставал им пользоваться, чтобы сохранить заряд на важный случай. Я даже хотел купил чехол-аккумулятор, но у нас их нет, а заказывать откуда-то какую-то технологичную и достаточно дорогую вещь не глядя я не привык. Теперь, когда я знаю о неком критичном мероприятии, я беру с собой обычный пауэр-банк, чтобы не остаться без связи.

Второй раздражающий момент — это сканер отпечатков пальцев. На Samsung S10e он работает хуже, чем на Samsun A40, Xiaomi Redmi 5 Plus и iPhone 6s plus, примерно как на Samsung C5 (вот тут я писал про это). Держа телефон в левой руке и не используя правую разблокировать аппарат по отпечатку сложно. Сканер находится в кнопке питания наверху правой грани телефона, с левой руки приложить к нему можно только указательный или средний палец, да и то придётся применить сноровку чтобы дотянуться и при этом подобрать подходящий угол. К тому же аппарат требует чтобы палец закрывал весь сканер. В итоге, мне приходится делать несколько попыток и очень часто разблокировать телефон пальцем левой руки и вовсе не удаётся. После нескольких попыток телефон отказываться принимать отпечаток и требует ввести код. Когда телефон находится в правой руке таких проблем нет — прикладываю большой палец вдоль сканера и всё, правда иногда приходится перехватывать телефон повыше, т.к. сканер находится высоковато.
Также как и в случае с Samsung C5 я даже хотел отказаться от разблокировки по отпечатку в пользу рисунка, но тут нельзя отключить видимость рисунка как в предыдущих аппаратах (оказывается можно). Хотя в S10e рисунок разблокировки не такой явный как в других — не полные линии, а только шлейф, но всё равно он делает рисунок легко читаемым для посторонних. Также я не нашёл как отключить отображение нажатия клавиш при наборе кода разблокировки — они подсвечиваются. Может у меня и паранойя средней тяжести, но я не хочу, чтобы посторонние могли видеть рисунок или код разблокировки. Дополнение: нашёл как отключить отображение рисунка разблокировки.
Ещё такое ощущение, что сканер не может нормально работать с влажными пальцами. Это странно, т.к. у A40 с этим проблем не было.

Дополнение от 13-02-2020.
Сканер отпечатков пальцев работает отвратительно, безобразно. У меня такое ощущение, что большая часть попыток разблокировать телефон неудачны. Настолько плохой сканер я больше никогда не встречал. Несколько раз я даже с трудом сдержался того, чтобы не долбануть телефон об пол со всей дури, настолько это раздражает.
Из-за такого сканера я даже снова задумался о покупке iPhone старого дизайна с круглой кнопкой — сканером. Встроенный в экран сканер в новых моделях смартфонов Samsung совсем не внушает доверия.

Дополнение от 27-07-2020.
Проблема с нормальной разблокировкой по отпечатку стала мешать. По работе часто бывает, что руки заняты и нет возомжности нормально ввести рисунок разблокировки или руки грязные и не хочется возюкать ими по экрану. Решил опробовать разблокировку по лицу, как раз можно не касаться телефона, лежащего, например, на столе. Распознаванием лица тут занимается не какой-то хитрый датчик как на iPhone, а камера. Вероятно, поэтому такая разблокировка срабатывает не всегда. К тому же для подсветки лица используется подсветка экрана, т.е. в темноте телефон увеличивает яркость экрана, что разражает. Подсветку для распознавания лица я выключил, так что в условия недостаточной освещённости разблокировать приходиться другими способами. Мне понравилось, что можно отдельно включать/отключать требование открытых глаз и указать наличие очков. В целях повышения безопасности, я включил требование открытых глаз и не настраивал вариант с очками, однако, это не работает — телефон разблокируется и при закрытых одном-двух глазах и когда я в солнцезащитных очках.
В итоге использую разблокировку по лицу я оставил, как способ для случаев когда руки заняты или они грязные. Но этот метод не внушает мне доверия с точки зрения безопасности.

Разблокировка по лицу не для тех, кто обеспокоен безопасностью телефона. Впрочем, как и отпечаток пальца. Я бы сказал, что разблокировка по лицу самый плохой метод защиты телефона. Чуть лучше отпечаток пальца — он хотя бы требует контакта телефона и пальца. Разблокировка рисунком лучше, при условии, что рисунок более-менее сложный и на экране не остаётся след от пальца. Ну а лучше всего защита по паролю, опять же, если он хоть сколько-нибудь сложен. Короче, как обычно: или удобно и просто, или безопасно.

Дополнение от 16-12-2020
И снова про разблокировку. По отпечатку пальца разблокировка работает просто отвратительно. Разблокировка по лицу немного лучше, но тоже часто подводит. Разблокировка рисунком работает лучше других, но тоже бывает, что не получается даже с нескольких раз. Особенно эти раздражают когда что-то с чем-то накладывается на входящий звонок и никак не удаётся ни разблокировать, ни ответить на звонок. Неудачные разблокировки иногда так бесят, что хочется со всего размаху треснуть телефон об пол и затоптать его обломки.
Ну и необходимость заряжать телефон каждый день уже порядком поднадоела. Хотя, другие люди, судя по разным обзорам телефонов, считают, что работа телефона на одной зарядке в течение дня — это нормально. В надежде облегчить эту ситуацию при помощи беспроводной зарядки не совсем оправдались — заряжать телефон стало намного проще, но всё равно это лишние заморочки.

Apache 2.4: client denied by server configuration

После обновления версии Apache с 2.2 до 2.4 появилась проблема с доступом к сайту:
[Tue Apr 16 18:53:04.238675 2019] [authz_core:error] [pid 13180] [client 10.1.1.1:57234] AH01630: client denied by server configuration: /www/doc/index.html


Оказалось, что теперь вместо:
Order allow, deny
 Allow from all

нужно указать:
Require all granted


А также вместо:
Order allow, deny
 Deny from all

вот это:
Require all denied


Т.е. чтобы разрешить доступ к папке сайта должно быть что-то типа этого:
<Directory /data/www>
Require all granted


В тонкости ещё не вникал, документацию не читал.

IPv6 и MS Windows 7

Тестировал IPv6 при помощи ноутбука с MS Windows 7 и обнаружил, что консольная утилита netsh может показать много интересного.

Посмотреть информацию об ipv6-адресе:
netsh int ipv6 show addr ETH


Список соседей для интерфейса с названием ETH:
netsh interface ipv6 show neighbors ETH

Вместо имени интерфейса можно указать номер. Можно вообще не указывать название интерфейса — отобразится список для всех интерфейсов.

После каждого параметра утилиты можно ввести "?", нажать Enter и увидеть подсказку.
netsh interface ipv6 show ?


Кроме того параметры можно указывать не полностью:
netsh int ipv6 sh nei ETH

Почти что Cisco )

Конечно, это только один пример, а там есть ещё и команды для изменения настроек.

Cisco в качестве NTP-сервера

ntp logging !может быть много логов
ntp source Loopback0
ntp access-group peer 10
ntp access-group serve 10
ntp access-group serve-only 11
ntp server 85.21.78.8
ntp server 95.31.45.148
ntp server 213.145.129.29


В аксес-листе 10 (peer и serve) нужно разрешить все ваши NTP-серверы, если таковые имеются, а самое главное — NTP-серверы из списка вышестоящих серверов, которые мы выбрали и указали в настроках:
access-list 10 permit 10.1.1.2
access-list 10 permit 10.1.1.3
access-list 10 permit 85.21.78.8
access-list 10 permit 95.31.45.148
access-list 10 permit 213.145.129.29
access-list 10 deny   any

Уровни peer и serve имеют некоторые отличия друг от друга, но в нашем случае это неважно — с адресов из списка serve наш роутер/свич не будет сам синхронизироваться.

В аксес-листе 11 (serve-only) указываем адреса наших клиентов:
access-list 11 permit 10.1.1.0 0.0.0.255
access-list 11 deny any

Посмотреть состояние нашего сервера можно вот так:
cs#sh ntp status                                                             
Clock is synchronized, stratum 3, reference is 85.21.78.8                     
...

«Clock is synchronized» — значит всё нормально.

Можно убедиться в том, что какой-то из заданных вышестоящих серверов выбран (#):
cs#sh ntp associations
  address         ref clock       st   when   poll reach  delay  offset   disp
*~85.21.78.8      89.109.251.24    2     43    128    17 58.153  -0.383  3.737
+~95.31.45.148    .PPS.            1    279   1024     1 59.778  -0.216 187.55
 ~213.145.129.29  .INIT.          16      -    512     0  0.000   0.000 15937.
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured


Ну и, конечно, проверить синхронизацию с какого-нибудь компьтера:
ntpdate 10.1.1.1
12 Mar 14:26:44 ntpdate[16141]: adjust time server 10.1.1.1 offset 0.017100 sec


В случае если в выводе команды «sh ntp status» написано «Clock is unsynchronized», то значит сервер не работает и ваши клиенты не смогут синхронизироваться по нему. Можно включить дебуг «debug ntp all» или убрать все ограничения, заданные командами «ntp access-group».

Дизайн смартфонов: мода побеждает здравый смысл

Когда я в первый раз увидел новый айфон хэ (iPhone X) с «чёлкой» (она же — «монобровь») я подумал, что это один из самых уродливых смартфонов, который я когда-либо видел.
Как-то, проходя мимо, одного местного магазина, в котором есть аппаратура Apple на стенде (у нас это редкость), я решил посмотреть на смартфон вживую. Как ни странно, но вживую аппарат мне понравился больше: рамки одинаковые со всех сторон, конечно, не считая чёлки. Внешний вид аппарата получился вполне гармоничный, отторжение вызвал только длинный и неприлично толстый блок камер с вспышкой, выпирающий из обратной стороны телефона.

Несмотря на практически всеобщее недоумение от чёлки почти все производители, как обычно, кинулись делать смартфоны с чёлками. Однако, у всех получилось хуже, чем у Apple. В результате, после того как я увидел поделки с чёлкой от других производителей, ранее уродливый дизайн iPhone X мне стал казаться красивее. Теперь первенство по уродливости перехватили апараты с чёлками от других производителей.
Дело в том, что у других производителей не получилось сделать рамки одинаковыми со всех сторон. У кого-то, в добавок к чёлке, внизу остался «подбородок», т.е. сверху поле переделали в чёлку, а внизу осталось поле как раньше. У кого-то не только подбородок остался, но и чёлку нормально сделать не удалось — осталось более широкое, чем по бокам поле и ещё и чёлка из него.
Пока что я не видел ни одного телефона у которого бы получилось что-то симпатичное с чёлкой.
С чёлкой

Скоро узнаем, что получилось у Samsung с S10 )

Читать дальше →

Mikrotik: Импортирование подписанного сертификата

Мы получили настоящий, подписанный SSL-сертификат для управления нашим Микротиком через HTTPS.
Нам нужны три файла:
— сертификат, подписанным неким провайдером сертификатов — файл «my.crt»;
— приватный ключ — файл «my.key»;
— промежуточные сертификаты (корневой и этого провайдера) вместе в одном файле — файл «im.crt»;

Загружаем эти файлы на Микротик через меню Files.

По моему опыту лучше начать с импорта промежуточного сертификата, иначе может случиться, что система выдаст в логи сообщение о неправильной подписи сертификата. Впрочем, возможно, это не помешает и уладится после загрузки промежуточных сертификатов.
В разделе System — Certificates нажимаем кнопку Import и в выпадающем меню «Only File», выбираем файла «im.crt» и нажимаем кнопку «Import». В моём случае появилось два сертификата, т.к. у нас в файле их два. Вероятно, можно импортировать их и по-отдельности, но я не пробовал, просто взял тот файл, который я использовал для Апача.

Затем так же загружаем файл с подписанным сертификатом «my.crt». Он должен появиться в списке сертификатов и перед ним буквы L (crl) и T (trusted).

Теперь надо добавить наш приватный ключ — делаем это так же через Import, после чего возле уже появившегося после предыдущего шага сертификата появится буква K (private-key).

Теперь осталось указать веб-серверу Микротика использовать наш сертификат — в разделе IP — Services — www-ssl меню Certificate. Без этого HTTPS может не работать и выдавать ошибку «ERR_SSL_VERSION_OR_CIPHER_MISMATCH».

Убедитесь, что у вас есть другой вход, например, ssh или простой HTTP, т.к. ошибка с сертификатами может привести к тому, что вы не сможете зайти через HTTPS. Также можно подстраховаться и нажать кнопку «Safe Mode», главное потом, если всё нормально, не забыть отжать эту кнопку, иначе роутер перезагрузится и ваши изменения пропадут.
Включите, если она ещё не включена, службу www-ssl в разделе IP — Services и проверьте подключение через HTTPS. Если всё нормально, то можно отключить простой HTTP.

Дополнение про обновление сертификата

Обновить только подписанный сертификат у меня не получилось — импортировал новый и пропала связь по HTTPS. Далее пришлось всё делать через SSH, а файлы сертификатов загружать на Микротик через SFTP.

Проще удалить все сертификаты и добавить заново:
certificate remove 0
certificate remove 1
certificate remove 2
certificate import file-name=im.crt
certificate import file-name=my.crt
certificate import file-name=my.key


В результате в выводе команды «certificate pr detail» у меня получилось два промежуточных сертификата и один приватный, причём приватный должен иметь отметки «KL T» (K — private-key, L — crl, T — trusted). В этом же выводе смотрим имя сертификата 'name=«my.crt_0»'

Затем надо проверить привязан ли сертификат к службе www-ssl:
ip service print detail where name=www-ssl
 "номер_службы"   name="www-ssl" port=443 address="" certificate=*A


У меня не привязан, т.к. имя сертификата изменилось
Указываем новое имя:
ip service set "номер_службы" certificate=my.crt_0

Проверяем:
ip service pr detail where name=www-ssl
 0   name="www-ssl" port=443 address="" certificate=my.crt_0


Проверяем HTTPS — работает.

PHP cURL reCAPTCHA

На сайте не работала reCAPTCHA — после клика на баннере «Я не робот» появлялась зелёная галочка, но после отправки формы выводилась ошибка про капчу.

В Интернете часто встречается совет скачать файл с сертификатами (с сайта curl.haxx.se) и прописать путь к нему в php.ini:
curl.cainfo="/www/php/cacert.pem"

Однако, мне это не помогло — php просто не видел этот файл, судя по выводу функции openssl_get_cert_locations:
<?
var_dump (openssl_get_cert_locations());
?>


Я пытался по всякому, но ничего не помогало, пока, к счастью, не попался другой параметр для php.ini:
openssl.cafile = "/www/php/cacert.pem"


Теперь в выводе указанной выше функции файл с сертификатами виден:
...["ini_cafile"]=> string(32) "/www/php/cacert.pem"...