BGP Quagga (Linux)

Статическая и динамическая, протоколы

BGP Quagga (Linux)

Сообщение msergey » 19 фев 2009, 12:40

Приветствую всех!

Есть своя AS100 и сеть PI 195.10.10.1/24.
Стоит задача, сделать бесперебойную работу каналов связи.

Описание схемы включения.
Есть два выхода в сеть Интернет:
ISP1 отдаёт BGP default route.
ISP2 доступ к сети Интернет, static ip. BGP не дают.
Peer, отдаёт BGP FullView, но к нему нет прямого соединения. Поэтому используем VPN туннель через ISP2 и получаем BGP.

С BGP конфигурацией всё в норме, настроено.
Встал в тупик с статической маршрутизацией Linux.
А именно, в Линуксе есть три таблицы маршрутизации по умолчанию:
Код: Выделить всё
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

Quagga смотрит таблицу main, а так как нам ISP1 отдаёт deafult route, то собственно мы имеем в таблице main
Код: Выделить всё
default via 192.168.0.2 dev eth0 proto zebra equalize


VPN туннель настроен через канал ISP2, но так как нет default route в сеть ISP2 в таблице main, то он не знает куда посылать пакеты :(
Создал таблицу маршрутизации для ISP2 указал в этой таблице маршрут по умолчанию на ISP2. Но к сожалению, как я сказал выше, Quagga сюда не заглядывает.

Точно знаю, что это мой косяк, а именно пробел в мат.части маршрутизации.
Поэтому прошу поделиться опытом.

Схема сети прилагается.

P.S.: Пока работаю через ISP1 и если канал с ним падает, то в Quagga у меня явным образом добавлен default route ISP2 с метрикой меньшей BGP маршрута. Ну и собственно всё стартует.

Изображение
msergey
новичок
 
Сообщения: 52
Зарегистрирован: 16 янв 2009, 14:57
Откуда: СПб

Re: BGP Quagga

Сообщение root » 19 фев 2009, 13:52

1-ое что хочется сказать - жесть :D вот так ситуация

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

3-е,
msergey писал(а):Есть два выхода в сеть Интернет:

ну если говорить формально, то по картинке их 3 :)
т.к.
msergey писал(а):Peer, отдаёт BGP FullView

значит тоже выпускает твои адреса на просторы инета :)
а физически их реально 2.

4-ое,
msergey писал(а):Создал таблицу маршрутизации для ISP2 указал в этой таблице маршрут по умолчанию на ISP2. Но к сожалению, как я сказал выше, Quagga сюда не заглядывает.

ммм... а что тебе мешает прописать static route до "второго конча туннеля" через ISP2 и убить деф. роут ? Ты же туннель создаешь с реальником.
что то аля:
Код: Выделить всё
route add РЕАЛЬНИК_VPN`а netmask 255.255.255.255 via 10.10.0.2

или как там в Linux`е маршрут добавляется :D

5-ое,
msergey писал(а):P.S.: Пока работаю через ISP1 и если канал с ним падает, то в Quagga у меня явным образом добавлен default route ISP2 с метрикой меньшей BGP маршрута. Ну и собственно всё стартует.

м.б. я туплю, но:
BGP сессия с Peer то у тя постоянная ? Если он постоянная и ты принимаешь фул-вью, то получается что ты работаешь именно через Peer, т.к. по твоим словам ты принимаешь от ISP1 тока default. Зная что у BGP (и не тока у него) один из пунктов выбора маршрута это более точное совпадение, то получается что в ISP1 будет уходить тока тогда, когда упадет Peer - речь про исходящий трафик. Вход идет через обоих, т.к. как они оба тя анонсят.

З.Ы. За схему 5-ть баллов :!: Понять глядя на схему куда проще чем по описанию.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: BGP Quagga (Linux)

Сообщение msergey » 19 фев 2009, 17:44

root писал(а):4-ое,
msergey писал(а):
Создал таблицу маршрутизации для ISP2 указал в этой таблице маршрут по умолчанию на ISP2. Но к сожалению, как я сказал выше, Quagga сюда не заглядывает.

ммм... а что тебе мешает прописать static route до "второго конча туннеля" через ISP2 и убить деф. роут ? Ты же туннель создаешь с реальником.
что то аля:
КОД:
route add РЕАЛЬНИК_VPN`а netmask 255.255.255.255 via 10.10.0.2

или как там в Linux`е маршрут добавляется


Эту мысль я чего-то в курить не могу :(


root писал(а):5-ое,
msergey писал(а):
P.S.: Пока работаю через ISP1 и если канал с ним падает, то в Quagga у меня явным образом добавлен default route ISP2 с метрикой меньшей BGP маршрута. Ну и собственно всё стартует.

м.б. я туплю, но:
BGP сессия с Peer то у тя постоянная ? Если он постоянная и ты принимаешь фул-вью, то получается что ты работаешь именно через Peer, т.к. по твоим словам ты принимаешь от ISP1 тока default. Зная что у BGP (и не тока у него) один из пунктов выбора маршрута это более точное совпадение, то получается что в ISP1 будет уходить тока тогда, когда упадет Peer - речь про исходящий трафик. Вход идет через обоих, т.к. как они оба тя анонсят.



с ним сессия то установлена и анонсы есть.
но пока я не пропишу default route ISP2 в таблице main, не ходит через него исходящий трафик.
OpenVPN имеет конфиг вида:
remote 192.168.100.1 Peer host ip
local 10.10.0.1
msergey
новичок
 
Сообщения: 52
Зарегистрирован: 16 янв 2009, 14:57
Откуда: СПб

Re: BGP Quagga (Linux)

Сообщение root » 19 фев 2009, 17:57

msergey писал(а):Эту мысль я чего-то в курить не могу

мысль проста, прописать маршрут до одного единственного IP-адреса (CIDR /32 или маска 255.255.255.255) через ISP2, с которым (IP-адресом) и устанавливаешь VPN туннель, чтобы сервер все пакеты до этого IP-адреса (хоста) отправлял по этому маршруту.
"на пальцах":
ты - 172.16.1.2/30
ISP2 - 172.16.1.1/30
VPN peer - 11.11.11.1
соответственно нуна добавить маршрут к 11.11.11.1 через ISP2 (и можно убить default через ISP2)
в моем примере будет так (команда для FreeBSD):
Код: Выделить всё
route add 11.11.11.1 netmask 255.255.255.255 172.16.1.1


c OpenVPN дела не имел, но суть не в нем, он же устанавливает соединение с IP-адресом, заведомо известным.

Кстати вопрос:
А почему ты выбрал именно туннель, а не воспользовался фичей протокола ebgp-multihop ?
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: BGP Quagga (Linux)

Сообщение msergey » 19 фев 2009, 20:21

Понял Вашу мысль.
Но мой Peer не будет делать маршрут на меня :(
А как он узнает обо мне по другому?
msergey
новичок
 
Сообщения: 52
Зарегистрирован: 16 янв 2009, 14:57
Откуда: СПб

Re: BGP Quagga (Linux)

Сообщение root » 20 фев 2009, 01:36

msergey писал(а):Но мой Peer не будет делать маршрут на меня :(
А как он узнает обо мне по другому?

твоя правда.
я же не знаю "правдивые" IP-адреса на картинке или нет.
1. Если ты обращаешся к нему с реальника или из подсети извнестной ему, то он должен уже понимать где ты (твой IP).
2. Если по default у тя с ним работает, то почему бы не работать по статик маршруту до одного IP ? это же, по сути, тот же default, но просто для одного IP, вот и все
Вывод: все должно работать.

ты не ответил на мой вопрос:
root писал(а):А почему ты выбрал именно туннель, а не воспользовался фичей протокола ebgp-multihop ?
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: BGP Quagga (Linux)

Сообщение msergey » 20 фев 2009, 12:59

root писал(а):ты не ответил на мой вопрос:
root писал(а):А почему ты выбрал именно туннель, а не воспользовался фичей протокола ebgp-multihop ?


Я ознакомился с данной функцией и судя по теории должно заработать. НО, я разговаривал со своим Peer. Он говорит, что не получиться :( Говорит, что трафик до него дойдет, а вот куда ему возвращаться он не будет знать. Может я чего-то не понимаю.
msergey
новичок
 
Сообщения: 52
Зарегистрирован: 16 янв 2009, 14:57
Откуда: СПб

Re: BGP Quagga (Linux)

Сообщение root » 20 фев 2009, 17:44

msergey писал(а):Говорит, что трафик до него дойдет, а вот куда ему возвращаться он не будет знать. Может я чего-то не понимаю.

я кажется понимаю о чем он говорит
я уже писал что:
root писал(а):я же не знаю "правдивые" IP-адреса на картинке или нет.


ессно, чтобы заюзать фичу ebgp-multihop обе автономные системы должны знать как добраться до IP-адреса соседа какими нить иными способами:
    static маршрут
    ospf маршрут
    и т.д.

вы на реальных IP-адресах сессию можете поднять ?
Что бы с твоей стороны был реальник от ISP2, к которому твой Peer может "добраться" ,к которому у него есть маршрут, т.к. он же наверняка видит IP-адреса ISP2.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: BGP Quagga (Linux)

Сообщение msergey » 21 фев 2009, 02:08

Да, реальные ip есть от ISP2. Настроил так как Вы посоветовали, не получилось.
Peer, утверждает, что так не получиться. Такая схема приемлема, если каждый из провайдеров на пути от него до меня сделает статический маршрут(пошёл читать мат.часть).

Вот что я сделал.
BGP:
предположим BGP сервер Peer'а имеет ip 192.168.100.1
Код: Выделить всё
neighbor 192.168.100.1 remote-as 300
neighbor 192.168.100.1 ebgp-multihop 255


ну и в Линукс:
Код: Выделить всё
ip route add 192.168.100.1 via 10.10.0.2


Итог пока таков, BGP с Peer нету :(
msergey
новичок
 
Сообщения: 52
Зарегистрирован: 16 янв 2009, 14:57
Откуда: СПб

Re: BGP Quagga (Linux)

Сообщение root » 24 фев 2009, 10:40

1. ты IP-адрес пира то пинговал ? трассировал ? он виден ? через ISP2 ?
в таблице маршрутизации, после добавления маршрута, маршрут появился ? он верен ?
кажется на Линухе она просматривается так:
Код: Выделить всё
route -n


2. сканером проскань IP пира и 179/tcp порт, он открыт ? М.б. на чьей то стороне он прикрыт firewall`ом ? ISP2 точно не фильтрует "не нужные" по его мнению порты ?
Ведь именно по этому порту устанавливается BGP соединение.

3. уменьшите кол-во хопов до более разумного. Сделай трассу до IP пира, посчитал кол-во хопов и сделай+1, заменив тем самым цифру 255

основная идея работы ebgp-multihop в том, что пиры знают как добраться до IP-адреса соседа без BGP.
Сам пользовался данной фишкой и все работало.
Чудес не бывает, копай.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

След.

Вернуться в Маршрутизация / Routing

Кто сейчас на конференции

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

cron