OpenVPN за пять минут
В России очередной раз запретили сервисы VPN. Про бесполезность подобных запретов говорить бесполезно, потому что для того чтобы настроить свой собственный OpenVPN сервер достаточно пяти минут. Для этого есть удобный скрипт.
1. Регистрируем любой VDS сервер c линксом. Услуга платная но не сильно дорогая. Можно поднять инстанс на AWS, или на любом другом интернет провайдере за пределами нашей скрепной страны. На linode.com самый дешевый хостинг стоит 5 долларов в месяц.
2. Заходим по ssh на только что созданный сервер и запускаем:
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
следуем инструкции - в результате на вашем сервере будет работающий openvpn сервер и файл client.ovpn для настройки первого клиента. Для создания новых файлов конфигурации для клиентов скрипт openvpn-install.sh нужно запустить еще раз.
3. Копируем готовый client.ovpn на ваш компьютер или мобильный телефон и поднимаем соединение при помощи любого openvpn клиента.
Под Андроид можно использовать вот этот клиент. Под Windows - вот этот.
Как только соединение успешно поднято весь трафик будет идти через ваш сервер в сети и ваш IP адрес будет определяться не как IP вашего Интернет провайдера а как IP адрес вашего сервера в сети.
Перенос почты между imap почтовыми ящиками
После переезда на новый сервер встал вопрос как перенести письма со старого сервера на новый. Не скажу, что там было много полезного, но на всякий случай никогда не мешает иметь копии архивных документов из прошлого.
Стал думать как это сделать. Перенос папки с почтой на локальном диске оказался не самым рабочим вариантом - все файлы копировать было стремно а по папкам скопировать не удалось.
Ни одной полезной linux утилиты я не нашел, зато попались несколько платных, не внушающих доверия.
В результате проблема решилась банальнейшим образом - поскольку оба сервера у меня живые - просто выделил папки в Thunderbird которые нужно было перенести на новый сервер и перетащил их на новый аккаунт! Вот так просто!
Все благополучно перенеслось! Это был последний шаг, необходимый мне для завершения процесса переезда, теперь старый сервер можно благополучно погасить и не платить в два раза больше за хостинг!
Кстати, очень рекомендую linode - пользуюсь этим хостинг провайдером уже много лет и мне у них все нравится! За пять долларов в месяц вы получите полноценный виртуальный выделенный сервер для своих проектов, с 1 GB RAM и 32 GB дискового пространства, для небольшого пет проекта вполне достаточно.
Мониторинг серверов c Grafana и Influxdb
Есть меня несколько серверов которые бы мне хотелось постоянно мониторить на предмет оперативной памяти, диского пространства и т.п. Хотя сами сервера расположены в разных местах все они объединены между собой по openvpn. Для того чтобы решить задачку мой выбор пал на связку influxdb+grafana.
Influxdb это так называемая timeseries база данных, в которой мы можем хранить данные которые изменяются во времени. Grafana - это универсальный UI который удобно использовать для визуального представления таких данных. InfuxDB и Grafana поднимаются на при помощи docker-compose. К при этом для того, чтобы послать данные состояния сервера используется баш скрипт который периодически запускается через cron и при помощи curl посылает данные на сервер
Таким образом я всегда могу видеть состояние того или иного сервера. Все системы будем подымать в докере для этого достаточно склонировать репозиторий с docker-compose который содержит в себе 3 образа - influxdb, grafana и chronograph.
git clone git@github.com:maxistar/docker-compose-influxdb-grafana.git
cd docker-compose-influxdb-grafana
git checkout influx1_8
docker-compose up -d
Influxdb версии 2.x требует авторизации и поэтому я использовал версию 1.8. Исправленный docker-compose.yaml живет в ветке influx1_8 где я использую именно эту версию, возможно в будущем разберусь как использовать и последнюю версию.
После того как InfluxDB и Grafana запущены, на сервере, который будем мониторить, создаем bash скрипт (script.sh).
#!/bin/bash
dbName="db0"
stat=`free | awk -v RS="" '{print "memory,host=acentauri used=" $9 "\nmemory,host=acentauri total=" $8 "\nmemory,host=acentauri swap=" $15 "\nmemory,host=acentauri swapused=" $16}'`
curl -s -i -XPOST "http://10.8.0.100:8086/write?db=db0" \
--data-binary "$stat"
делаем файл исполнимым и добавляем команду для запуска скрипта в cron:
chmod +x script.sh
contab -e
в открывшимся файле добавляем следующую строчку:
* * * * * /home/maxim/infrastructure/utils/memusage/script.sh
После того как данные начали посылаться на сервере настраиваем dashboard и наслаждаемся.
После того как начал мониторить состояние asterisk сервера он волшебным образом перестал зависать! Возможно его зависания были связаны с тем что зависает wifi модуль и я его перестаю видеть по сети.
Как войти в кошёк IOTA если у вас короткий...
...Seed.
Есть такая криптовалюта IOTA. У них в кошельке для авторизации используется так называемый seed - просто случайная последовательность символов некоторой длинны. И эта длинна имеет значение!
Сейчас для авторизации используется seed длинной 81 символ. Когда я заводил кошелек мой seed был длинной 79 символов.
Старый сид новый кошелек не понимает - говорит - хочу чтобы был не короче 81 символа!
Оказывается для преобразования старого сида к новому нужно дописать к старому сиду девятки до длинны 81 символ.
Вдруг кому нибудь тоже понадобится.