The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT)
Изначальное сообщение [ Отслеживать ]

"Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 10:19 
В общем други такая странная у меня проблема... впервые сталкиваюсь и уже голову сломал :)

Описываю общую схему:
есть два магистральных провайдера РТК и ТТК, с каждым подняты eBGP, получаю от каждого FullView, отдаю каждому свою сеть.
РТК                                 ТТК
|                                       |
|                                       |
роутер ----- роутер ------ роутер
  1                 3              2
                    |
                    |
            клиенты
  (устройства использующие нашу сеть)


роутер 1 получает FV от РТК по eBGP, роутер 2 получает FV от ТТК по eBGP и роутер 3 получает все маршруты от РТК и ТТК через роутеры 1 и 2 по iBGP соответственно. Все роутерты - это FreeBSD 8 + pf + quagga.

А теперь проблема: если оставить только одного провайдера (например выключить роутер 2) то все ходит нормально через роутер 1 (пакеты от клиентов до обратно ходят), если сделать наоборот (выключить роутер 1 и оставить роутер 2) то все отлично работает через роутер 2 (пакеты клиентов гуляют нормально).

Но если включить обоих провайдеров то.... то у ТТК маршруты в некоторые сети короче и пакеты уходят через канал ТТК, а вот обратно зачастую пытаются прийти через канал РТК (по разным причинам) и пропадают на роутере 1 :( В фаерволле стоит пропускать все транзитные пакеты... да и пробовал выключать его - не помогает. К тому же если б было дело в фаерволле - то не работало бы и с выключенным ТТК, фаерволлу то какая разница.  Отслеживал все с помощью tcpdump.

В общем по сути если пакеты вышли через роутерт 1 - то они спокойно возвращаются, если же вышли через роутер 2 - то на роутере 1 они рубятся. Уходят пакеты с адресом моей сети и приходят обратно на него же.... ну и опять  - если пакеты уходят и приходят через один роутер  - то все работает нормально!

В общем два дня отлавливал ситуацию, идеи закончились :(

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от PavelR (ok) on 07-Дек-12, 10:35 

> В фаерволле стоит пропускать все транзитные пакеты...

Правила файрволла - где? Показывай.

> да и пробовал выключать его - не помогает.

Как выключал?

> К тому же если б было дело в фаерволле - то не работало бы
> и с выключенным ТТК, фаерволлу то какая разница.

Разница есть.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 10:45 
> Правила файрволла - где? Показывай.

Покажу чуть позже после "чистки"

> Как выключал?

pass in all
pass out all

> Разница есть.

в чем, хотя бы теоретически?


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от PavelR (ok) on 07-Дек-12, 12:08 
>> Правила файрволла - где? Показывай.
> Покажу чуть позже после "чистки"
>> Как выключал?
> pass in all
> pass out all
>> Разница есть.
> в чем, хотя бы теоретически?

antispoof / urpf / connection state tracking (Ознакомьтесь с разницей statefull vs stateless firewall).

Надо как-то так:

pass in from any to $bgp_network  flags any no state
pass out from any to $bgp_network  flags any no state
pass in from $bgp_network to any  flags any no state
pass out from $bgp_network to any  flags any no state


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 12:43 
> antispoof / urpf / connection state tracking (Ознакомьтесь с разницей statefull vs
> stateless firewall).
> Надо как-то так:
> pass in from any to $bgp_network  flags any no state
> pass out from any to $bgp_network  flags any no state
> pass in from $bgp_network to any  flags any no state
> pass out from $bgp_network to any  flags any no state

Хм... но разве pass in from any to $bgp_network  не говорит что надо пропускать все пакеты независимо от того в таблице state ли правило или нет?

Пошел читать маны... спасибо на наколку.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 13:12 
> Надо как-то так:
> pass in from any to $bgp_network  flags any no state
> pass out from any to $bgp_network  flags any no state
> pass in from $bgp_network to any  flags any no state
> pass out from $bgp_network to any  flags any no state

Все получилось, огромное спасибо :)
Просто нигде в мануале pf не нашел указание того, что антиспуффинг будет работать даже без команды antispuff и что все пакеты проверяются по state таблице :)

По идее тему можно в FAQ, потому что кто-то еще может споткнуться


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от PavelR (ok) on 07-Дек-12, 14:13 
>> Надо как-то так:
>> pass in from any to $bgp_network  flags any no state
>> pass out from any to $bgp_network  flags any no state
>> pass in from $bgp_network to any  flags any no state
>> pass out from $bgp_network to any  flags any no state
> Все получилось, огромное спасибо :)
> Просто нигде в мануале pf не нашел указание того, что антиспуффинг будет
> работать даже без команды antispuff и что все пакеты проверяются по
> state таблице :)
> По идее тему можно в FAQ, потому что кто-то еще может споткнуться

Лично я pf никогда и нигде не использовал, его нюансов не знаю, но вижу что проблема классическая. Аналитика и легкий гуглеж дает решение через 5-10 минут.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

5. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 10:51 
> Правила файрволла - где? Показывай.

правил в фаерволле на 10 страниц.... но к сети BGP относятся только эти:

pass in from any to $bgp_network
pass out from any to $bgp_network
pass in from $bgp_network to any
pass out from $bgp_network to any

где $bgp_network - моя сеть провайдеронезависимых адресов... в общем ты подкинул идею создать минимальный конфиг и подсунуть его... попробую

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от Аноним (??) on 07-Дек-12, 10:39 
то, что пакты рубятся отслеживал на третьем роутере?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Проблема транзита-стыка между eBGP и iBGP на FreeBSD+pf+quagga"  +/
Сообщение от NeviDimk (ok) on 07-Дек-12, 10:43 
> то, что пакты рубятся отслеживал на третьем роутере?

На первом и третьем. На первом следил за интерфейсами с РТК и с роутером 3, и явно наблюдал что в случае работы только РТК пакеты хотят от роутера 1 к роутеру 3, а в случае когда исходящий идет через роутер 2 то на интерфейса с РТК пакеты появляются а на интерфейсе с роутером 3 нет

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру