Перейти к содержанию

Восстановление сети после ошибочного изменения

Документ предназначен для случая, когда изменён .network-файл и виртуальная машина перестала отвечать по SSH.

Работайте через резервную консоль

Восстановление выполняют через консоль гипервизора, IPMI, KVM-over-IP либо серийную консоль облачной платформы. Не пытайтесь продолжать удалённую перенастройку через неработающий SSH-канал.

1. Установите причину

В консоли войдите локальной административной учётной записью и выполните:

ip -br link
ip -br address
ip -4 route
networkctl list
networkctl status
systemctl --failed
journalctl -u systemd-networkd -b -n 120 --no-pager

Запишите, что произошло: пропал интерфейс, не применился профиль, потерялся адрес, отсутствует маршрут либо трафик заблокирован iptables.

2. Проверьте конфигурационные файлы

ls -la /etc/systemd/network
find /etc/systemd/network -maxdepth 1 -name '*.network' -type f -print
networkctl status ens3

Посмотрите Network File для проблемного интерфейса. Если установился неправильный профиль, верните тот, который работал до изменения. Не удаляйте все файлы из /etc/systemd/network: там могут быть настроены другие интерфейсы, VLAN и маршруты.

3. Верните проверенную конфигурацию

Если ранее сохранили копию, восстановите конкретный .network и .netdev из неё, предварительно сверив содержимое. Уберите только созданный ошибочный файл, если он перекрывает прежнее правило сопоставления.

Затем:

sudo networkctl reload
sudo networkctl reconfigure ens3
networkctl status ens3
ip -br addr
ip -4 route

Проверяйте через консоль: корректный адрес, маршрут к шлюзу, DNS и возможность нового SSH-входа. Если проблема не в настройке адреса, переходите к iptables.

4. Проверьте firewall, не сбрасывая его

sudo iptables -S
sudo iptables -L INPUT -n -v --line-numbers
sudo iptables -L OUTPUT -n -v --line-numbers
sudo ip6tables -S
systemctl status iptables --no-pager

Не выполняйте iptables -F или безусловное изменение политик на ACCEPT: это удаляет защиту сервера и может нарушить правила Docker. Для восстановления лучше вернуть ранее сохранённый, проверенный набор правил согласно руководству по iptables.

5. Подтвердите восстановление

Из отдельной рабочей станции проверьте доступность SSH, подключитесь новым сеансом, затем перезагрузите сервер в согласованное окно и повторите проверки. Запишите причину сбоя и обновите инструкцию/шаблон конфигурации.

Профилактика: перед изменениями сохраняйте сетевые файлы и маршруты, держите внеполосную консоль и изменяйте по одному компоненту за раз.