728x90

JUNOS에서 static route 란 next hop을 사용자가 지정해준 경로를 말합니다. static route가 라우팅 테이블에 등록되기
위해서는 반드시  next hop  이 유효해야 합니다. (next hop이 다운 이라면 테이블에 등록이 안되겠죠~)  이는 즉, 라우터는
next hop을 사용하여 패킷을 포워딩 한다는 말 입니다.
static route는 토폴로지 변경이나 새로운 라우팅 정보에 영향을 받지 않고 테이블에서 삭제할 때 까지 라우팅 테이블에 존재합니다. 간단하게 예를들어 봅시다.


위 그림에서 Chardonnay는 192.168.16.0/24, 192.168.48.0/24, 192.168.32.0/24 네트워크와 연결되길 원합니다. 이 세가지 경로들은 각각 Merot, Cabernet, Riesling뒤에 위치하고 있고, Chardonnay 라우터에 각각의 경로에다 static route 설정을 했습니다..  
Chardonnay에 연결된 Riesling의 인터페이스가 next-hop 이 될 것이고 두 라우터 간의 링크가 Chardonnay 와의 연결 가능한 유일한 링크이기 때문에 이 설정은 잘 동작할 것이다. 만약 이 링크가 죽는다면 대체 링크는 없고 Chardonnay는 연결이 끊어질 것이다. 이 간단한 예제의 문제는 확장성(scalability)이 없다는 것이다. 만약 네트워크가  커진다면 Chardonnay는 네트워크가 커질 때 마다 관리자는 일일이 static route를 설정해줘야 한다.

단일링크 연결일 경우에는 static route가 좋은 방법중에 하나일 것이다. 밑의 그림을 보자 Shiraz는 AS65001의 경계라우터이고 5개의 고객사 라우터에 단일링크로 연결되어 있다. 각각의 라우터들은 AS65001을 통하여 인터넷 연결을 하고싶어 한다. 이럴 경우에는 static route가 좋은 방법이다. Shiraz는 5개의 static route 가 설정되어 있다. 5개의 static route들은 다이나믹 라우팅 프로토롤을 통해서 AS65001에 있는 다른 라우터들에게 광고가 된다.


각각의 고객 라우터들은 자신들이 연결하고 싶어하는 네트워크에 static route 설정을 하였다. 이런 연결 방법은 이전 예제와 같은 제약사항이 있다. 연결가능한 네트워크가 늘어날 때 마다 static route를 설정해 주어야 하기 때문이다. 한가지 해결 방법은 default route (0.0.0.0/0)를 설정하는 것이다. 이렇게 되면 각 고객들의 라우터에 있는 모든 네트워크는 인터넷에 연결이 가능하게 된다.  
그럼 지금부터 왜 static route가 필요한지, 어떻게 config를 해야하는지 자세히 알아봅시다~

Next-Hop Option

static route 를 사용할때 netxt-hop은 무조건 유효하거나 사용가능한 next-hop으로 설정해줘야 합니다. JUNOS는 6개의 next-hop 옵션을 제공합니다.
 
Directly connected IP address 
   물리적으로 연결된 서브넷의 IP Address은 static route의 next-hop으로 자주 사용됩니다. remote router와 연결된
   인터페이스는 패킷을 포워딩 할 때 사용합니다.
Remote IP address
   네트워크 안에 있는 다른 IP들 또한 next-hop으로 사용가능 합니다. 로컬 라우터는 inet.0 routing table에서 설정되어 있는
   Address로 가는 물리적 next-hop 을 찾기위해 recursive lookup을 수행합니다. IP를 선얼할때 resolve명령어를 사용하여
   이런 기능을 활성화 시킬 수 있습니다.
reject
   reject값은 null 로 설정되고 라우터가 라우팅 테이블을 lookup 할때  reject옵션이 쓰인 static route에 매칭이 된다면 
   매칭된 패킷은 드랍됩니다.
discard
   discard값은 null 로 설정되고 라우터가 라우팅 테이블을 lookup 할때 discard 옵션이 쓰인 static route에 매칭되면 
   매칭된 패킷은 드랍됩니다.
 qualified next hop 
   단일의 static route 에 next-hop으로 여러 IP Address를 할당 할 수 있다. qualified next hop을 설정하면 하나의 네트워크
    에 preference값만 다른 여러 경로가 라우팅 테이블에 보여진다.

          예)   192.168.1.0/24     *[Direct/0] 00:21:10
                                              > via em2.0
                                           [Static/100] 00:05:03
                                              > to 192.168.4.2 via em3.0
                                           [Static/110] 00:05:03
                                             > to 192.168.4.2 via em3.0
  Label switched path (LSP)
    MPLS가 설정된 네트워크에서는 static route는 LSP의 next-hop 값으로 설정할 수 있다. 이 next-hop 에 매칭되는 모든
    경로들은 IP address 가 아니라 Lable value 에 의해서 포워딩 된다. 자세한 내용은  MPLS 부분에서 확인하자.

