QUAGGA — Протоколы динамической маршрутизации.

Установка, настройка, эксплуатация.

Модератор: ROOT

QUAGGA — Протоколы динамической маршрутизации.

Сообщение ROOT » 14 окт 2017, 18:23

Оглавление


Темы
 QUAGGA — Протоколы динамической маршрутизации 
 Настройка 
 Список некоторых протоколов транспортирного уровня 
Дополнительные материалы
Wake on Lan: Удалённое включение компьютера
Синхронизация времени
OpenVPN: Открытая виртуальная частная сеть
BIND — DNS-сервер
ISCSI — Транспортный протокол для SCSI
Dnscrypt — Проксирование dns-трафика


 QUAGGA — Протоколы динамической маршрутизации 
Quagga — пакет свободного программного обеспечения, поддерживающий протоколы динамической маршрутизации IP. Компьютер с установленным и сконфигурированным пакетом Quagga становится способен использовать любые из нижеследующих протоколов динамической маршрутизации:

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).

Каждый протокол маршрутизации обслуживается отдельным демоном, с последующим формированием таблиц маршрутизации. Одновременно работать могут несколько разных демонов в сообществе с управляющим демоном zebra.

  1. ripd — демон обрабатывает протокол RIP для IPv4
  2. ripngd — демон обрабатывает протокол RIP для IPv6
  3. ospfd — демон, который поддерживает OSPF v2 для IPv4
  4. ospf6d — демон, который поддерживает OSPF v3 для IPv6
  5. isisd — демон, который поддерживает ISIS
  6. bgpd — поддерживает протокол BGP-4.
  7. zebra — демон служащий для формирования таблицы маршрутизации и перераспределения маршрутов между различными протоколами.

1) Устанавливаем QUAGGA
Код: выделить все
dnf install quagga


2) Правим и включаем сервис zebra в автоматическую загрузку
Код: выделить все
cp /usr/lib/systemd/system/{zebra,ospfd,bgpd}.service /etc/systemd/system/

меняем значение директивы After, добавляем Requires и комментируем или удаляем строку с директивой Wants и Before:
e /etc/systemd/system/zebra.service
Код: выделить все
#Wants=network.target
#Before=network.target
Requires=NetworkManager-wait-online.service
After=network.target NetworkManager-wait-online.service

А а ospfd.service и bgpd.service приводим к виду директиву After и комментируем или удаляем строку с директивой Before
Код: выделить все
After=zebra.service
#Before=network.target

и активируем автоматический запуск сервиса zebra, а так же нужных протоколов динамической маршрутизации
Код: выделить все
systemctl enable zebra.service
systemctl enable bgpd.service
systemctl enable ospfd.service

3) Копируем заготовленный конфигурационный файл для ospfd в /etc/quagga/, который поставляется вместе с пакетом QUAGGA
Код: выделить все
cp /usr/share/doc/quagga-*/ospfd.conf.sample /etc/quagga/ospfd.conf

Так же по пути /usr/share/doc/quagga-*/ доступны следующие заготовки конфигурационных файлов
Код: выделить все
babeld.conf.sample ospf6d.conf.sample  zebra.conf.sample
bgpd.conf.sample   ospfd.conf.sample   ripd.conf.sample


4) Устанавливаем права пользователю quagga на скопированные конфигурационные файлы
Код: выделить все
chown quagga:quagga /etc/quagga/bgpd.conf && chmod 640 /etc/quagga/bgpd.conf
chown quagga:quagga /etc/quagga/isisd.conf && chmod 640 /etc/quagga/isisd.conf
chown quagga:quagga /etc/quagga/ospf6d.conf && chmod 640 /etc/quagga/ospf6d.conf
chown quagga:quagga /etc/quagga/ospfd.conf && chmod 640 /etc/quagga/ospfd.conf
chown quagga:quagga /etc/quagga/pimd.conf && chmod 640 /etc/quagga/pimd.conf
chown quagga:quagga /etc/quagga/ripd.conf && chmod 640 /etc/quagga/ripd.conf
chown quagga:quagga /etc/quagga/ripngd.conf && chmod 640 /etc/quagga/ripngd.conf
chown quagga:quaggavt /etc/quagga/vtysh.conf && chmod 660 /etc/quagga/vtysh.conf
chown quagga:quagga /etc/quagga/zebra.conf && chmod 640 /etc/quagga/zebra.conf

Для возможности сохранения конфигурации в vtysh. В прочим как и следующий пункт (для включенного SElinux)
5) Включаем политику 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/quagga/zebra.conf.I7FcD2.
Can't open configuration file /etc/quagga/ospfd.conf.gTaOz2.
Can't open configuration file /etc/quagga/bgpd.conf.nn5Cs2.

6) Для того чтобы quagga поднимала нужные протоколы динамической маршрутизации их нужно выбрать, отредактировав файл /etc/sysconfig/quagga и оставить только нужный список сервисов в строке
Код: выделить все
WATCH_DAEMONS="zebra bgpd ospfd"

Так же в этом файле задаётся пользователь и группа от имени которых будут работать сервисы quagga и консоль vtysh
На более новых версиях quagga для этой цели может использоваться файл /etc/quagga/daemons
Код: выделить все
zebra=yes
bgpd=yes
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
isisd=no
babeld=no

7) Включаем 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 и не может быть выключен.


 Настройка 
Утилита управления интерфейсами и протоколами маршрутизации vtysh представляет собой аналогичную BASH командную оболочку. Применяемые команды для конфигурирования протоколов маршрутизации и интерфейсов аналогичны командам применяемым при настройке оборудования CISCO.

Команда назначения IP на интерфейс с другим адресом добавляет его а не заменяет старый
Код: выделить все
ip address

Просмотр информации о соседях ospf/bgp
Код: выделить все
show ip ospf neighbors
show ip bgp neighbors

Суммарная информация о BGP локальная AS и Neighbors в табличном виде
Код: выделить все
show ip bgp summary


Проверка Доступности соединения с демонами quagga
Код: выделить все
telnet localhost ospfd

- ospf daemon,

Код: выделить все
telnet localhost zebra

- zebra daemon,

Код: выделить все
telnet localhost bgpd

- bgpd daemon


Протоколы динамической маршрутизации BGP и RIP используют в качестве транспорта IP и за ними закреплены следующие порта
Для BGP используется 179 порт TCP, а для RIP 520 порт UDP.

Пример правила iptables для OSPF
Код: выделить все
iptables -A INPUT -p 89 -j ACCEPT

Пример разрешающего правила для протокола OSPF на firewalld
Код: выделить все
firewall-cmd --add-protocol=ospf --permanent --zone=FedoraServer
firewall-cmd --reload



 Список некоторых протоколов транспортирного уровня 
№ ПротоколаСокращениеПротоколОписание
0HOPOPTIPv6 Hop-by-Hop Option
1ICMPInternet Control Message ProtocolПротокол управляющих сообщений, используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, а также выполняет некоторые сервисные функции.
2IGMPInternet Group Management ProtocolПротокол управления групповой передачей данных.
3GGPGateway-to-Gateway Protocol
4IPv4IPv4 (инкапсуляция)
6TCPTransmission Control ProtocolПротокол управления передачей, осуществляет надёжную, упорядоченную доставку данных.
8EGPExterior Gateway ProtocolПротокол обмена информации между маршрутизаторами нескольких автономных систем.
9IGPInterior Gateway ProtocolЛюбой частный протокол внутридоменной маршрутизации.
17UDPUser Datagram ProtocolПротокол пользовательских датаграмм, передача данных без установления соединения.
27RDPReliable Datagram ProtocolПротокол надежной передачи данных между пакетно-ориентированными приложениями.
41IPv6IPv6 (инкапсуляция)
43IPv6-RouteRouting Header for IPv6
44IPv6-FragFragment Header for IPv6
46RSVPResource Reservation ProtocolПротокол резервирования сетевых ресурсов. Сообщает маршрутизаторам сети потребностей конечных узлов по качеству обслуживания.
47GREGeneric Routing EncapsulationПротокол туннелирования сетевых пакетов. Инкапсулирует пакеты сетевого уровня в IP пакеты.
50ESPEncapsulating Security PayloadНабор протоколов IPsec, обеспечивающих защиту данных. Позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов.
56TLSPTransport Layer Security Protocol (с использованием ключей Kryptonet)Криптографический протокол, обеспечивающий защищённую передачу данных.
57SKIPSimple Key-Management for Internet ProtocolПротокол обмена ключами шифрования.
58IPv6-ICMPICMP for IPv6Протокол управляющих сообщений для IPv6.
59IPv6-NoNxtNo Next Header for IPv6
60IPv6-OptsDestination Options for IPv6
75PVPPacket Video Protocol
80ISO-IPnternational Organization for Standardization Internet Protocol
81VMTPVersatile Message Transaction Protocol
82SECURE-VMTPSecure Versatile Message Transaction Protocol
88EIGRPEIGRPПротокол маршрутизации, разработанный фирмой Cisco.
89OSPFOpen Shortest Path FirstПротокол динамической маршрутизации, основанный на технологии отслеживания состояния канала и использующий для нахождения кратчайшего пути Алгоритм Дейкстры.
94IPIPIP-within-IP Encapsulation Protocol
97ETHERIPEthernet-within-IP Encapsulation
111IPX-in-IPIPX in IP
112VRRPVirtual Router Redundancy ProtocolПротокол объединения группы маршрутизаторов в один виртуальный маршрутизатор и назначения им общего IP-адреса.
124IS-IS over IPv4Протокол внутридоменной маршрутизации.
133FCFibre ChannelСемейство протоколов для высокоскоростной передачи данных.
137MPLS-in-IPПротокол многопротокольной коммутации по меткам, осуществляет высокопроизводительную передачу данных между узлами сети при помощи меток.
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 145
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron