Проект разделен на два репозитория
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
# Сеть и доступ
|
||||
|
||||
## Сбор диагностики
|
||||
|
||||
До изменения Netplan выполните и сохраните вывод:
|
||||
|
||||
```bash
|
||||
ip -br link
|
||||
ip -br -4 address
|
||||
ip -4 route
|
||||
ip -4 rule
|
||||
sudo netplan get
|
||||
sudo netplan status --all 2>&1 || true
|
||||
sudo ls -la /etc/netplan
|
||||
sudo sh -c 'for f in /etc/netplan/*.yaml; do echo "--- $f"; cat "$f"; done'
|
||||
systemctl is-active systemd-networkd NetworkManager
|
||||
networkctl list 2>&1 || true
|
||||
networkctl status 2>&1 || true
|
||||
grep -RniE 'network:|network-config|disable_network_config' \
|
||||
/etc/cloud/cloud.cfg /etc/cloud/cloud.cfg.d 2>/dev/null || true
|
||||
```
|
||||
|
||||
Диагностика этой VM показала:
|
||||
|
||||
- публичный интерфейс `eth0`, `135.106.166.7/24`, default gateway
|
||||
`135.106.166.1`;
|
||||
- приватный интерфейс `eth1`, MAC `fa:16:3e:b6:c6:70`, изначально
|
||||
`DOWN/unmanaged`;
|
||||
- приватный адрес VM — `192.168.0.5/24`.
|
||||
|
||||
Для `eth1` не нужен gateway: узлы `192.168.0.0/24` доступны connected route.
|
||||
Default route должен остаться только на `eth0`.
|
||||
|
||||
## Настройка приватного интерфейса
|
||||
|
||||
Используйте подготовленный скрипт:
|
||||
|
||||
```bash
|
||||
cd /opt/signoz
|
||||
sudo ./scripts/05-configure-private-network.sh
|
||||
```
|
||||
|
||||
Он создаёт отдельный `/etc/netplan/60-signoz-private.yaml`, проверяет MAC,
|
||||
выполняет `netplan generate` и запускает `netplan try --timeout 120`. Файл
|
||||
`50-cloud-init.yaml` не изменяется: cloud-init продолжает управлять публичным
|
||||
`eth0`, а отдельный файл сохраняет конфигурацию `eth1`.
|
||||
|
||||
Пока `netplan try` ожидает подтверждения:
|
||||
|
||||
```bash
|
||||
ip -br -4 address show eth1
|
||||
ip route get 192.168.0.1
|
||||
ping -c 3 192.168.0.1
|
||||
```
|
||||
|
||||
С другой VM приватной сети проверьте:
|
||||
|
||||
```bash
|
||||
ping -c 3 192.168.0.5
|
||||
ssh -i ~/.ssh/hansel-private root@192.168.0.5
|
||||
```
|
||||
|
||||
Если новая SSH-сессия работает, вернитесь в первую и подтвердите Netplan
|
||||
клавишей Enter. Если нет — не подтверждайте: через 120 секунд произойдёт откат.
|
||||
Отсутствие ответа на ping само по себе может означать запрет ICMP; SSH является
|
||||
основной проверкой.
|
||||
|
||||
## Группа безопасности
|
||||
|
||||
Минимальные входящие правила для VM SigNoz:
|
||||
|
||||
- TCP 22 от административного узла/подсети приватной сети;
|
||||
- TCP 4317 от security groups/private IP ВМ1 и ВМ2;
|
||||
- TCP 4318 от ВМ1/ВМ2 только если планируется OTLP/HTTP;
|
||||
- никаких входящих правил для 8080, 5432, 8123, 9000, 9181.
|
||||
|
||||
Для текущего backend используется OTLP/gRPC, поэтому после проверки 4318 можно
|
||||
закрыть. Исходящий доступ к приватной сети оставьте. Для обновления временно
|
||||
разрешайте HTTPS/DNS наружу или используйте внутренний registry/proxy.
|
||||
|
||||
## Доступ к UI
|
||||
|
||||
UI слушает только `127.0.0.1:8080` на VM SigNoz.
|
||||
|
||||
Через доступный jump host:
|
||||
|
||||
```powershell
|
||||
ssh -i C:\Users\MI\.ssh\hansel `
|
||||
-J root@<JUMP_PUBLIC_IP> `
|
||||
-L 8080:127.0.0.1:8080 `
|
||||
root@192.168.0.5 -N
|
||||
```
|
||||
|
||||
Если ключи jump host и SigNoz различаются, удобнее добавить оба узла в
|
||||
`~/.ssh/config`. После запуска туннеля откройте
|
||||
`http://127.0.0.1:8080`.
|
||||
|
||||
## Проверки перед удалением внешнего IP
|
||||
|
||||
1. Новая SSH-сессия к `192.168.0.5` через jump host открывается.
|
||||
2. Туннель показывает UI SigNoz.
|
||||
3. `scripts/30-verify-signoz.sh` проходит без ошибок.
|
||||
4. С ВМ1 и ВМ2 доступны `192.168.0.5:4317` и при необходимости `:4318`.
|
||||
5. В SigNoz появился свежий trace сервиса HAN Chat.
|
||||
6. Все контейнеры имеют статус `running`, healthcheck — `healthy`.
|
||||
7. Создан snapshot диска ВМ.
|
||||
8. В облачной группе безопасности нет публичного доступа к служебным портам.
|
||||
Reference in New Issue
Block a user