Static Route Attributes

  next-hop값은 static route에 단 하나만 할당가능한 어트리뷰트 입니다. JUNOS에서는 static route에 다양한 파라미터 값을
  설정할 수 있습니다.  몇몇의 기능들은  static route 에 유용한 기능들이고 그 중에 preference 값은 floating static route 에
  사용됩니다. 다른 어트리뷰트들은 다이나믹 라우팅 프로토콜에 유용합니다. 예를들어 BGP는 static route에 할당된
  community 값을 사용합니다.
  이제 기본적인 static route 설정을 확인해 봅시다.

routing-options {
   static {
      defaults {
      static-options;
      }
   route destination-prefix{
         next-hop next-hop;
         qualified-next-hop address{
            metric metric;
            preference preference;
         }
         lsp-next-hop lsp-name{
            metric metric;
            preference preference;
            }
         static-options;
      }
   }
}


static route 어트리뷰트 들은 route부분은 실제 prefix부분이 설정되는 곳 입니다. next-hop 과 다른 모든 설정들이 각각의 route 부분에 들어갑니다.  default부분은 각각의 static routes들이 모두 동일한 설정값을 가질때 사용합니다. default 부분은 오로지 floating static route만 사용할 때 사용합니다. 각각의 경로에  preference 값을 설정하는 대신에 default 부분에 한번만 설정하면 각각의 경로는 default 부분에 선언된 어트리뷰트 값을 상속받아 사용합니다.

static route에 사용가능한 옵션값을 알아봅시다.

   active 
      next-hop이 사용불가능할 경우 라우팅 테이블에서 해당경로를 제거합니다. 디폴트로 설정되어 있습니다.
   as-path
      static route에 수동으로 AS path를 설정하는 옵션이고 BGP로 재분배할때 유용합니다. 
   community 
      BGP community값을 설정할 때 사용한다. 이것 또한 재분배할 때 유용하다.
   install
      패킷포워딩 엔진에 있는 포워딩 테이블에 사용가능한  static route 를 넣는다. 디폴트로 설정되어 있다.
   metric
      metric옵션을 사용하면 라우팅엔진이 static route에 설정된 메트릭 값을 참고하여 동일한 경로(같은 preference) 중에
      어떤 경로를 사용할지 결정한다. 
   no-install
      install옵션의 반대로 동작함.
   no-readvertise
      이 옵션은 외부에서 들어온  static route 경로가 라우팅 테이블에 올라가는 것과 라우팅 정책을 사용하여 다른 라우팅
      프로토콜로 재분배 되는 것을 막는다. 
   no-retain
      라우팅 프로세스가 shut down 되면 static route 가 포워딩 테이블에서 지워진다. 디폴트로 설정되어 있다. 
   passive
      active옵션의 반대로 동작
   readvertise
      no-readvertise옵션의 반대로 동작. 디폴트로 설정되어있다.
   retain
      no-retain 과 정반대로 동작함.

Configuration Examples

 


 192.168.16.0/24 네트워크에 연결하기 위해서 Chardonnay에 아래와 같은 설정이 필요하다.

[edit routing-options]
user@Chardonnay# show
     static {
         route 192.168.16.0/24 next-hop 1.1.1.1;
         }

 설정된 next-hop (1.1.1.1)이 바로 연결되어있는 인터페이스이기 때문에 static route는 active 상태가 되고  inet.0
 라우팅 테이블에서 볼 수 있다. 다음과 같은 명령어로 확인할 수 있다.

   user@Chardonnay> show route protocol static
   inet.0: 10 destinations, 15 routes (10 active, 0 holddown, 0 hidden)
   + = Active Route, - = Last Active, * = Both
   192.168.16.0/24 *[Static/5] 00:02:28
   > to 1.1.1.1 via fe-0/0/0.0

 나머지 네트워크도 동일한 방법으로 설정하면
inet.0: 13 destinations, 15 routes (13 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.16.0/24 *[Static/5] 00:03:58
> to 1.1.1.1 via fe-0/0/0.0
192.168.32.0/24 *[Static/5] 00:01:14
> to 1.1.1.1 via fe-0/0/0.0
192.168.48.0/24 *[Static/5] 00:01:14
> to 1.1.1.1 via fe-0/0/0.0
요로케 될 것이다.


+ Recent posts