7.1 KiB
7.1 KiB
Развертывание BGP сервера на Ubuntu 24.04
Клонирование репозитория
1. Клонирование с веткой bird
# Клонирование репозитория с веткой bird
git clone -b bird <repository-url> bgp-server
# Переход в директорию проекта
cd bgp-server
2. Альтернативные способы клонирования
Если ветка bird существует:
# Клонирование с указанием ветки
git clone -b bird https://github.com/username/bgp-server.git
# Или клонирование и переключение на ветку
git clone https://github.com/username/bgp-server.git
cd bgp-server
git checkout bird
Если нужно создать ветку bird:
# Клонирование основного репозитория
git clone https://github.com/username/bgp-server.git
cd bgp-server
# Создание и переключение на ветку bird
git checkout -b bird
# Добавление всех файлов
git add .
# Коммит изменений
git commit -m "Initial BGP server implementation"
# Отправка ветки на сервер
git push origin bird
3. Проверка клонирования
# Проверка текущей ветки
git branch
# Проверка содержимого
ls -la
# Проверка статуса git
git status
Установка на сервере
1. Подготовка системы
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка необходимых пакетов
sudo apt install -y python3 python3-pip git curl wget
2. Клонирование и установка
# Клонирование репозитория (замените на ваш URL)
git clone -b bird https://github.com/username/bgp-server.git
cd bgp-server
# Проверка файлов
ls -la
# Сделать скрипт установки исполняемым
chmod +x install.sh
# Запуск установки
sudo ./install.sh
3. Настройка после установки
# Настройка IP адреса и ASN
sudo nano /etc/bird/bird.conf
# Измените:
# router id YOUR_SERVER_IP;
# local as YOUR_ASN;
# Настройка префиксов
sudo nano /opt/bgp-server/data/prefixes.txt
# Добавьте ваши префиксы
# Загрузка префиксов
python3 /opt/bgp-server/scripts/load_prefixes.py
# Проверка статуса
python3 /opt/bgp-server/scripts/monitor.py
Примеры команд для разных репозиториев
GitHub
git clone -b bird https://github.com/username/bgp-server.git
GitLab
git clone -b bird https://gitlab.com/username/bgp-server.git
Bitbucket
git clone -b bird https://bitbucket.org/username/bgp-server.git
SSH (если настроен ключ)
git clone -b bird [email protected]:username/bgp-server.git
Автоматическое развертывание
Скрипт автоматического развертывания
Создайте файл deploy.sh:
#!/bin/bash
# Автоматическое развертывание BGP сервера
REPO_URL="https://github.com/username/bgp-server.git"
BRANCH="bird"
INSTALL_DIR="/opt/bgp-server-deploy"
echo "Начинаем развертывание BGP сервера..."
# Создание директории
sudo mkdir -p $INSTALL_DIR
cd $INSTALL_DIR
# Клонирование репозитория
echo "Клонирование репозитория..."
git clone -b $BRANCH $REPO_URL .
# Проверка успешности клонирования
if [ $? -eq 0 ]; then
echo "Репозиторий успешно клонирован"
# Запуск установки
chmod +x install.sh
sudo ./install.sh
else
echo "Ошибка при клонировании репозитория"
exit 1
fi
Использование скрипта развертывания
# Создание скрипта
nano deploy.sh
# Сделать исполняемым
chmod +x deploy.sh
# Запуск
./deploy.sh
Проверка установки
1. Проверка сервисов
# Статус BIRD сервисов
sudo systemctl status bird bird6
# Проверка портов
sudo netstat -tlnp | grep :179
# Проверка процессов
ps aux | grep bird
2. Проверка конфигурации
# Проверка синтаксиса конфигурации
sudo birdc -p /etc/bird/bird.conf
sudo bird6c -p /etc/bird/bird6.conf
# Проверка протоколов
sudo birdc show protocols
3. Проверка префиксов
# Загрузка префиксов
python3 /opt/bgp-server/scripts/load_prefixes.py
# Проверка маршрутов
sudo birdc show routes
Troubleshooting
Проблема: Не удается клонировать репозиторий
# Проверка подключения к интернету
ping -c 3 github.com
# Проверка git
git --version
# Очистка кэша git
git config --global credential.helper cache
Проблема: Ветка bird не найдена
# Просмотр доступных веток
git branch -r
# Клонирование без указания ветки
git clone https://github.com/username/bgp-server.git
cd bgp-server
# Создание локальной ветки
git checkout -b bird origin/main
Проблема: Нет прав доступа
# Настройка SSH ключей (если используете SSH)
ssh-keygen -t rsa -b 4096 -C "[email protected]"
cat ~/.ssh/id_rsa.pub
# Добавьте ключ в настройки GitHub/GitLab
# Или используйте HTTPS с токеном
git clone https://username:[email protected]/username/bgp-server.git
Обновление репозитория
Обновление кода
# Переход в директорию проекта
cd /path/to/bgp-server
# Получение обновлений
git fetch origin
# Переключение на ветку bird
git checkout bird
# Обновление кода
git pull origin bird
# Перезапуск сервисов (если нужно)
sudo systemctl restart bird bird6
Автоматическое обновление
Создайте cron задачу для автоматического обновления:
# Редактирование crontab
crontab -e
# Добавление задачи (обновление каждый день в 2:00)
0 2 * * * cd /opt/bgp-server && git pull origin bird && sudo systemctl restart bird bird6
Готово! Теперь у вас есть полные инструкции по клонированию и развертыванию BGP сервера. 🚀