Jump to content
Калькуляторы

Анонсирование двух AS на одном сервере. Анонс двух AS

Просветите пожалуйста. Можно ли Анонсировать две AS на одном сервере ?

Что для этого необходимо ?

Share this post


Link to post
Share on other sites

Анонсятся не AS а префиксы(сети) принадлежайшие какой-то AS.

Анонсировать можно, хоть 100.

Но в рамках одной BGP сессии только одну AS.

Хотя есть способы это обойти.

 

Что для этого необходимо ?

 

Студент? Начните с документации по BGP. Такие вопросы отпадут.

Edited by myst

Share this post


Link to post
Share on other sites

Возможно, вы ищите as-set ?

Share this post


Link to post
Share on other sites

А если на серваке не одна сетевая карта, этот вопрос можно решить ?

Подскажите пожалуйста товарищи или дайте ссылку, где копать. Шеф задал задачку или решу или до свиданье ( . Плиз хелп.

Share this post


Link to post
Share on other sites

А если на серваке не одна сетевая карта, этот вопрос можно решить ?

Подскажите пожалуйста товарищи или дайте ссылку, где копать. Шеф задал задачку или решу или до свиданье ( . Плиз хелп.

- какой bgp daemon

- анонсировать сети надо из под разных автономок или из одной ?

если из под одной - то dual-as поможет в любых системах

если из под разных - в quagga можно сделать bgp view с локальным коннектом между своими AS

Share this post


Link to post
Share on other sites

какой bgp daemon

- анонсировать сети надо из под разных автономок или из одной ?

если из под одной - то dual-as поможет в любых системах

если из под разных - в quagga можно сделать bgp view с локальным коннектом между своими AS

 

из под разных нужно анонсировать.

Share this post


Link to post
Share on other sites

 

Не сбивайте с толку топикстартера

В условиях - анонсы сетей от разных AS

 

В quagga с bgp multiple-instance можно сделать анонсы от разных AS, проверено.

В других демонах не пробовал.

 

На хосте должно быть 2 локальных IP, для петли между bgp_view.

Примерный конфиг для bgpd quagga:

!

bgp multiple-instance

!

router bgp 1

bgp router-id <local_IP1>

neighbor <local_IP2> remote-as 2

neighbor <local_IP2> update-source <local_IP1>

!

router bgp 2 view 2

bgp router-id <local_IP2>

neighbor <local_IP1> remote-as 1

neighbor <local_IP1> update-source <local_IP2>

!

+ в какую-нибудь из view засунуть стандартный конфиг к внешнему neighbor

Share this post


Link to post
Share on other sites

похоже ТС совершенно не понимает что такое BGP, зачем оно нужно и самое главное зачем ему это нужно.

Share this post


Link to post
Share on other sites

 

Не сбивайте с толку топикстартера

В условиях - анонсы сетей от разных AS

 

В quagga с bgp multiple-instance можно сделать анонсы от разных AS, проверено.

В других демонах не пробовал.

 

На хосте должно быть 2 локальных IP, для петли между bgp_view.

Примерный конфиг для bgpd quagga:

!

bgp multiple-instance

!

router bgp 1

bgp router-id <local_IP1>

neighbor <local_IP2> remote-as 2

neighbor <local_IP2> update-source <local_IP1>

!

router bgp 2 view 2

bgp router-id <local_IP2>

neighbor <local_IP1> remote-as 1

neighbor <local_IP1> update-source <local_IP2>

!

+ в какую-нибудь из view засунуть стандартный конфиг к внешнему neighbor

Ну если я правильно понял, задача звучит так:

Есть одно bgp соседство, туда надо анонсировать префиксы из разных AS.

В джунипере это делается фильтром с as-path-expand например.

Share this post


Link to post
Share on other sites

Ну если я правильно понял, задача звучит так:

не понятно на самом деле как звучит задача и похоже что ТС сам не понял чего хочет его шеф...

Share this post


Link to post
Share on other sites

Ну тоже верно, по этому я и предложил ТСу почитать основы BGP.

Share this post


Link to post
Share on other sites

Не сбивайте с толку топикстартера

В условиях - анонсы сетей от разных AS

 

В quagga с bgp multiple-instance можно сделать анонсы от разных AS, проверено.

В других демонах не пробовал.

 

На хосте должно быть 2 локальных IP, для петли между bgp_view.

Примерный конфиг для bgpd quagga:

!

bgp multiple-instance

!

router bgp 1

bgp router-id <local_IP1>

neighbor <local_IP2> remote-as 2

neighbor <local_IP2> update-source <local_IP1>

!

router bgp 2 view 2

bgp router-id <local_IP2>

neighbor <local_IP1> remote-as 1

neighbor <local_IP1> update-source <local_IP2>

!

+ в какую-нибудь из view засунуть стандартный конфиг к внешнему neighbor

Вот это походу то что нужно . ТСу радостно он будет на работе еще долго)) .

 

 

