Juniper - BGP Configurations Part I

안녕하세요 Bebe 입니다..
최근 개인사유(이직) 게을러지고 있습니다 ㅋㅋ, 다시 정신차리고 열심히 살기 위해 몸부림 치는 첫 단계로
BGP !! Border Gateway Protocol, 일명 배고파 를 해볼까 합니다. ㅎㅎㅎ
BGP는 Enterprise에서는 생각보다 많이 안 쓰이는 듯 합니다. 물론 많이 들 쓰시지만 IGP처럼 90%이상 쓰시지는 않는다는 의미 일 뿐이지요 :)


게다가 네트워크 운영자가 자주 변경하지 않기 때문에 SP근무하시는 분들(그 중에서도 소수?)을 제외하고는 자주 접할 기회가 없는 듯 싶습니다.. 하지만, 알아 두어야 본,지사간 WAN 구축을 한다던가....(물론 Partner사나 SP의 도움으로 구축하시기도 합니다만^^;;) 정작 필요할 때 못하면.....스트레스! ㅎㅎㅎ


간단하게 제가 아는 BGP에 대해 설명할까 합니다.
BGP는 옛날옛적.....제가 Network을 시작하기 전 시대에....( - -).... BGP표준이 없고 EGP를 사용할 적에...이야기를 해야 설명이 됩니다.
(얼마나 먼 옛날인지..)


기술을 필요에 의해서 나오는 거니까요 :) BGP가 왜 나왔는지를 보면 좋습니다.
BGP는 EGP시절? IX망(Internet eXchange)망을 통해 Service를 할 때 특정 대상으로 부터 들어오는 Packet은 A IX망으로 들어오고, 나머지는 B IX망으로 들어와야 양질의 서비스가 가능한 경우, 이 Traffic을 어찌 처리해야 할까 고민하는 것에서 시작 되었다고 볼 수 있을 듯 합니다.(지극히 제 지식 안에서는요 ^^;)
설명하는 능력이 부족하지만, 위와 같은 상황에서 예를 들어 중국은 A IX, 미국은 B IX를 통해 들어와야 서비스가 빠른 경우, EGP시절에는 둘 중의 하나는 포기하는 서비스를 했어야 했지만 BGP를 통해 중국에는 A IX의 우선 순위를 높이고 미국은 B IX를 높임으로서 양쪽 다 양질의 서비스를 할 수 있게 됩니다.
말이 이해가 안되시죠....글로 설명하니 매우 어렵네요 ㅋㅋㅋ


일단 BGP를 써야 EGP떄 할 수 없던 '정책 기반'의 Routing을 할 수 있다라는 것. 을 기억하시면 좋을 듯 합니다.

BGP의 장점은 역시나 Path Selection, 경로 조절이니까요 :)
뭐 그 외 에 TCP를 써서 신뢰성이 좋고 대규모 네트워크 수용에 유리하고 어쩌고저쩌고 장점이 많지만, 제가 생각하는 최고의 장점은 경로 조절!! 이라고 생각합니다. ㅎㅎ


지극히 주관적인 Blog니까요 ㅋㅋ.
이번 랩을 소개 합니다. 짜잔~
1. 물리 연결

clip_image001[4]

2.IGP

clip_image002[4]

3. BGP AS

clip_image003[4]

일단 위에 그림과 같이 기본설정을 완료하고 BGP를 이용한 Filter, Path Selection을 해보겠습니다.
우선 OSPF는 이전 글에서 다루었기 때문에 BGP설정 터 진행 하도록 하겠습니다
BGP설정에 필요한 CLI는 아래와 같이 찾아볼 수 있습니다.
http://www.juniper.net/documentation/en_US/junos12.2/information-products/pathway-pages/config-guide-routing/index.html

clip_image004[4]

위의 URL에 접속하셔서 BGP항목을 고르고,

clip_image005[4]

Configuration tab을 고르시면 BGP의 모든 설정이 나옵니다.
여기서 우선은 Basic BGP Configuration 인 eBGP와 iBGP를 그림과 같이 설정해 보면 됩니다.

iBGP
http://www.juniper.net/documentation/en_US/junos12.2/topics/topic-map/bgp-ibgp-peering.html
eBGP
http://www.juniper.net/documentation/en_US/junos12.2/topics/topic-map/bgp-peering.html

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.


