본문 바로가기

네트워크 공부

BGP 기본 공부 - LAB 실습 (1)

ㅋㅋㅋ열심히 써보려고 했는데...ㅎㅎ 
신입 교육 이후로 손도 안댔넹.. 아 공부에 손을 안댔다는 게 아니라 티스토리에 ,, ㅎㅎㅋ
과장님 무지 바쁘시지만 ... ㅜㅜ 차마 도와드릴 수 없어 미래에 많이 쓸 BGP 공부를 해보았다,,
 
이론적인건 후에 정리하도록 하고 LAB 위주로 올려보겠슴
 

 

Conf t
router bgp 1 // 이 부분은 각기 다른 AS임을 나타내기 위해 넘버가 달라야 함
neighbor 10.1.12.2 remote-as 2 // R2와 EBGP 네이버 맺기, R2의 경우: Neighbor 10.1.12.1 remote-as 1
network 1.1.1.1 mask 255.255.255.255 // Ebgp는 igp (ospf나 eigrp 등) 없이 라우팅 정보 알릴 수 있음, R2의 경우: Network 2.2.2.2 mask 255.255.255.255

위는 R1 설정 명령어, R2도 참고하여 동일하게 EBGP 네이버 설정 맺어준다.
 

R1에서
sh ip route bgp
sh ip bgp  sum 명령어로 neighbor 잘 맺어졌는지, bgp 라우팅 테이블에  R2의 루프백 주소가 올라왔는지 확인
 
 


Lo 로 네이버 맺기

 

왼쪽 라우터
오른쪽 라우터

Ibgp의 경우 보통 루프백으로 네이버 맺어줌, 그 lo 0이 출발지 주소라는 걸 update-source 명령을 통해 명시 (필수)

router ospf 1 // 넘버 동일해야함
network 10.1.12.0 0.0.0.255 area 0 //area 0에 속해야 통신 가능
network 1.1.1.1 0.0.0.0 area 0

왼쪽 라우터에 위와 같이 설정

router ospf 1 // 넘버 동일해야함
network 10.1.12.0 0.0.0.255 area 0 //area 0에 속해야 통신 가능
network 2.2.2.2 0.0.0.0 area 0

오른쪽 라우터에 위와 같이 설정
Igp(ospf)로 라우터가 가진 라우팅 정보 광고 + 루프백 광고해야하기 때문.
 
 

sh ip ospf neighbor 명령으로 ospf 간에 네이버 맺은 거 확인
 

sh ip bgp sum 명령으로 네이버도 맺어져있는 거 확인
 
 


왼쪽부터 차례대로 R1, R2, R3

R1 설정
R2 설정

-      R1, R2에서 sh ip bgp sum, sh ip route bgp

R1에서 sh ip route bgp
R2에서 sh ip bgp sum

문제 2번대로 R1에서 lo11 /32로 설정하고 bgp 광고 /24로 해줘도

컨피그 참고

BGP 라우팅 테이블에는 보이지 않음 .. 아마 갖고 있는 루프백 대역이랑, 광고하는 대역 비트수가 동일해야하는 거 같음
이건 과장님 통해서 배우게 된 설정인데, soft-reconfiguration 설정은 바로바로 이웃 정보 바로 refresh 시켜주는..? 명령어라고 하셨다. 상용에서 clear ip bgp 명령어 사용은 단절이 30분씩 일어나기 때문에 매우 .. 쓸 일이 없다 하셨음
 
 

문제 1.
R2)

R1

R3)

문제 2: R2에서 보이는 neighbor 2개 해결 !

 
문제 3.
R1에서 1.1.1.1 /32 bgp로 광고 시 (ebgp) R1 sh ip bgp

R2에서 sh ip bgp, sh ip route bgp

* next-hop이 0.0.0.0 -> 본인이라는 뜻
1.1.1.1/32 경로가 R2, R3의 BGP Table, Routing Table에 올라온 것을 확인해보면,

