108 lines
4.4 KiB
Markdown
108 lines
4.4 KiB
Markdown
# Сеть и доступ
|
|
|
|
## Сбор диагностики
|
|
|
|
До изменения 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 от приватного IP backend;
|
|
- TCP 4318 от приватного IP backend только если планируется 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. С backend доступны `192.168.0.5:4317` и при необходимости `:4318`.
|
|
5. В SigNoz появился свежий trace сервиса HAN Chat.
|
|
6. Все контейнеры имеют статус `running`, healthcheck — `healthy`.
|
|
7. Создан snapshot диска ВМ.
|
|
8. В облачной группе безопасности нет публичного доступа к служебным портам.
|