Темы
Протоколы динамической маршрутизации
Настройка
Список некоторых протоколов транспортирного уровня
Пример конфигурации
Дополнительные материалы
Wake on Lan: Удалённое включение компьютера
Синхронизация времени
OpenVPN: Открытая виртуальная частная сеть
WireGuard - VPN нового поколения
BIND — DNS-сервер
ISCSI — Транспортный протокол для SCSI
Dnscrypt — Проксирование dns-трафика
Протоколы динамической маршрутизации
FRR — пакет свободного программного обеспечения, поддерживающий протоколы динамической маршрутизации IP. Компьютер с установленным и сконфигурированным пакетом FRR становится способен использовать любые из нижеследующих протоколов динамической маршрутизации:
- Routing Information Protocol (RIP): v1, v2, v3;
- Open Shortest Path First (OSPF): v2, v3;
- Border Gateway Protocol (BGP): v4;
- Intermediate System to Intermediate System (IS-IS);
- Protocol Independent Multicast (PIM, только PIM-SSM)
- Labed Distribution Protocol (LDP)
- Bidirectional Forwarding Detection (BFD)
- Policy-based Routing (PBR)
- Virtual Router Redundancy Protocol (VRRP)
- OpenFabric — Протокол маршрутизации, созданный на основе IS-IS
- Babel
- ripd — демон обрабатывает протокол RIP для IPv4
- ripngd — демон обрабатывает протокол RIP для IPv6
- ospfd — демон, который поддерживает OSPF v2 для IPv4
- ospf6d — демон, который поддерживает OSPF v3 для IPv6
- isisd — демон, который поддерживает ISIS
- bgpd — поддерживает протокол BGP-4
- zebra — демон служащий для формирования таблицы маршрутизации и перераспределения маршрутов между различными протоколами.
1) Устанавливаем FRR
- Код: выделить все
dnf install frr
2) Активируем автоматический запуск сервиса FRR, а так же нужных протоколов динамической маршрутизации
- Код: выделить все
systemctl enable --now frr.service
2) Включаем политику SElinux
- Код: выделить все
setsebool -P zebra_write_config 1
Для проверки установленного значения используем команду
- Код: выделить все
getsebool zebra_write_config
При отключенной политики SElinux наблюдаются проблемы с доступом к файлам конфигурации из утилиты настройки vtysh
- Код: выделить все
srv.google.loc# wr
Building Configuration...
Can't open configuration file /etc/frr/zebra.conf.I7FcD2.
Can't open configuration file /etc/frr/ospfd.conf.gTaOz2.
Can't open configuration file /etc/frr/bgpd.conf.nn5Cs2.
3) Для того чтобы сервис FRR поднимал нужные протоколы динамической маршрутизации их нужно выбрать. Отредактируйте файл /etc/frr/daemons, изменив значение "no" у нужных Вам сервисов на "yes"
На более новых версиях quagga для этой цели может использоваться файл /etc/frr/daemons
- Код: выделить все
bgpd=yes
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
pim6d=no
nhrpd=no
eigrpd=no
sharpd=no
pbrd=no
bfdd=no
fabricd=no
vrrpd=no
pathd=no
...
vtysh_enable=yes
zebra_options=" -A 127.0.0.1 -s 90000000"
...
MAX_FDS=1024
...
4) Включаем IPv4 Unicast Forwarding:
- Код: выделить все
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.forwarding=1" >> /etc/sysctl.conf
Включаем IPv4 Multicast Forwarding:
- Код: выделить все
echo "net.ipv4.conf.all.mc_forwarding=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.mc_forwarding=1" >> /etc/sysctl.conf
sysctl -p
Включаем IPv6 Unicast Forwarding:
?????
- Код: выделить все
sed 's/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=1/g' /etc/sysctl.conf >> /etc/sysctl.conf
echo "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.conf
sysctl -p
Данная команда включает не маршрутизацию, а возможность принимать чужие пакеты (пакеты адресующиеся другому хосту) Сам механизм маршрутизации является неотъемлемой частью стека протокола TCP/IP и не может быть выключен.