Nder Work
Личный сайт об инфраструктуре, которой я пользуюсь сам: серверы, ключи, DNS. Ниже — короткие рабочие заметки, написанные в первую очередь для себя, но, возможно, полезные и вам.
Заметка · SSH
SSH-ключи: завести один раз и не думать
Парольный вход на сервер лучше отключить сразу, а вход оставить только по ключу. Современный формат — Ed25519: короткий ключ, быстрая проверка подписи, никаких параметров, которые можно выбрать неправильно.
ssh-keygen -t ed25519 -C "laptop-2026"
Ключ попадает в ~/.ssh/. Приватный файл — это секрет: права должны быть 600, каталог — 700, иначе sshd откажется его читать. Публичная часть копируется на сервер:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
Чтобы не вводить парольную фразу при каждом подключении, ключ добавляют в агент:
ssh-add ~/.ssh/id_ed25519
Приватный ключ не копируют на другие машины и не отправляют по почте. Для нового устройства заводят новый ключ — отозвать его потом проще, чем выяснять, где осела копия.
Заметка · DNS
DNS: чем A-запись отличается от AAAA
Доменное имя превращается в адрес через ресурсные записи. Две самые ходовые:
- A — имя указывает на адрес IPv4, например
203.0.113.10;
- AAAA — то же самое для IPv6, например
2001:db8::10.
Одно имя может иметь обе записи сразу — тогда клиент сам выбирает, по какой версии протокола идти. Если сервер слушает только IPv4, AAAA-запись создавать не нужно: лишняя запись приведёт часть клиентов по адресу, где никто не отвечает.
У каждой записи есть TTL — время, которое ответ может жить в кэше резолверов. Перед переездом сервера TTL имеет смысл заранее снизить, чтобы старый адрес разошёлся по кэшам быстрее.
Проверить, что реально отдаёт DNS, можно так:
dig A example.org +short
dig AAAA example.org +short
Заметка · Сеть
Проверка связности: что пинговать и в каком порядке
Когда «ничего не работает», причина локализуется за минуту, если идти по слоям снизу вверх:
- Линк и маршрут:
ping 1.1.1.1 — дошли ли вообще до внешнего адреса. Если тихо — проблема ниже DNS.
- DNS:
ping example.org — резолвится ли имя. Работает по IP, но не по имени — смотреть резолвер.
- Маршрут:
traceroute example.org — где именно обрывается путь.
- Порт и приложение:
nc -vz example.org 443 и curl -v https://example.org — отвечает ли сам сервис.
Порядок помогает сузить поиск, но отсутствие ответа на ping само по себе не доказывает недоступность сервера: ICMP может фильтроваться. Проверку нужного TCP-порта и самого приложения всё равно стоит выполнить.