Чек лист: Как настроить виртуальный сервер VPS/VDS

Чек-лист, инструкция, напоминалка и просто необходимая вещь по настройке виртуального сервера с нуля. Не важно какие разновидности операционных систем Unix ты настраиваешь Debian, CentOS, Ubuntu, FreeBSD или RouterOS CHR основные этапы одинаковые - это настройка безопасности, удаленного управления, стандартные сервисы LAMP и так далее.

Начнем с терминов

Виртуальные сервера VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) это одно и то же - это синонимы. Если какой-либо хостинг предлагает вам VPS и VDS как разные услуги - это должно вас насторожить, что-то тут не так.

Список хостинг провайдеров с которыми я работаю оформлен в виде рейтинга хостингов. Нужна будет консультация по хостингу - пишите мне.

Эту инструкцию я просто скопировал у самого адекватного (как по цене, так и уровню техподдержки) украинского хостинг провайдера СХОСТ.

При выборе выделенного сервера и VPS/VDS очень важно обратить внимание на процессор. Не все знают, что большие показатели CPU и количества ядер не всегда гарантируют большую мощность. В частности, более современный процессор 1.6 ГГц может ощутимо превосходить процессор 4 ГГц.

Существует проверенный способ оценить реальную мощность практически любого процессора до покупки выделенного сервера/ВПС:

  1. Перейдите на сайт PassMark.
  2. Выберите процессоры, которые нужно сравнить.
  3. Изучите сравнительную таблицу.

Рассмотрим, как работает сервис на примере. Мы сравнили два процессора – Intel Xeon X5675 @ 3.07GHz (процессор А) и Intel Xeon E5-2680 v2 @ 2.80GHz (процессор В).

При том что мощность (поле Clockspeed) процессора А равна 3.1 ГГц, а мощность процессора В – 2.8 ГГц, рейтинг одного ядра (поле Single Thread Rating) процессора В составляет 1826, а процессора А – лишь 1392. Что касается суммарного рейтинга (поле CPU Mark), то и здесь процессор В показал лучшие результаты: 15904 против 8124.

Вывод: у процессора 2.8 ГГц каждое ядро почти на 50% мощнее, чем у процессора 3.1 ГГц. Следовательно, так как ядер больше, процессор В почти в два раза сильнее, чем процессор В.

  • Если на вашем выделенном сервере два процессора, все цифры в таблице нужно умножить на два.
  • Владельцам ВПС необходимо умножить данные из поля Single thread rating на количество ядер на виртуальном выделенном сервере.

Вы также можете проверить не только ip, но и домен вашего сайта на нахождение в спам-базах.

Не надо спешить что либо настраивать, первым делом убедитесь что хостер выдал вам незаблокированный IP. Вы понимаете, что если ваш IP проблемный, то никаких почтовых серверов вы установить не сможете или продвинуть ваш сайт по SEO или получите "Обход системы" в Google реклама.

IP адрес может попасть в "черные: списки по разным причинам, но в основном через жалобы пользователей, например, на спам рассылку. Если ваш IP засветился в одном из таких списков, то скорее всего в дальнейшем все отправленные вами письма будут отправляться в спам папки и не будут доставлены.

Ниже привожу сервисы, которыми пользуюсь я. Если кто-то знает аналогичные сервисы напишите мне на почту - я добавлю.

  1. Проверить какой стране принадлежит ваш IP RIPE Database
  2. Роскомнадзор - универсальный сервис проверки ограничения доступа к сайтам и (или) страницам сайтов сети «Интернет».
  3. Наличие IP в СПАМ базах mxtoolbox проверка в Spam базах
  4. Многие провайдеры автоматически блокируют доступ с IP указанных в базе Reputation Checker - Spamhaus, чтобы проверить свой ip на наличие в этих базах используйте сервис. Сюда попадают всегда за что-то. Если ваш IP добавлен в Spamhaus, то письмо на Mail.ru, Yandex, Google, Microsoft, Yahoo не будут доставлены. Социальная сеть LinkedIn не разрешит переходы по ссылке на ваш домен. Исключить свой адрес из Spamhaus можно, для этого нужно написать в их техническую поддержку и подтвердить права на домен и ip.
  5. SORBS. Удалить свой адрес с данного списка просто, но и просто попасть в данный список. Хотя много компаний не обращают внимание на данный блэклист.
  6. Сервис Proofpoint использует Apple. Ваш IP попал в данный список? Это обозначает, что письма не будут доставляться на @icloud.com и @me.com.
  7. В список URIBL лучше не попадать, из него трудно выбраться, особенно, если это не первое попадание.

Не помещает, сразу после покупки VPS замерить скорость интернета, которую вам предоставил хостинг провайдер. Скорость можно замерить разными способами, например утилитой iperf, но самым простым способом будет использование приложения Speedtest CLI.

Speedtest CLI позволяет использовать глобальную серверную сеть Speedtest с помощью командной строки. Speedtest CLI позволяет измерять такие показатели интернет-соединения, как скорость загрузки и передачи, потеря пакетов и задержка, без использования веб-браузера.

Установка утилита speedtest в Debian/Ubuntu (скачать установочные скрипты):

curl -s https://install.speedtest.net/app/cli/install.deb.sh | bash
apt install speedtest-cli

Установка утилита speedtest в Centos:

curl -s https://install.speedtest.net/app/cli/install.rpm.sh | sudo bash
yum install speedtest

Запускаем без всяких параметров, обычно этого достаточно. В более новых версиях лучше использовать дополнительный ключ, auto-binary-bytes который будет показывать скорость в kiB/s, MiB/s, GiB/s.

