Поиск по сайту:

Как настроить сервер BGP Looking Glass на CentOS


В этом руководстве описывается, как настроить сервер BGP Looking Glass на CentOS. Для тех из вас, кто плохо знаком с концепцией BGP и Looking Glass, давайте начнем с введения. Если вы знакомы с BGP, пропустите его.

Что такое протокол пограничного шлюза (BGP)?

BGP буквально является основой маршрутизации Интернета. Как мы все знаем, Интернет состоит из миллионов взаимосвязанных сетей. В телекоммуникационной отрасли эти миллионы отдельных сетей называются автономными системами (AS). Каждая AS управляется одним административным доменом (например, одной организацией или интернет-провайдером) с собственным уникальным номером AS и пулами IP-адресов, также известными как префиксы IP. Номер AS может быть частным (т. е. невидимым для всех), как и пулы IP-адресов. Например, когда несколько филиалов одной компании соединяются между собой, они могут использовать частный номер AS и префикс IP для каждого филиала. Сети, которые хотят использовать общедоступный номер AS и публично маршрутизируемые IP-адреса, должны подать заявку на их использование в региональном интернет-реестре (RIR), таком как ARIN, APNIC, RIPE. RIR присваивает этой сети уникальный номер AS и префикс(ы) IP.

BGP — это стандартный отраслевой протокол междоменной маршрутизации, используемый для соединения различных AS. Все IP-префиксы, известные одной AS, совместно используются соседними AS, таким образом заполняя таблицы маршрутизации BGP их граничных маршрутизаторов. Интернет формируется такими взаимосвязями между миллионами общедоступных AS через BGP. Итак, еще раз заявив, что BGP — это, по сути, основа маршрутизации Интернета.

Что такое Зазеркалье?

Looking Glass (LG) — это веб-инструмент, который помогает сетевым операторам анализировать, как трафик направляется в конкретную AS и из нее. Таблица маршрутизации BGP для AS зависит от того, с какими другими AS она связана. Чтобы быть более конкретным, префиксы IP, полученные от соседних AS, будут заполнять локальную таблицу маршрутизации BGP, которая будет использоваться локальной AS для принятия решений о маршрутизации.

Теперь предположим, что для устранения неполадок, связанных с маршрутизацией или сетевой задержкой, мы хотим запустить ping или traceroute из удаленной AS. Естественно, у нас нет доступа к их оборудованию, поэтому проведение теста из удаленных мест невозможно. Однако администраторы удаленной AS могут настроить сервер Looking Glass с веб-интерфейсом, который позволит любому пользователю выполнять определенные команды, такие как ping, traceroute или получить доступ к информации о маршрутизации BGP удаленной AS без входа в свои маршрутизаторы. Эти тесты дают полезную информацию при устранении неполадок в сети, поскольку зондирование ping или traceroute может выполняться из сетей другой AS.

Настройка BGP Looking Glass на CentOS

Прежде чем мы начнем, убедитесь, что SELinux и брандмауэр настроены на разрешение необходимых служб и портов, таких как 23, 2601, 2605, 80.

В первую очередь устанавливаются зависимости. Рекомендуется использовать репозиторий Reporforge.


 yum install wget  perl-Net-Telnet perl-Net-Telnet-Cisco perl-XML-Parser httpd

Зеркало будет настроено с помощью LG. Необходимое программное обеспечение загружается и извлекается. Также создается директория, в которой будет храниться сайт.


 cd /root
 wget http://www.version6.net/lg/lg-1.9.tar.gz
 tar zxvf lg-1.9.tar.gz
 mkdir /var/www/html/lg

Теперь, когда все файлы извлечены, они копируются в каталог веб-сервера. Также устанавливаются необходимые разрешения.


 cd /var/www/html/lg
 cp /root/lg-1.9/lg.cgi . 
 cp /root/lg-1.9/favicon.ico .
 cp /root/lg-1.9/lg.conf  .

Все файлы должны быть доступны для чтения.


 chmod 644 *

Сценарий lg.cgi должен быть исполняемым.


 chmod 755 lg.cgi

Настройка веб-сервера

Файл index.html создается для LG с необходимым перенаправлением.


 vim /var/www/html/index.html

Если для сервера Looking Glass настроен DNS:


<html>
<head>
<meta http-equiv="refresh" content="0;url=http://lg.example.tst/lg/lg.cgi">
</head>
</html>

Без ДНС:


<html>
<head>
<meta http-equiv="refresh" content="0;url=http://IP/lg.cgi">
</head>
</html>

На веб-сервере изменяются следующие параметры.


 vim /etc/httpd/conf/httpd.conf

## The favicon path and the cgi script paths are defined ##
Alias /lg/favicon.ico "/var/www/html/lg/favicon.ico"
ScriptAlias /lg "/var/www/html/lg/lg.cgi"

Служба httpd запускается и добавляется в список автозагрузки.


 service httpd start
 chkconfig httpd on

Добавление маршрутизаторов в Зазеркалье

LG поддерживает маршрутизаторы Cisco, Juniper и Linux Quagga. Все маршрутизаторы добавляются в /var/www/html/lg/lg.conf. Обратите внимание, что требуемый пароль маршрутизатора — это пароль для удаленного входа в систему, а не привилегированный пароль EXEC, также известный как пароль enable.


 vim /var/www/html/lg/lg.conf

<!-- Router Section  -->
<Separator>Sample Routers</Separator>

<Router Name="Router-A">
<Title>Router-A</Title>
<URL>telnet://login:[email </URL>
<!--EXAMPLE   <URL>telnet://login:[email </URL> -->
</Router>

<Router Name="Router-B">
<Title>Router-B</Title>
<URL>telnet://login:[email </URL>
</Router>

Зазеркалье теперь готово с минимальной конфигурацией. Доступ к нему можно получить, введя http:// или http://lg.example.tst в веб-браузере.

Вот скриншот свежего Зазеркалья.

Подготовка для IPv6

Подготовить Зазеркалье к IPv6 также просто. Следующие строки изменены.


 vim /var/www/html/lg/lg.cgi

## $ipv4enabled-- is replaced with $ipv4enabled++ around line 398 ##
### Commented out $ipv4enabled-- ####
$ipv4enabled++

Затем указываются маршрутизаторы, поддерживающие IPv6.


 vim /var/www/html/lg/lg.conf

<Router Name="Router-A" EnableIPv6="Yes">
<Title>Router-A</Title>
<URL>telnet://login:[email </URL>
<!--EXAMPLE   <URL>telnet://login:[email </URL> -->
</Router>

В качестве IP-адреса здесь можно указать любой доступный адрес IPv4 или IPv6, который можно использовать для входа в маршрутизатор.

Дополнительные конфигурации

Следующая конфигурация не является обязательной. Тем не менее, они могут помочь придать LG профессиональный вид.

1. Логотип

Изображение логотипа хранится в /var/www/html/images.


 mkdir /var/www/html/images
 cp logo.png /var/www/html/images/logo.png

 vim /var/www/html/lg/lg.conf

<LogoImage Align="center" Link="http://www.companyweb.com/">/images/logo.png</LogoImage>

2. Заголовки страниц

Заголовки страницы могут быть изменены по мере необходимости.


 vim /var/www/html/lg/lg.conf

<HTMLTitle>ASXXXX IPv4 and IPv6 Looking Glass</HTMLTitle>
<ContactMail>[email </ContactMail>

 vim /var/www/html/lg/lg.cgi

#### In the closing section of the HTML tag i.e. </HTML>, the following line can be added####
<I>
  Please email questions or comments to
 <A HREF="mailto:$email">$email</A>.
</I>
<P>
<P>
Powered By: <a href="http://wiki.version6.net/LG">Looking Glass 1.9</a></P>
</CENTER>
</BODY>
</HTML>

3. Ведение журнала

Излишне говорить, что ведение журнала важно. Файл журнала может быть создан таким образом.


 touch /var/log/lg.log
 chown apache:apache /var/log/lg.log

 vim /var/www/html/lg/lg.conf

<LogFile>/var/log/lg.log</LogFile>

Теперь Зазеркалье поднято и готово к использованию.

Зазеркалье Скриншоты

Ниже приведены несколько снимков экрана из Зазеркалья AS 132267.

1. Интерфейс живого зеркала

2. Вывод show ip bgp

3. Вывод traceroute

4. Вывод show bgp ipv6

5. Вывод traceroute IPv6

Надеюсь это поможет.

Статьи по данной тематике: