DigitalOcean

В предыдущей статье я рассказал, как я подготавливаю Linux сервер к работе. Открывая тему моего набора инструментов на сервере, я хочу начать с первых программ, с помощью которых осуществляется подключение и работа в удаленном терминале. Это mosh, zsh и tmux.

mosh (mobile shell)

Mosh — современная замена старого доброго SSH. Ладно, это не полная его замена, поскольку для работы mosh нужен все тот-же ssh, можем сказать, что это новое дыхание для ssh ;). После того, как произошло соединение, запускается mosh-server с использованием одного из UDP портов в диапазоне от 60000 до 60010. Дальнейшее взаимодействие между клиентом и сервером происходит по UDP.

“А что это за программа такая?” — часто приходиться слышать, работая на сервере в SSH терминале, от человека, который подошел и уставился в мой монитор. Сегодня, дорогой друг, стоящий за моей спиной, я познакомлю тебя с ПО, которое использую в ежедневной работе. Но, начать надо с того, как все это добро попадает на тот самый Linux сервер.

Виртуальные машины приходят и уходят, иногда, десятками за неделю. Каждый раз настраивать “под себя” утомительно… Я нашел для себя решение задачи и теперь готов поделиться. Это ansible — простой инструмент, который через стандартное SSH подключение выполняет рутинные операции по подготовке сервера к работе. Все инструкции, что делать, описаны в файле playbook.yml. В качестве хоста, который будет настраивать, должна быть Linux либо OSX машина. Я это всегда делаю со своего MacBook либо с тестового Linux сервера в офисе. Но, в основном с MacBook. Сам рецепт приготовления сервера, я выложил на github и сейчас расскажу, как им пользоваться.

Процесс настройки состоит из нескольких этапов:

  1. Установка всего необходимого мне ПО.
  2. Создание пользователей и настройка ключей авторизации для SSH. Отключение регистрации по паролю и отключение root через ssh.
  3. Настройка firewall — опционально.
  4. Установка docker — опционально.

А теперь о каждом пункте детальный.

Не так давно мы перенесли наш облачный сервис на площадку DigitalOcean, что позволило не только увеличить производительность, но и добавить новые функции, такие как поддержка IPv6. Вся прелесть в том, что в офисе мы тоже используем IPv6. Так почему, бы не настроить телефоны напрямую, минуя NAT? Так и сделаем!

С Yalink T22 проблем небыло — включил поддержку IPv6 и все просто заработало. А вот на SIP-T20 не завелось… Как я выяснил, по какой-то причине (глюк в прошивке), телефон не подхватывал шлюз:

Yealink SIP-T20

Пришлось прописать вручную. И сразу телефон зарегистрировался на сервере:

SIP IPv6

Что же, Webitel в on-demand теперь доступен как по IPv4, так и по IPv6 — пользуйтесь!