speedtest -u auto-binary-bytes
# speedtest
Retrieving speedtest.net configuration...
Testing from JSC IOT (212.109.219.242)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by INETCOM LLC (Moscow) [1.61 km]: 2.945 ms
Testing download speed..............
Download: 97.56 Mbit/s
Testing upload speed................
Upload: 109.68 Mbit/s

Как видим мой VPS сервер подключен в 100 Mbit/s порт. Если это соответствует заявленной хостером, вам при покупке виртуального сервера, скорости - значит все ОК.

К слову, чтобы увидеть ближайшие сервера Speedtest введите команду:

# speedtest --list
Closest servers:
 
    ID  Name                           Location             Country
==============================================================================
 22774  DediPath                       Secaucus, NJ         United States
   982  Interserver, inc               Secaucus, NJ         United States
 22069  TeleBermuda International Limited New York, NY         United States

Читайте также: Что такое тест скорости Интернета? Единицы измерения скорости интернета

Проведите простые тесты производительности новокупленного VPS, например:

wget -qO- bench.sh | bash
curl -Lso- bench.sh | bash

На выходе вы получите информацию о конфигурации сервера, I/O, скорости загрузки данных из разных точек мира:

Для проверки скорости диска как виртуального, так и физического сервера можно использовать утилиту dd. dd позволяет измерить общую скорость чтения или записи, но не предоставляет детализированной информации о IOPS, времени отклика или других важных метриках производительности в отличии от специализированной утилиты Утилита Linux fio: Применение и Тестирование Скорости Работы Диска. Использование dd для проверки скорости диска может быть оправдано в ситуациях, когда требуется быстрый и простой тест без необходимости в детальном анализе производительности. Однако для более глубокого и всестороннего тестирования, особенно в профессиональных и коммерческих средах, предпочтительнее использовать fio из-за её расширенных возможностей и точности измерений.

Средняя скорость дисковой подсистемы на виртуальных серверах колеблется от 100 Мб/с до 450 Мб/с.

Многие хостинг-провайдеры лгут нам, установив обычный диск SATA с кэшированием или SAS вместо SSD. Можно проверить наличие и скорость SSD, выполнив простой тест:

dd if=/dev/zero of=sb-io-test bs=1M count=1k conv=fdatasync; rm -rf sb-io-test
 
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.01973 s, 532 MB/s

Это команда создает файл sb-io-test, в который записывает данные, а затем удаляет его. Это покажет вам скорость доступа к диску. Если вы найдете число ниже 150 МБ/с, убедитесь в технической поддержке, что это не SSD накопитель. Если значение ниже 50 МБ/с — это явно проблема с диском SATA.

Обычно я использую на серверах Debian или Ubuntu, поэтому команды будут приводиться для этих систем. Для остальных ОС буду приводить ссылки, если есть различия.

На начальном этапе у нас есть свежеустановленная операционная система на VPS/VDS и доступ по SSH. Логинимся на сервер под пользователем root.

1) Обновление операционной системы. Для Debian, Ubuntu рекомендую использовать встроенные менеджер пакетов APT, альтернатива Aptitude, dpkg.

# apt update
# apt list --upgradable
# apt upgrade

Добавим системные утилиты, которые всегда нужны, такие как: dig, nslookup, host, netstat:

# apt install lsb-release htop net-tools dnsutils

Команды также недоступны в минимальной установке RHEL 8, 7 и ее клонов, таких как CentOS 8 и 7, установим их:

yum install net-tools bind-utils
dnf install net-tools bind-utils

2) Настройка переменных локализации в Linux удаление локалей и локализаций, проверка языка консоли вашего VDS.

3) Настройка времени и часового пояса при помощи tzdata.

4) Имя сервера проверьте командой hostname с ключом f. Вы должны увидеть имя в формате FQDN (без точки в конце), например

# hostname -f
howchoosevps.cloud
Или
# hostnamectl
 Static hostname: howchoosevps.cloud
       Icon name: computer-vm
         Chassis: vm
      Machine ID: f8f82b20c1c04aed4783cde385c5bff8
         Boot ID: 3eb7123cd22647ee845196a258dab6ce
  Virtualization: kvm
Operating System: Ubuntu 22.04 LTS
          Kernel: Linux 5.15.0-27-generic
    Architecture: x86-64
 Hardware Vendor: Red Hat
  Hardware Model: KVM

Изменить имя сервера
sudo hostnamectl set-hostname mydomain

Если вы хотите установить почтовый сервер также проверьте обратную запись DNS. В самом простом случае достаточно чтобы ваш VPS был доступен по доменному имени.

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

6) Настройка брандмауэра (firewall, файрвол) в разных дистрибутивах отличается или же используются разные программные надстройки на ними:

  1. Для тех кто использует ufw
  2. Для FreeBSD штатный firewall ipfw, или Packet Filter Firewall (PF) межсетевой экран FreeBSD

7) Установка и использование лог-анализатора Logwatch

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

В этом разделе речь идет о роли сервера.

Я советую использовать одна задача - один сервер. Например если у вас сервер выполняет роль маршрутизатора не надо туда лепить веб-сервер для хостинга ваших сайтов. Ни к чему хорошему попытки на одном сервер запустить Zabbix сервер, VPN сервер и хостинг сайтов не приведет.

Итак роли в которых может выступать ваши виртуальные VPS/VDS:

Роли для выделенного сервера (Dedicated sever), предварительно ознакомитесь со статьей Теория: что такое виртуализация:

Обзор игрового хостинга Realms Hosting: Minecraft, RUST, Counter-Strike. PQ VPS сервера в 28+ странах.