본문 바로가기

프로그래밍/네트워크

[화웨이] 네트워크 과제 10 - MPLS LDP 과제 진행

개요

 

지난 글에서도 말했지만 이번 과제는 vpn(cisco에서는 vrf)을 사용하여 같은 장비를 통과하지만 서로 분리된 망을 구성하는 과제이다.

 

a1           P            a2
   \         /     \      /
b1  - PE        PE  - b2
   /         \      /      \
c1           P            c2

 

이런 환경에서 a1-a2, b1-b2, c1-c2 간은 통신이 되면서, a/b/c 상호 간은 통신이 안되도록 구성하면 된다.

 

즉, a1-a2는 핑이 되면서 a1-b1으로는 핑이 안되도록 하면 되는 과제이다.

 

단 a/b/c의 고객사 측 장비(이하 CE)에서는 최소한의 설정만 들어가도록 구성해야 하며, a-PE는 static으로, b-PE는 ospf로, c-PE는 bgp로 연결해야 한다.

 

저번 과제와 동일한 구성으로 이번에는 vpn-instance와 서브인터페이스를 사용한 게 아니라 mpls ldp를 이용해서 구현해 볼 예정이다.

 

 

기본 구성

구성 지도 및 기본 설정

 

당연히 토폴로지 구성과 초기 config는 동일하다. 그 외에 vpn-instance 설정과 CE-PE 간 설정도 동일하므로 생략.

 

 

PE-P 간 구성

달라지는 건 PE-P 구간에서의 설정이 바뀌는데 바뀌는 설정은 다음과 같다.

 

mpls lsr-id 192.168.0.3
mpls
mpls ldp

 

interface GigabitEthernet0/0/0
 mpls
 mpls ldp
interface GigabitEthernet0/0/1
 mpls
 mpls ldp

 

mpls의 lsr id를 선언해 주고, mpls와 mpls ldp를 활성화 한 다음, PE-P 구간의 인터페이스에 mpls와 mpls ldp를 사용하도록 설정해 준다. 

 

bgp 65500
 router-id 192.168.0.3
 peer 192.168.0.1 as-number 65500
 peer 192.168.0.1 connect-interface LoopBack0
 peer 192.168.0.2 as-number 65500
 peer 192.168.0.2 connect-interface LoopBack0


 ipv4-family unicast
  undo synchronization
  undo peer 192.168.0.1 enable
  undo peer 192.168.0.2 enable


 ipv4-family vpnv4
  peer 192.168.0.1 enable
  peer 192.168.0.1 next-hop-local
  peer 192.168.0.2 enable
  peer 192.168.0.2 next-hop-local

 

그다음 bgp에서 vpnv4를 이용하여 서로 피어를 맺어준다.

 

 ipv4-family vpnv4
  undo policy vpn-target
  peer 192.168.0.3 enable
  peer 192.168.0.3 reflect-client
  peer 192.168.0.4 enable
  peer 192.168.0.4 reflect-client

 

P에서는 vpn-target policy를 비활성화해줘야 한다. 해당 기능은 vpnv4 경로의 RT extended community가 라우터가 자신이 알고있는 vpn-instance의 import-target과 일치하는지 확인하고, 일치하지 않는다면 해당 vpnv4 경로를 드랍하는 기능을 한다.

 

따라서 이미 vpn-instance에 RT 값을 입력해 놓은 PE 장비는 상관없지만 중간에서 vpn의 정보를 모르는 P 장비에서는 해당 기능을 비활성화해야 경로가 드롭되지 않고 정상적으로 라우팅이 될 수 있다. 

 

 

테스트

 

이전과 동일한 구성이라 크게 차이가 나진 않지만 이렇게만 설정해 주면 통신이 원하는 대로 된다.

 

 

결론

처음에 vpn-instance와 서브인터페이스의 개념에서 헤매다가 나중에 mpls ldp 설정을 넣어봤는데 바로 되는 걸 보고 이게 뭐지? 했던 기억이 선명하다. 아무래도 기존의 불편한 지점을 고쳐서 이후의 개념이 나온 거다 보니까 그럴 거라고 추측해 본다.

 

마찬가지로 이전 글에서는 vpn-instance와 서브 인터페이스의 설정이 너무 길어서 일부만 올려야 했는데, mpls ldp 설정은 이전과 겹치는 설정을 빼놓고 나면 너무 짧아서 어색하다.

 

과제를 할 때에도 비슷한 생각을 했었는데, 차라리 mpls ldp를 먼저 진행해 보고(또는 글을 쓰고) 그다음에 vpn-instance를 mpls 없이 구현해 보는 과제로 진행을 했으면(또는 글을 썼으면) 조금 더 학습 곡선이 자연스럽지 않았을까 하는 생각이 든다.

 

이미 쓴 글을 수정하긴 애매하지만, 나중에 이런 식으로 하나의 주제로 여러 개의 과제를 진행하게 되면 미리 해당 과제들의 난이도를 파악하고 좀 더 쉬운걸 먼저 진행하도록 의식하도록 노력해야겠다.