Студент? Начните с документации по BGP. Такие вопросы отпадут.

Благодарю за основы BGP . Начал ботанить.

Share this post


Link to post
Share on other sites

уважаемые, снимите с ручника, пожалуйста. уже два дня стою :)

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

но всё уперлось в то, что у меня bird и freebsd.

 

ситуация: все настроено, коннектится, роуты переливаются из одной as в другую, анонсируются аплинку выше, он прекрасно видит одну as под другой, и... через две минуты Established соединения между двумя пирами внутри одного бёрда в логи пишется "BGP session closed". потом сессия поднимается, проходит еще полторы-две минуты, и снова "...closed". и так бесконечно.

проверено на 9.3/amd64, 10.0/i386, 10.0/amd64, 10.1/amd64, bird 1.4.5, 1.5.0.

и при этом на дебиане 8.2/64 с 1.4.5 бёрдом все замечательно летает безо всяких реконнектов. вот уже сутки пошли, как висит демон и меняется внутри себя кипалайвами от одного пира к другому.

 

в какую сторону смотреть, подскажите? что крутить? вариант "переехать на линукс" рассматривается, но не приветствуется ввиду легкой нелюбви к их семейству :)

 

rc.conf (в дебиане полностью аналогично настроено):

 

ifconfig_em0="DHCP"
ifconfig_em0_alias0="inet 192.168.251.1 netmask 255.255.255.0"
ifconfig_em0_alias1="inet 192.168.251.2 netmask 255.255.255.0"
gateway_enable="YES"

 

 

bird.conf (протокол "toup" выключен для чистоты эксперимента):

 

# аплинк - 10.10.8.0/22, AS - 65000
# первая сеть - 10.100.12.0/22, первая AS - 65010
# вторая сеть - 10.200.24.0/22, вторая AS - 65020

router id 2.2.2.2;

log "/var/log/bird.log" all;

timeformat base     iso long;
timeformat log      iso long;
timeformat protocol iso long;
timeformat route    iso long;

table master;
table secondt;

protocol direct {
interface "*";
}

protocol device {
scan time 15;
}

protocol kernel {
persist on;
scan time 0;
learn off;
import none;
export all;
}

protocol static static1 {
preference 253;
route 0.0.0.0/0 via 192.168.254.1;
route 10.100.12.0/22 reject;
route 10.100.12.0/25 via 192.168.251.39;
}

protocol static static2 {
preference 253;
table secondt;
route 10.200.24.0/22 reject;
route 10.200.24.0/25 via 192.168.251.39;
}

protocol bgp toup {
disabled;
local as 65010;
neighbor 192.168.254.1 as 65000;
next hop self;
source address 192.168.254.2;
export all;
import all;
}

protocol bgp todown2 {
debug all;
local as 65010;
neighbor 192.168.251.2 as 65020;
source address 192.168.251.1;
export filter {
	if net ~ [ 0.0.0.0/0 ] then reject;
	accept;
};
import filter {
	if net ~ [ 10.200.24.0/22+ ] then accept;
	reject;
};
       multihop 2;
       passive on;
}

protocol bgp down2 {
debug all;
router id 10.10.10.11;
table secondt;
local as 65020;
neighbor 192.168.251.1 as 65010;
source address 192.168.251.2;
export all;
import all;
multihop 2;
next hop keep;
}

 

 

bird.log:

 

