воскресенье, 4 августа 2019 г.

Перенаправление запросов времени на локальный сервер времени MikroTik

Данный материал является дополнением к публикации на тему установки сервера времени MikroTik для локальной сети.

Возобновление интереса к серверу времени MikroTik было обусловлено возникшим интересом к процессу синхронизации времени на системах Ubuntu и Linux Mint, функционирующих в рамках домашней сети.

Проверка работы служб синхронизации времени (клиентов NTP) производилась командой ntpq -p, после выполнения которой в окне терминала выводится ответ, например :


Строго говоря, там имеется несколько столбцов. Их интерпретация:

remote – адрес сервера времени, с которым синхронизируется компьютер;
refid – вышестоящий сервер (от которого узел remote получает время);
st – уровень сервера (stratum);
t – пир (unicast или multicast);
when – когда последний раз сверялось время;
poll – периодичность синхронизации с этим сервером;
reach – состояние работоспособности. Если удалось произвести синхронизации восемь раз в подряд становится равным 377;
delay – время задержки;
offset – разница между нашим временем и временем на сервере; положительное – наши часы спешат, отрицательное – отстают;
jitter – смещение времени на удаленном сервере;

Значки в начале строк:

* – с этим источником клиент ntp произвёл последнюю синхронизацию времени;
+ – источник является кандидатом при очередных выборах сервера для синхронизации времени клиентом ntp;
– – источник не рекомендован для синхронизации времени;
x – источник не доступен.

Как следует из результата вывода, запросы на серверы из пула ntp.ubuntu.com, которые перечислены в файле /etc/ntp.conf, перенаправляются на ресурсы регионального географического пула серверов ntp (строки в столбце refid). При этом клиент службы ntp по своему алгоритму периодически опрашивает пул серверов ntp с целью выбора наилучшего для синхронизации времени, вследствие чего значение в строке * может изменяться в зависимости от времени запроса ntpq -p

На MikroTik устанавливается и настраивается сервер, обслуживающий ЛВС:


Значение строки Broadcast Addresses указывает на широковещательный адрес ЛВС.

Далее создаётся правило, которое все запросы к серверу времени от узлов локальной сети будет перенаправлять на сервер времени MikroTik:



Через некоторое время можно наблюдать, работает ли созданная схема по счётчику в IP/Firewall или наглядно в графическом виде:


После запросов, осуществлённых с некоторым интервалом можно видеть результаты вывода команды ntpq -p :



Видно, что если при первом запросе клиент ntp показывает, что все серверы пула ntp.ubuntu.com получают время от вышестоящего сервера точного времени 62.149.0.30, то уже при втором запросе появляется новый вышестоящий сервер точного времени 31.28.161.71

62.149.0.30 и 31.28.161.71 являются источниками точного времени для клиента ntp MikroTik:


Периодически из этих серверов выбирается лучший. Подробности здесь.

С течением времени клиент ntp MikroTik может посчитать, что источник времени 31.28.161.71 более предпочтителен:


А сервер времени MikroTik скорректированное по указанным выше источникам точного времени выдаёт его клиентам локальной сети. Результаты вывода команды ntpq -p как раз и подтверждают факт того, что в качестве пула серверов времени выступает именно сервер времени MikroTik. Тем более, что это также будет подтверждаться значением времени задержки ответа от сервера точного времени, передаваемому клиенту, которое отображается с столбце delay (см. пояснение выше):


При отсутствии на MikroTik сервера ntp задержка ответа (от регионального пула серверов ntp) составляет порядка 2,3-2,5  Приводимые значения столбца delay соответствуют времени отклика от самого MikroTik (на рисунке ниже он соответствует узлу сети router.vot):


Полный ответ с отображением всех столбцов приводится ниже:


Интересно отметить, что на момент запроса на рис. выше провайдер или не осуществлял свой редирект на региональный пул серверов ntp или в это время производились какие-то их "выборы". Звёздочка (расшифровку см. выше) указывает на узел chilipepper.can... , который является одним из узлов пула ntp.ubuntu.com (Cannonical). Однако со временем ситуация "возвращается на круги своя".


Указанные клиенту SNTP MikroTik Primary NTP Server и Secondary NTP Server являются серверами точного времени ntp.time.in.ua и ntp2.time.in.ua, которые, в отличие от пула серверов ntp, имеют постоянные (статические) адреса IP. Именно по этой причине они и были выбраны в качестве источников точного времени для клиента SNTP MikroTik. Как указано на сайте time.in.ua, сервер времени является официальным и активным участником проекта pool.ntp.org

Аналогичными источниками точного времени c постоянными адресами IP являются также серверы времени colocall: ntp1.colocall.net и ntp2.colocall.net, имеющие адреса 62.149.2.62 и 62.149.2.126 соответственно.

Ради интересами были также сделаны запросу к серверу точного времени https://net.dn.ua/time/ , который наглядно показывает смещение часов компьютера. Полученные результаты можно считать более чем удовлетворительными:



Следует отметить, что по сравнению с эталонным источником время на компьютере будет постоянно "дрожать" (так называемый дрифт), поэтому смещение даже в 0,05 сек для домашнего компьютера можно считать хорошим показателем.

суббота, 3 августа 2019 г.

Кнопки запуска для подключения к webdav с автомонтированием в файловом менеджере Thunar

В отличие от файловых менеджеров nemo (Cinnamon) и caja (MATE) файловый менеджер Thunar в xfce в своём меню не имеет подобных команд для подключения к ресурсам webdav.

Можно, конечно, воспользоваться программой gigolo (sudo apt install -y gigolo), в которой это удобно будет делать, но можно обойтись и без неё, создав кнопки запуска на рабочем столе или нижней панели (дополнительной панели).

Для создания кнопки запуска на рабочем столе вызовите правое контекстное меню мыши и выберите "Создать значок запуска". В качестве команды впишите davs:// и далее логин и адрес ресурса webdav. Например, для подключения к Диску Яндекс (Яндекс.Диск) введите:

thunar "davs://login@webdav.yandex.ru"

login это Ваша учётная запись, которая является первым словом из адреса электронной почты, например login@yandex.ru

Если у Вас учётная запись в Яндекс почте из серии "почта для домена", то тогда вместо login пишется полный адрес электронной почты, например cetus@tut.by  Тогда команда приобретёт вид:

thunar "davs://cetus@tut.by@webdav.yandex.ru"


Для назначения значка нажмите на кнопку "Без значка" и выберите понравившийся значок. Пример назначения значка:


Вызовите в созданном значке в свойствах значка секцию "Права" и установите галочку в поле "Разрешить запуск этого файла в качестве программы":


При вызове созданной кнопки запуска Яндекс Диск будет автоматически смонтирован в файловом менеджере Thunar как сетевой ресурс:


Создание значка запуска на панели производится аналогично. Станьте курсором на панель и вызовите правое правое контекстное меню мыши. Далее выберите "Панель – Добавить новые элементы". Укажите "Запуск приложений":


На созданном значке через правое меню мыши кликните "Свойства". Нажмите кнопку, которая расположена ниже кнопки + :


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


Примечание. Более подробно про создание значков запуска на панели xfce можно прочитать здесь: https://onformix.blogspot.com/2016/09/xfce.html

Для подключения по webdav к другому аналогичному хранилищу box.net используйте команду

thunar "davs://login@dav.box.com/dav"

В силу ограничений для бесплатных учётных записей box.net размер файлов, которые можно записывать через webdav, имеет ограничение в 250 Мб.

При первом подключении по webdav будет запрашиваться пароль. По умолчанию предлагается запомнить пароль до выхода из сеанса. То есть если систему перезагрузить и вызвать подключение по webdav, то снова появится окно ввода пароля. Что выбрать – решайте сами. Если выбрать "Запомнить навсегда", то пароль больше никогда спрашиваться не будет.


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

