BGP на FreeBSD: Настройка маршрутизации с BIRD2 на Vultr
Настройка BGP (Border Gateway Protocol) на Vultr — это переход на «высший пилотаж» в управлении сетью. Это позволяет вам анонсировать собственные IP-префиксы или использовать Anycast для отказоустойчивости.
BGP — это протокол, который связывает интернет воедино. Для обычного пользователя это звучит сложно, но для нас это инструмент, позволяющий управлять своим сетевым пространством. На Vultr вы можете использовать BGP для анонсирования своих IP-адресов или создания отказоустойчивых систем.
В этой статье мы разберем, как установить и настроить BIRD2 на FreeBSD для работы с BGP сессией от Vultr.
Подготовка: Включаем BGP в панели Vultr
Перед тем как лезть в консоль, необходимо подготовить «землю»:
- Зайдите в панель управления Vultr.
- Перейдите в раздел Settings -> BGP.
- Нажмите кнопку Enable BGP.
- Там же вы найдете свои данные: Your ASN, Vultr Neighbor IP и BGP Password. Эти данные нам понадобятся для конфига.
Шаг 1: Установка BIRD2
На FreeBSD BIRD2 ставится из портов или пакетов. Мы выберем пакеты для скорости:
Bash
pkg update
pkg install bird2
Добавим службу в автозагрузку:
Bash
sysrc bird_enable="YES"
Шаг 2: Настройка BIRD2 (bird.conf)
Конфигурация BIRD2 существенно отличается от первой версии. Основной файл находится по адресу /usr/local/etc/bird.conf.
Очистите файл и приведите его к следующему виду (подставьте свои данные из панели Vultr):
Фрагмент кода
# Лог и идентификатор сервера
log syslog all;
router id <ВАШ_ВНЕШНИЙ_IP>;
# Протокол Device сканирует интерфейсы системы
protocol device {
scan time 10;
}
# Протокол Direct импортирует маршруты напрямую подключенных сетей
protocol direct {
ipv4;
interface "vtnet*";
}
# Протокол Kernel управляет таблицей маршрутизации FreeBSD
protocol kernel {
ipv4 {
export all; # Отправлять маршруты из BIRD в ядро ОС
import none; # Не забирать системные маршруты в BIRD
};
learn;
}
# Описание BGP сессии с Vultr
protocol bgp vultr {
description "Vultr BGP Peer";
local as <ВАШ_ASN>;
neighbor <VULTR_NEIGHBOR_IP> as 64512; # 64512 - стандартный ASN Vultr
password "<ВАШ_BGP_PASSWORD>";
ipv4 {
import all; # Принимать маршруты от Vultr (Default Route)
export all; # Анонсировать свои маршруты
};
}
Шаг 3: Настройка системы
Чтобы BGP маршруты корректно работали, убедитесь, что в /etc/rc.conf включен форвардинг (как мы делали для VPN):
Bash
sysrc gateway_enable="YES"
sysctl net.inet.ip.forwarding=1
Шаг 4: Запуск и проверка
Запускаем BIRD2:
Bash
service bird start
Теперь самое интересное — проверка статуса сессии. Используйте встроенную утилиту birdc:
Bash
birdc show protocols
Если в колонке State вы видите Established, поздравляю — ваша BGP сессия в воздухе!
Для детальной проверки анонсов:
Bash
birdc show route protocol vultr
Зачем это пилоту и трейдеру?
- Anycast: Вы можете развернуть два VPS (например, в Европе и Сингапуре) с одним и тем же IP. Пользователь автоматически попадет на ближайший сервер.
- Свой IP-ресурс: Если у вас есть своя сеть (/24), вы можете "перевозить" её от провайдера к провайдеру, не меняя настройки своих скриптов и торговых терминалов.
- Гибкость: Вы сами решаете, куда пойдет ваш трафик, что особенно полезно при работе из мест со сложной топологией сети, таких как Ирак.
Clear skies and stable routes!
Member discussion