Device A

set interfaces ge-0/1/0 unit 1 description to-B
set interfaces ge-0/1/0 unit 1 family inet address 10.10.10.1/30
set interfaces lo0 unit 1 family inet address 192.168.6.5/32
set protocols bgp group internal-peers type internal
set protocols bgp group internal-peers description “connections to B and C”
set protocols bgp group internal-peers local-address 192.168.6.5
set protocols bgp group internal-peers export send-direct
set protocols bgp group internal-peers neighbor 192.163.6.4
set protocols bgp group internal-peers neighbor 192.168.40.4
set protocols ospf area 0.0.0.0 interface lo0.1 passive
set protocols ospf area 0.0.0.0 interface ge-0/1/0.1
set policy-options policy-statement send-direct term 2 from protocol direct
set policy-options policy-statement send-direct term 2 then accept
set routing-options router-id 192.168.6.5
set routing-options autonomous-system 17


출처: <http://www.juniper.net/documentation/en_US/junos12.2/topics/topic-map/bgp-ibgp-peering.html>

위와 같은 Sample중에 Border처리한 부분만이 BGP의 실제 설정입니다.
CLI를 하나씩 간단히 '?'를 눌러보면,

clip_image006[4]

clip_image007[4]

일단 Group은 iBGP와 같이 반복되는 설정이 많을 경우 config단위를 그룹화 하는 명령어입니다.
뒤에 internal-peers는 이 그룹의 이름이고요 :)

clip_image008[4]

아래 나오는 type은 peer-group을 했을 때만 나오는 cli로 여러 개의 peer들이 ibgp인가 ebgp 인가 명시하는 명령어:)
description은 생략하고~ local-address는

clip_image009[4]

iBGP의 특성상 peer와 neighbor를 맺을 때 쓰이는 src.ip를 loopback으로 지정해주어 IGP경로, Router가 down되지않는 한도에서 통신 가능하면 BGP session이 끊어지지 않도록 설정을 해주어야 한다.
그렇기 때문에 위의 명령어가 사용된다.
Cisco 에서는 neighbor x.x.x.x update-source [interface-tyoe] 과 같이 설정하는 부분 이다.

clip_image010[4]

export의 경우 cisco의 policy based advertise라고 해야하나.....outbound filter역활을 하는 녀석이다.
cisco에서는 route-map, prefix-list등으로 filter하지만 juniper는 일단 export를 통해한다.
그에 따른 조건은 아래 써있는 policy-options 부분이다.
그 아래 네이버는 다들 아실테니 Pass :)
해서~ 설정을 하면 아래와 같이 설정이 됩니다.

clip_image011[4]

이 설정을 나머지 장비에도 하면 됩니다 쭉쭉 진행해보죠.
설정이 다 되면 아래와 같이 BGP로부터 전파 받은 테이블을 확인할 수 있습니다.
http://www.juniper.net/documentation/en_US/junos12.2/topics/topic-map/bgp-ibgp-peering.html#jd0e1180

clip_image012[4]

<3번에서 확인한 결과>
그리고 사실 위에 빨간 부분만을 광고하고 회색부분은 광고를 원치 않은 부분이지만, export Policy가 direct,
즉 연결된 모든 Interface의 Network이었기 때문에 광고가 되었다.
해서 위 부분을 광고하길 원하는 Loopback만 광고되도록 export룰 을 수정해 보자.
우선 간단하게 interface만으로 지정을 할 수가 있다.
set policy-options policy-statement send-direct term 2 from protocol direct
이 부분을 아래와 같이 수정하면 가능하다.
delete policy-options policy-statement send-direct term 2 from protocol direct
set policy-options policy-statement send-direct term 2 from interface lo0

clip_image013[5]

수정해서 다시 정보를 보게 되면 위와 같이 1번 Router에서는 lo0의 network만을 광고하게 된다.

일단 여기까지 해서 AS 101과 AS 202를 설정하고 Part I은 마무리 합니다.
수고하셨습니다 :)

댓글

이 블로그의 인기 게시물

Juniper - OSPF Configuration Part - III

New Bebe Lab with EVE-NG II

New Bebe Lab with EVE-NG I