Обновление 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