R3에서 1.1.1.1/32가 BGP Table에는 올라 오지만, Routing Table에 보여지지 않음. (헉 사진 캡쳐를 못했는데 R3에서 1.1.1.1/32 에 대한 next-hop이 R2에서 봤을 때와 동일하게 10.1.12.1로 잡히기 때문. 근데 문제는 R3은 10.1.12.1 대역을 전혀 모르잖슴)
iBGP의 잠재적인 문제 중 하나는 iBGP가 Next-Hop IP 주소를 변경하지 않는다는 것

위와 같이 R3 입장에서 R1 루프백에 갈 때 넥스트 홉이 10.1.23.1 로 변경되어 있지 않는 문제가 있다. 그래서 1.1.1.1이 라우팅 테이블에는 보이지 않는다. 따라서 next-hop self 명령어가 필요하다.
 

R2에서 루프백 3.3.3.3의 넥스트 홉은 자신이라는 명령어를 넣어줌
 

R3에서 sh ip bgp 확인 시 넥스트 홉이 2.2.2.2 로 바뀐 것을 알 수 있다.
 

드디어 R3 sh ip route에서도 보인다.
LAB 4번도 해결 !!
 
나는 R2, R3의 ospf에 시리얼 ip와 루프백을 직접 광고해주었지만, 그게 아니라면 R2에
- (config)#router ospf 1
- (config-router)#redistribute connected subnets  이렇게 재분배를 통해 ospf에 물리적인 ip 대역을 광고해주는 방법도 있다.


R3) 

R4)

R3, R4 SH IP BGP SUM 확인
 

라우팅 테이블 앞에 B라 뜨는 것은 외부 Ebgp 정보 말함 그 외엔 ospf나 connect 정보만 뜬다
 

그래서 R4의 sh ip route bgp 와 sh ip route를 확인해보면 R1의 ebgp 정보가 없다, (1.1.1.1) 왜냐하면 ibgp 네이버로부터 받은 정보는 다른 ibgp 네이버로 전달이 불가능하기 때문이다. 그래서 R3에서 R4로 정보 전달이 불가능함. 이를 스플릿 호라이즌 이라고 함.
 
이 스플릿 호라이즌을 해결하기 위한 방법으로는 3가지 방법이 있다.
 
첫번째로는 full mash 방법이다. R2-R3, R2-R4, R2-R1, R1-R2, R1-R3, R1-R4, R3-R4 이렇게 빠짐없이 서로 서로 네이버를 맺어주는 방법이다. 소규모 bgp망에서만 사용이 가능…
 
결론적으론 R4가 R1로부터 ebgp 정보를 받았음과 동일
 
두번째로는 루트 리플렉터 RR 방법이다.
BGP 스플릿 호라이즌 규칙의 적용을 면제받은 라우터를 말한다. (우리 구성도로 치면 R3이 해당) 이 라우터에
Neighbor (이웃맺은 ip) route-reflector-client 이런식으로 설정해주면 루트 리플렉터는 ibgp 네이버로부터 받은 정보를 ibgp 네이버에게 전달할 수 있다.
 
R3 설정

위와 같이 설정해주니 

R4 sh ip bgp에 R1 정보가 넘어올 수 있게 되었다. R3이 R2의 ibgp 정보를 R4에게 넘겨줄 수 있게 되었기 때문이다.

R3에 ip route 10.1.12.0 255.255.255.0 10.1.23.1  라우팅 정보 추가 필요, 해당 대역 모르기 때문

또한 R1과 R2 서로 ebgp 네이버 맺어줄 때 ebgp-multihop 2 추가해줘야 루프백으로 통신 가능

 

 

 


 
세번째 방법으로는 컨페더레이션을 이용한 해결이다. AS 2번 하나를 여러 개의 서브 AS로 나눈다. 즉 IBGP가 아닌 EBGP로 서로 네이버가 변경되기 때문에 스플릿 호라이즌 룰 자체가 적용되지 않는다.

 


 
ebgp multi-hop 실습 후에 이 실습은 이어서 하도록 함.
ebgp multi-hop LAB은 아래 사진