2016-01-20 10:03:38 <TRACE> todown2: Initializing
2016-01-20 10:03:38 <TRACE> down2: Initializing
2016-01-20 10:03:38 <TRACE> todown2: Starting
2016-01-20 10:03:38 <TRACE> todown2: State changed to start
2016-01-20 10:03:38 <TRACE> down2: Starting
2016-01-20 10:03:38 <TRACE> down2: State changed to start
2016-01-20 10:03:38 <INFO> Started
2016-01-20 10:03:38 <TRACE> down2: Started
2016-01-20 10:03:38 <TRACE> down2: Connect delayed by 5 seconds
2016-01-20 10:03:38 <TRACE> todown2: Started
2016-01-20 10:03:43 <TRACE> down2: Connecting to 192.168.251.1 from local address 192.168.251.2
2016-01-20 10:03:43 <TRACE> down2: Connected
2016-01-20 10:03:43 <TRACE> down2: Sending OPEN(ver=4,as=65020,hold=250,id=0a0a0a0b)
2016-01-20 10:03:43 <TRACE> todown2: Incoming connection from 192.168.251.2 (port 38375) accepted
2016-01-20 10:03:43 <TRACE> todown2: Sending OPEN(ver=4,as=65010,hold=240,id=02020202)
2016-01-20 10:03:43 <TRACE> down2: Got OPEN(as=65010,hold=240,id=02020202)
2016-01-20 10:03:43 <TRACE> todown2: Got OPEN(as=65020,hold=250,id=0a0a0a0b)
2016-01-20 10:03:43 <TRACE> down2: Sending KEEPALIVE
2016-01-20 10:03:43 <TRACE> todown2: Sending KEEPALIVE
2016-01-20 10:03:43 <TRACE> down2: Got KEEPALIVE
2016-01-20 10:03:43 <TRACE> down2: BGP session established
2016-01-20 10:03:43 <TRACE> down2: Connected to table secondt
2016-01-20 10:03:43 <TRACE> down2: State changed to feed
2016-01-20 10:03:43 <TRACE> todown2: Got KEEPALIVE
2016-01-20 10:03:43 <TRACE> todown2: BGP session established
2016-01-20 10:03:43 <TRACE> todown2: Connected to table master
2016-01-20 10:03:43 <TRACE> todown2: State changed to feed
2016-01-20 10:03:43 <TRACE> down2 < added 10.200.24.0/22 unreachable
2016-01-20 10:03:43 <TRACE> down2 < added 10.200.24.0/25 via 192.168.251.39 on em0
2016-01-20 10:03:43 <TRACE> down2: State changed to up
2016-01-20 10:03:43 <TRACE> todown2 < added 192.168.100.0/24 dev em0
2016-01-20 10:03:43 <TRACE> todown2 < added 10.100.12.0/22 unreachable
2016-01-20 10:03:43 <TRACE> todown2 < added 10.100.12.0/25 via 192.168.251.39 on em0
2016-01-20 10:03:43 <TRACE> todown2 < added 192.168.251.0/24 dev em0
2016-01-20 10:03:43 <TRACE> todown2: State changed to up
2016-01-20 10:03:43 <TRACE> down2: Sending UPDATE
2016-01-20 10:03:43 <TRACE> down2: Sending UPDATE
2016-01-20 10:03:43 <TRACE> down2: Sending END-OF-RIB
2016-01-20 10:03:43 <TRACE> todown2: Sending UPDATE
2016-01-20 10:03:43 <TRACE> todown2: Sending END-OF-RIB
2016-01-20 10:03:43 <TRACE> down2: Got UPDATE
2016-01-20 10:03:43 <TRACE> down2 > added [best] 192.168.100.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 192.168.100.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2 > added [best] 10.100.12.0/22 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 10.100.12.0/22 unreachable
2016-01-20 10:03:43 <TRACE> down2 > added [best] 10.100.12.0/25 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 10.100.12.0/25 unreachable
2016-01-20 10:03:43 <TRACE> down2 > added [best] 192.168.251.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 192.168.251.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2: Got UPDATE
2016-01-20 10:03:43 <TRACE> down2: Got END-OF-RIB
2016-01-20 10:03:43 <TRACE> todown2: Got UPDATE
2016-01-20 10:03:43 <WARN> Next hop address 192.168.251.2 is a local address of iface em0
2016-01-20 10:03:43 <TRACE> todown2 > added [best] 10.200.24.0/22 unreachable
2016-01-20 10:03:43 <TRACE> todown2 < rejected by protocol 10.200.24.0/22 unreachable
2016-01-20 10:03:43 <TRACE> todown2: Got UPDATE
2016-01-20 10:03:43 <TRACE> todown2 > added [best] 10.200.24.0/25 via 192.168.251.39 on em0
2016-01-20 10:03:43 <TRACE> todown2 < rejected by protocol 10.200.24.0/25 via 192.168.251.39 on em0
2016-01-20 10:03:43 <TRACE> todown2: Got UPDATE
2016-01-20 10:03:43 <TRACE> todown2: Got END-OF-RIB
2016-01-20 10:03:43 <WARN> Next hop address 192.168.251.1 resolvable through recursive route for 192.168.251.0/24
2016-01-20 10:04:51 <TRACE> down2: Sending KEEPALIVE
2016-01-20 10:04:51 <TRACE> todown2: Got KEEPALIVE
2016-01-20 10:04:59 <TRACE> todown2: Sending KEEPALIVE
2016-01-20 10:04:59 <TRACE> down2: Got KEEPALIVE

