# Чек-лист нового VPS: проверить до того, как пускать клиентов

> Хостер обещал гигабит, NVMe и чистый IP. Проверяем за полчаса, пока не поздно вернуть деньги.

Большинство проблем с VPS видно в первый же час: грязный IP, соседи, которые жрут CPU, «гигабит» на 80 мегабит и гео, которое считает твой немецкий сервер иранским. Проверь всё до того, как переносить туда прод и клиентов.

## 1. IP: репутация и гео

Открой [досье IP](/8.8.8.8), подставив адрес сервера, или из самого сервера:

```bash
curl host.pink/$(curl -s host.pink/ip)
```

На что смотреть:

- **Репутация и блоклисты.** Досье проверяет несколько DNSBL, блоклисты RIPEstat и не узел ли это Tor. Адрес в DNSBL значит, что с него уже жаловались на спам или абьюз. Почта с такого IP рискует попадать в спам.
- **Где.** GeoIP-базы часто ошибаются. Если сервер в Германии, а базы считают его российским или иранским, стриминги и часть сервисов будут вести себя соответственно.
- **Открытые порты и сервисы.** Это данные Shodan InternetDB, которые обновляются раз в неделю, то есть показывают, что было открыто на адресе при последних сканах. Для свежего сервера там может оказаться наследство прошлого арендатора адреса. Текущее состояние своих портов проверяй на самом сервере (`ss -tlnp`).
- **Карта связности.** Через кого сеть хостера выходит в мир: прямые апстримы по AS-путям RIPE RIS. Один апстрим — одна точка отказа.

## 2. Доступность из России

Если клиенты в РФ, это важнее всех бенчмарков:

```bash
curl "host.pink/check/203.0.113.10:443?t=tcp"
```

Смотри на пробы домашних провайдеров. Подсети некоторых хостеров целиком в немилости, и выяснять это после переезда обидно. Опыт сообщества по хостерам — в разделе [Хостинги](/baza/hosting/), а что делать, если не открывается, — в гайде [Сайт не открывается из РФ](/gaidy/sayt-ne-otkryvaetsya-iz-rf/).

## 3. Железо и соседи

```bash
systemd-detect-virt          # kvm — полноценная VM, openvz/lxc — контейнер, готовься к сюрпризам
nproc && free -h && df -h /
```

**CPU steal** показывает, сколько процессорного времени гипервизор отдал не тебе, а другим:

```bash
vmstat 1 5
```

Смотри на колонку `st`, первую строку пропускай: это среднее с момента загрузки. То же поле есть в `top` как `st` в строке `%Cpu(s)`. Ориентир, а не стандарт: около нуля — хорошо; если `st` стабильно держится на десятке процентов и выше, ядра, скорее всего, перепроданы, и быстро твоя нода работать не будет.

## 4. Бенчмарк одной командой

[YABS](https://github.com/masonr/yet-another-bench-script) гоняет диск (fio), сеть до нескольких точек (iperf3) и Geekbench:

```bash
curl -sL https://yabs.sh | bash -s -- -g
```

Флаг `-g` пропускает Geekbench, он долгий. Для ноды важнее диск и сеть. Сетевой тест забивает канал примерно на 20 секунд на каждую точку; если трафик тарифицируется, добавь `-r` (меньше точек iperf) или `-i` (без сети).

- **Диск.** fio гоняет случайное чтение и запись 50/50 блоками 4k, 64k, 512k и 1m. Смотри на 4k: это ближе всего к реальной нагрузке. Для сравнения, в примере из README YABS (выделенный сервер) 4k даёт около 400 МБ/с на чтение и столько же на запись. Если у тебя десятки МБ/с, диск на порядок медленнее, что бы ни писали на сайте.
- **Сеть.** Сравни обещанный канал с тем, что получилось до ближайших точек.

## 5. Канал до своих точек

Бенчмарк меряет до чужих серверов. Тебе важнее канал до своих мостов и клиентов:

```bash
iperf3 -s                    # на одном сервере (слушает TCP 5201)
iperf3 -c <адрес> -t 20 -P 4  # на другом: 20 секунд, 4 параллельных потока
iperf3 -c <адрес> -t 20 -P 4 -R   # и в обратную сторону: шлёт сервер
```

Порт 5201 на сервере с `iperf3 -s` должен быть открыт в файрволе.

Добавь TCP-пинг из разных точек: [host.pink/check/203.0.113.10?t=tcp](/check/203.0.113.10?t=tcp).

## 6. Базовая гигиена сразу

Пока сервер пустой, сделай то, что потом лень:

- [SSH без боли](/gaidy/ssh-bez-boli/): ключи, запрет паролей.
- [Файрвол на nftables](/gaidy/nftables-minimalnyy-fayrvol/).
- [sysctl для ноды](/gaidy/sysctl-dlya-nody/): BBR и буферы.

> [!TIP]
> У многих хостеров срок возврата денег короткий, а у некоторых его нет вовсе, так что проверь условия до оплаты. Прогони чек-лист сразу после оплаты, а не через неделю, когда клиенты начнут жаловаться.

Больше чекеров и бенчмарков, которыми пользуется сообщество (censorcheck, ipregion и компания): [Чекеры и бенчмарки](/baza/skripty/chekery/).

## Источники

- [systemd-detect-virt(1)](https://www.freedesktop.org/software/systemd/man/latest/systemd-detect-virt.html): значения `kvm`, `openvz`, `lxc` и другие
- [vmstat(8)](https://man7.org/linux/man-pages/man8/vmstat.8.html): колонка `st`, первая строка — среднее с загрузки; [top(1)](https://man7.org/linux/man-pages/man1/top.1.html): `st : time stolen from this vm by the hypervisor`
- [YABS README](https://github.com/masonr/yet-another-bench-script): команда запуска, флаги `-g`, `-i`, `-r`, состав тестов fio/iperf3/Geekbench, пример вывода
- [iperf3(1)](https://manpages.debian.org/bookworm/iperf3/iperf3.1.en.html): `-s`, `-c`, `-t`, `-P`, `-R`, порт 5201 по умолчанию
- [Shodan InternetDB](https://internetdb.shodan.io/): обновление раз в неделю; [ss(8)](https://man7.org/linux/man-pages/man8/ss.8.html): `-t`, `-l`, `-n`, `-p`

---
Источник: https://host.pink/gaidy/proverka-novogo-vps/
Лицензия: CC BY-SA 4.0