Где в Ubuntu и Linux Mint находятся пароли к сетевым ресурсам? 

Пароли к этим ресурсам расположены в так называемой связке ключей keyring, которая представляет из себя файл в скрытом каталоге пользователя ~/.local/share/keyrings


Пароли расположены в файле Связка_ключей_по_умолчанию_keyring

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

Открыть данный файл в простом текстовом редакторе и произвести необходимые правки.

Ниже приводится пример части содержащейся в данном файле информации. Срока secret= и является паролем. Естественно, что в примере указаны "липовые" данные.

[1]
item-type=1
display-name=travis@h-5.net.org
secret=traverse93
mtime=1562794223
ctime=1562794223

[1:attribute0]
name=protocol
type=string
value=ftp

[1:attribute1]
name=server
type=string
value=h-5.net.org

...

[136]
item-type=1
display-name=cetus%40tut.by@webdav.yandex.ru:443/Yandex.Disk
secret= Renegat391be2
mtime=1564189280
ctime=1564189280

...

[136:attribute5]
name=user
type=string
value=cetus@tut.by

[136:attribute6]
name=xdg:schema
type=string
value=org.gnome.keyring.NetworkPassword

...

[185]
item-type=1
display-name=abahe@webdav.yandex.ru:443/Yandex.Disk
secret=18CtdhtCsyrjd423
mtime=1564710388
ctime=1564710388

четверг, 1 августа 2019 г.

Ошибка репозитория MEGA при обновлении Ubuntu 16.04 и Linux Mint 18.3

При очередном цикле обновления системы менеджер обновлений для MEGA отобразил ошибку:

W: Ошибка GPG: https://mega.nz/linux/MEGAsync/xUbuntu_16.04 ./ InRelease: Следующие подписи неверны: KEYEXPIRED 1564504050  KEYEXPIRED 1564504050  KEYEXPIRED 1564504096  KEYEXPIRED 1564504050  KEYEXPIRED 1564504050  KEYEXPIRED 1564504050  KEYEXPIRED 1564504050  KEYEXPIRED 1564504096  KEYEXPIRED 1564504050
W: Репозиторий «https://mega.nz/linux/MEGAsync/xUbuntu_16.04 ./ InRelease» не подписан.

В службу поддержки MEGA был сделан запрос и довольно-таки оперативно (через несколько часов) был получен ответ:

Hello,

the issue has now been fixed. You can read more about what happened in our blog post https://mega.nz/blog_55

Please re-install MEGAsync from our official webpage https://mega.nz/sync for a proper functioning.

Please Note: Debian 10 and Raspbian users could be still affected, we will solve it as soon as possible. Please reinstall the in next 48 hours.

Kind Regards,
MEGA Support

Для гарантированного устранения данной "неисправности" выполните следующие действия.

Удалите MEGA через терминал:  sudo apt purge -y megasync

Не волнуйтесь, Ваши настройки синхронизации удалены не будут.

Откройте Менеджер пакетов Synaptic и вызовите в верхнем меню "Настройки – Репозитории". Перейдите в "Дополнительные репозитории":


Найдите в правом окне репозиторий MEGA, выделите его на нажмите "Удалить":


Перейдите в "Проверка подлинности ключей":


 Аналогично предыдущему действию удалите ключ MEGA:


Примечание. На указанном рисунке ключ уже "правильный". Ваши цифры под наименованием ключа могут не совпадать с цифрами, указанными на рисунке.

Закройте дополнительное окно менеджера пакетов Synaptic и в главном окне нажмите кнопку "Обновить":


Закройте менеджер пакетов Synaptic.

Перейдите на сайт MEGA. Скачайте и установите "исправленное" приложение.

понедельник, 22 июля 2019 г.

"Мягко" запустить autokey через процесс sh


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

sudo apt install -y autokey-gtk

