Обновление DosGate
При обновлении возможны перебои в обработке трафика. Рекомендуется перенаправить трафик с DosGate перед обновлением.
В случае неудачного обновления возможно восстановление предыдущей версии.
Инструкция по обновлению
Все команды CLI в данной инструкции следует выполнять от имени суперпользователя, используя
команду su -с
, или sudo
если он установлен и настроен.
1. Остановить маршрутизацию трафика через DosGate.
Например, при использовании BGP и bird выполнить команду:
systemctl stop bird bird6
2. Остановить DosGate.
systemctl stop dosgate
3. Сохранить текущее состояние.
dgadm --backup='dgbackup_$(date +"%FT%H%M")'
4. Подготовить систему к обновлению. Дополнительные параметры ключа dgadm предоставляет вендор при передаче обновления.
dgadm --batch=uh -y
ip link set dev **интерфейс_dosgate** xdp off
rm -rf /sys/fs/bpf/dosgate
5. Установить обновления.
Установить переданные вендором пакеты:
apt-get install dosgate=<version>
6. Обновить конфигурацию dosgate.service. Открыть для редактировани файл dosgate.service:
nano /usr/lib/systemd/system/dosgate.service
В строке:
ExecStart=dosgate -f
Заменить на:
ExecStart=dosgate -f -l crit
7. Запустить Dosgate в однократном режиме для проверки ошибок.
dosgate -o -l err
8. Запустить Dosgate.
systemctl start dosgate
9. Проверить статус Dosgate.
systemctl status dosgate
10. Восстановить маршрутизацию трафика через Dosgate.
Например, при использовании BGP и bird выполнить команду:
systemctl start bird bird6
Откат к предыдущей версии
1. Остановить маршрутизацию трафика через DosGate.
Например, при использовании BGP и bird выполнить команду:
systemctl stop bird bird6
2. Остановить Dosgate.
systemctl stop dosgate
3. Подготовить систему к откату.
dgadm --batch=uh -y
ip link set dev **интерфейс_dosgate** xdp off
rm -rf /sys/fs/bpf/dosgate
4. Установить предыдущую версию пакетов.
apt-get install dosgate=<old version>
5. Восстановить сохраненное состояние.
dgadm --restore=dgbackupname
6. Обновить конфигурацию dosgate.service. Открыть для редактировани файл dosgate.service:
nano /lib/systemd/system/dosgate.service
В строке:
ExecStart=dosgate -f
Заменить на:
ExecStart=dosgate -f -l crit
7. Запустить DosGate в однократном режиме для проверки ошибок.
dosgate -o -l err
8. Запустить DosGate.
systemctl start dosgate
9. Проверить статус DosGate.
systemctl status dosgate