здесь наступает "ой"

2016-01-20 10:05:33 <TRACE> down2: BGP session closed
2016-01-20 10:05:33 <TRACE> down2: State changed to stop
2016-01-20 10:05:33 <TRACE> down2 > removed [sole] 192.168.100.0/24 unreachable
2016-01-20 10:05:33 <TRACE> down2 > removed [sole] 10.100.12.0/22 unreachable
2016-01-20 10:05:33 <TRACE> down2 > removed [sole] 10.100.12.0/25 unreachable
2016-01-20 10:05:33 <TRACE> down2 > removed [sole] 192.168.251.0/24 unreachable
2016-01-20 10:05:33 <TRACE> down2: Down
2016-01-20 10:05:33 <TRACE> down2: State changed to down
2016-01-20 10:05:33 <TRACE> down2: Starting
2016-01-20 10:05:33 <TRACE> down2: State changed to start
2016-01-20 10:05:33 <TRACE> down2: Started
2016-01-20 10:05:33 <TRACE> down2: Connect delayed by 5 seconds
2016-01-20 10:05:33 <TRACE> todown2: Connection closed
2016-01-20 10:05:33 <TRACE> todown2: BGP session closed
2016-01-20 10:05:33 <TRACE> todown2: State changed to stop
2016-01-20 10:05:33 <TRACE> todown2 > removed [sole] 10.200.24.0/22 unreachable
2016-01-20 10:05:33 <TRACE> todown2 > removed [sole] 10.200.24.0/25 via 192.168.251.39 on em0
2016-01-20 10:05:33 <TRACE> todown2: Down
2016-01-20 10:05:33 <TRACE> todown2: State changed to down
2016-01-20 10:05:33 <TRACE> todown2: Starting
2016-01-20 10:05:33 <TRACE> todown2: State changed to start
2016-01-20 10:05:33 <TRACE> todown2: Started
2016-01-20 10:05:38 <TRACE> down2: Connecting to 192.168.251.1 from local address 192.168.251.2
2016-01-20 10:05:38 <TRACE> down2: Connected
2016-01-20 10:05:38 <TRACE> down2: Sending OPEN(ver=4,as=65020,hold=250,id=0a0a0a0b)
2016-01-20 10:05:38 <TRACE> todown2: Incoming connection from 192.168.251.2 (port 58123) accepted

 

Share this post


Link to post
Share on other sites

2016-01-20 10:03:43 <TRACE> down2 > added [best] 192.168.251.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 192.168.251.0/24 unreachable

2016-01-20 10:03:43 <WARN> Next hop address 192.168.251.1 resolvable through recursive route for 192.168.251.0/24

 

Ну и что непонятного, при чём здесь freebsd?

Share this post


Link to post
Share on other sites

2016-01-20 10:03:43 <TRACE> down2 > added [best] 192.168.251.0/24 unreachable
2016-01-20 10:03:43 <TRACE> down2 < rejected by protocol 192.168.251.0/24 unreachable

2016-01-20 10:03:43 <WARN> Next hop address 192.168.251.1 resolvable through recursive route for 192.168.251.0/24

 

Ну и что непонятного, при чём здесь freebsd?

при том, что в линуксе я имею те же сообщения 1:1, и все работает.

Edited by nixx

Share this post


Link to post
Share on other sites

ну можно и проще (без view), quagga

 

router bgp XXXX
 network 192.168.0.0/24 route-map ASYYYY

route-map ASYYYY permit 10
set as-path prepend YYYY

 

При анонсировании AS-PATH для 192.168.0.0/24 будет XXXX YYYY

Share this post


Link to post
Share on other sites

мой глюк внезапно состоял в том, что у тестовой виртуалки, куда я первоначально поставил bsd (ядро generic) и бёрда, был сконфигурен один одноядерный процессор.

остальные виртуалки с другими версиями bsd и дебианом создавал с теми же параметрами.

...и вот сейчас решил сделать два ядра. и заработало. в любой из версий bsd.

вопрос закрыт :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this