Однако с некоторых пор иногда случайным образом возникает ситуация с выводом сообщения на экран, что autokey-gtk уже запущен (в настройках программы установлена галочка в поле "Automatically start Autokey at login"), pid этого процесса имеется, но программа не отвечает. Соответственно), отображающий работу программы значок в системном лотке (на панели, в трее) не появляется, а назначенные комбинации клавиш не работают.

Возникла идея осуществить "мягкий" запуск autikey-gtk, то есть запуск программы с задержкой. Попытка использовать скрипт sh, запускающий autokey-gtk, а потом выполняющий команду exit, привела лишь к частичному успеху. Все команды и паузы выполняются, но команда exit не проходит:

#!/bin/bash
sleep 65
autokey-gtk
sleep 10
exit

Примечание. Задержка перед запуском в 65 секунд выбрана из соображений запуска программы после отработки системной операции ротации логов работы, которая выполняется через 60 секунд после старта системы. Это можно наблюдать в диспетчере задач, если запускать его после прорисовки всех элементов рабочего стола. Смотреть sh -c /proc/self/fd/9

В диспетчере задач видно, что autokey.sh остался активным:


Первоначальным решением проблемы явилось создание скрипта autokey-stop.sh, "убивающего" процесс autokey.sh, и также стартующего с задержкой. То есть в "Настройки – Сеансы и запуск –  Автозапуск" (xfce) имеется 2 задачи:


Auto Keys имеет команду запуска скрипта autokey.sh –

     /home/user/scripts/autokey.sh

Auto Keys stop proc имеет команду удаления скрипта autokey.sh –

     sh -c "sleep 75 && /home/user/scripts/autokey-stop.sh

Имеется в виду, что user – это пользователь системы с логином user.

Листинг autokey.sh :

#!/bin/bash
sleep 65
autokey-gtk

Листинг autokey-stop.sh :

#!/bin/bash
OUTPUT="$(pgrep autokey.sh)"
kill -15 ${OUTPUT}
exit

Примечание. Команда pidof autokey.sh  не возвращает pid процесса autokey.sh, так как в понимании системы autokey.sh не является программой.

Затем, как оказалось, имеется способ завершения процесса autokey.sh без привлечения второго скрипта. Для этого после команды autokey-gtk необходимо добавить символ &.

Далее при просмотре каталога с настройками ~/.config/autokey, был найден файл протокола работы autokey.log Содержащиеся в нём записи касались всех сеансов работы autokey-gtk, начиная с момента установки в 2017 году (при каждом запуске autokey в файл добавлялись новые записи). Так как для анализа работы программы достаточно протокола за текущий день, а старые записи для меня являются малоинформативными, то в целях избежания его разрастания было принято решение об удалении autokey.log перед запуском autokey-gtk. При запуске программы файл autokey.log будет создан автоматически.

В результате скрипт autokey.sh принял вид:

#!/bin/bash
sleep 65
rm /home/user/.config/autokey/autokey.log
autokey-gtk &
sleep 10 && exit

Примечание. 10 секундная пауза была введена для "перестраховки" из соображений того, чтобы гарантировано запустился autokey-gtk. В принципе, можно обойтись и без паузы. Про каталог user выше было указано, что это домашний каталог пользователя системы с логином user.

После отработки всех команд в диспетчере задач остаётся только процесс autokey-gtk

пятница, 12 июля 2019 г.

Установка WineHQ одной командой в Ubuntu и Linux Mint

В подавляющем большинстве случаев версия wine 1.6 не в состоянии обеспечить требуемое функционирование запускаемых в Linux файлов Windows. Более приемлемым вариантом является установка WineHQ.

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

WineHQ можно установить 2 вариантов stable и development

WineHQ stable для Ubuntu 16.04 и Linux Mint 18x

sudo dpkg --add-architecture i386 && wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key && sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' && sudo apt update && sudo apt install --install-recommends winehq-stable && winecfg

WineHQ development для Ubuntu 16.04 и Linux Mint 18x

sudo dpkg --add-architecture i386 && wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key && sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' && sudo apt update && sudo apt -y install --install-recommends winehq-devel && winecfg

WineHQ stable для Ubuntu 18.04 и Linux Mint 19x

sudo dpkg --add-architecture i386 && wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key && sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main' && sudo apt update && sudo apt install --install-recommends winehq-stable && winecfg

WineHQ development для Ubuntu 18.04 и Linux Mint 19x

sudo dpkg --add-architecture i386 && wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key && sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main' && sudo apt update && sudo apt -y install --install-recommends winehq-devel && winecfg

После автоматического запуска конфигуратора Wine будет предложено установить дополнительные компоненты:




Примечание. Wine Gecko может потребоваться установить 2 раза.

После завершения всех операций будет запущена графическая оболочка winecfg.


Следует отметить, что по умолчанию секция Wine в меню приложений не отображается. Как пишут, она станет отображаться только после первой установки приложения Windows через соответствующую приложению программу установки.

После установки WineHQ в домашнем каталоге останется файла winehq.key  В принципе, его можно удалить.

Чтобы найти необходимое приложение Windows перейдите в скрытый каталог

~/.wine/drive_c


Для запуска самодостаточного приложения Windows в виде одного файла, например winbox.exe от роутера MikroTik через правое меню мыши сопоставьте файлу wine:


Запущенный через wine Winbox может отображаться шрифтом, не слишком удобным для комфортного восприятия.


В этом случае запустите через терминал winecfg и в секции "Графика" увеличьте значение разрешения экрана.



Интерфейс Winbox будет отображаться немного лучше:


Настройки отображения Winbox расположены в скрытом каталоге. Ниже приводится пример для пользователя Linux с именем manager:

/home/manager/.wine/drive_c/users/manager/Application Data/Mikrotik/Winbox/


Установка браузера Brave одной командой в Ubuntu и Linux Mint


Иногда полезно пользоваться несколькими браузерами, каждый из которых настроен для серфинга по своему набору ресурсов Интернет. Особенно это может быть удобным в случае использования нескольких адресов электронной почты Gmail, Яндекс или Mail.Ru

Браузер Brave поставляется в 4-х вариантах: стабильная версия, бета, developer и сборки nightly. Однако для его установки необходимо вводить определённые терминальные команды. Ниже эти команды приводятся в наборе команд в 1 строку. Так как публикация пишется для версии Linux Mint 18.3, соответствующей Ubuntu 16.04, то использовано кодовое имя Ubuntu 16.04, которым является xenial. Для Ubuntu 18.04 и Linux Mint 19х это будет bionic. Искать в строке, которая начинается с https. Например:

https://brave-browser-apt-release.s3.brave.com/ xenial main" или

https://brave-browser-apt-release.s3.brave.com/ bionic main"


curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-release-xenial.list && sudo apt update && sudo apt install -y brave-browser

curl -s https://brave-browser-apt-beta.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-beta.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-beta-xenial.list && sudo apt update && sudo apt install -y brave-browser-beta

curl -s https://brave-browser-apt-dev.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-dev.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-dev.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-dev-xenial.list && sudo apt update && sudo apt install -y brave-browser-dev

curl -s https://brave-browser-apt-nightly.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-nightly.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-nightly-xenial.list && sudo apt update && sudo apt install -y brave-browser-nightly

Для установки всех 4-х вариантов используйте команду:

curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-release-xenial.list && curl -s https://brave-browser-apt-beta.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-beta.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-beta-xenial.list && curl -s https://brave-browser-apt-dev.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-dev.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-dev.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-dev-xenial.list && curl -s https://brave-browser-apt-nightly.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-nightly.gpg add - && echo "deb [arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ xenial main" | sudo tee /etc/apt/sources.list.d/brave-browser-nightly-xenial.list && sudo apt update && sudo apt install -y brave-browser brave-browser-beta brave-browser-dev brave-browser-nightly