ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] 14. 스태틱 라우팅 설정, 디폴트 라우트, 버전별 라우터 명령어
    네트워크 2023. 12. 28. 15:49

    이 게시물은 후니의 쉽게 쓴 CISCO 네트워킹 4판을 공부한 내용을 바탕으로 작성됨.

     


    스태틱 라우팅의 개념에 대해서는 이전에 소개했었다. 라우팅은 크게 두 가지 방식으로 나눌 수 있는데, 사람이 경로를 직접 설정해주는 Static, 라우터가 자동으로 경로를 찾아가는 Dynamic이다. 

     

    Static 방식은 사용자가 매번 최적경로를 직접 설정해줘야 한다는 큰 단점이 있기 때문에 잘 사용하지 않는다. 하지만 Stub 네트워크처럼 오직 하나의 경로만을 통해서 외부 네트워크와 연결되는 경우에는 Static을 사용하는 것이 바람직하다. (최적경로가 항상 하나로 정해져 있기 때문)

     

    Stub network의 대표적인 예시로 PC방이 있다. 일반적으로 PC방은 라우터 한 대를 이용하여 (전용선도 하나만 쓴다.) 외부 네트워크와 연결된다.

     

     

     

     

     

     

    Static 라우팅 프로토콜 명령어는 다음과 같이 진행된다.

     

    Router (config) #ip route network [mask] {address | interface} [distance]

     

    • Static 라우팅은 config 모드에서 진행된다.
    • #ip route network [mask] ➜ 맨 앞에 ip route를 입력하고 목적지 network 주소와 목적지 subnet mask를 입력한다.
    • {address | interface} [distance] ➜ 그 뒤 목적지 address (1홉을 건너 뛴 주소)를 쓰거나 interface를 쓴다. 이때 들어가는 interface는 목적지로 갈 때 사용되는 것인데, 만약 serial 0를 거쳐서 목적지에 가야한다면 interface에 serial 0을 입력한다. 주의할 점은 address에는 상대편 라우터 주소를 입력하지만 interface에는 자신의 라우터 interface를 입력한다.
    • 또한 1홉을 건너 뛰었다는 것은 라우터 한 개를 건너 뛴 것을 의미한다.
    • [distance] ➜ 디폴트는 1. 이 값이 커질수록 거리가 먼 것이므로 라우팅 가치가 떨어진다.

     

     

     

    한 가지 예시를 살펴보자.

     

    스위치와 라우터 A, B 그리고 본사 네트워크는 한 길로 연결되어 있다. 이런 경우에는 Dynamic을 사용하면 손해다. (경로가 딱 하나인 Stub network이기 때문!) Static 라우팅을 사용하도록 한다. 라우터 A에서 static 구성을 해보자.

     

    • 목적지 네트워크의 subnet mask : 255.255.0.0
    • 1홉을 건너 뛴 address - 라우터 A에서 1홉을 건너 뛴 라우터는 B이므로 B 라우터의 serial interface 주소를 address에 작성한다. ➜ address : 203.210.100.1

     

     

     

    이제 실제 명령어를 작성해보자. (라우터 A기준)

     

     

    먼저 switch와 라우터 A를 연결하는 Ethernet의 IP 주소를 설정해주었다. 초기 연결시에 FastEthernet 0/0으로 연결해주었기 때문에 이것의 interface에 접근한 후 no shutdown 설정, ip address 할당 해주었다.

     

     

     

     

    라우터 A와 B는 serial 0으로 연결했기 때문에 이에 접근하여 Serial의 IP 주소를 할당해주었다.

     

     

     

     

     

    맨 윗줄이 static 라우팅을 설정하는 명령어이다. ip route + 목적지 네트워크 + 목적지 subnet mask + 1홉 건너뛴 address를 입력해주었다. distance는 입력하지 않으면 자동으로 1로 설정되기 때문에 건들지 않았다. 또한 wirte memory를 통하여 설정한 configuration을 NVRAM에 저장했다.

     

     

     

     

     

    그 후 sh run 혹은 show running-config를 입력하면 위 결과를 확인할 수 있다. 설정들이 잘 반영된 모습이다.

     

     

     

     

     


     

    디폴트 라우트 (Default Route)

    디폴트 라우트란 경로를 찾아내지 못한 데이터 패킷들을 디폴트 장소로 이동하라고 미리 정해놓은 것을 의미한다. 라우팅 프로토콜을 이용하여 길을 찾아 나섰는데도 결국 길을 찾지 못한 경우에 디폴트 장소로 가게 하는 것이다.

     

     

     

    디폴트 라우트가 자주 쓰이는 곳

     

    1. 인터넷 - 인터넷을 사용하는 라우터에 가장 많이 사용되는 interface로 디폴트를 잡아놓으면 다른 경로에서 해당 네트워크를 찾지 못할 때 무조건 인터넷 interface로 갈 수 있게 된다.
    2. Stub network - 라우터의 경로가 무조건 하나이기 때문에 그 길에 디폴트를 설정해두면 길을 잃더라도 다시 찾아올 수 있다.

     

    스태틱 라우팅 - 라우터의 목적지를 사람이 직접 설정해 주는 것. Stub network에 사용

    디폴트 라우팅 - 라우터가 길을 잃었을 때 가야할 곳을 미리 설정해두는 것. 인더넷과 Stub에 주로 사

     

     

     

    디폴트 라우트는 디폴트 네트워크를 이용하거나 static 명령을 이용하여 만들 수 있다. 먼저 디폴트 네트워크를 이용하여 만들어보도록 한다.

     

     

     

     

    디폴트 네트워크를 이용하여 디폴트 라우트 구성하기

     

    후니의 쉽게 쓴 시스코 네트워킹 : 네이버 블로그 (naver.com)

     

    라우터 A는 회사 네트워크에서 인터넷쪽으로 연결되어 있다. 실제 상황에서 인터넷에 연결할 때는 RIP나 static을 사용하지 않고 BGP를 주로 사용하지만, 여기서는 설명을 위해 RIP, static을 사용한다고 가정한다.

     

    이때 라우터 A의 라우팅 테이블에는 회사 network의 IP주소, 그리고 회사와 인터넷을 연결하는 구간의 IP 주소를 담고있다. 만약 이때 ip default-network 203.240.10.0 을 명령어로 입력하면 라우팅 테이블에 존재하지 않는 목적지로 가는 모든 패킷들은 203.240.10.0 주소로 가게된다. 

     

     

     

     

    디폴트 네트워크 구성의 규칙

    1. ip default-network 뒤에 오는 네트워크 주소는 항상 class에 맞추어 설정해야 한다. 예를 들어 150.100.10.0라고 입력하는 것은 불가능하다. 150으로 시작하는 IP는 B class이기 때문에 2옥텟만 네트워크이다. 따라서 150.100.0.0을 입력해야 한다.
    2. ip default-network 뒤에 오는 네트워크 주소는 RIP 프로토콜에서 정의된 네트워크여야 한다. 쉽게 말해서 라우팅 테이블에 있는 네트워크 주소만 작성할 수 있다는 것이다. 위 예제에서도 라우터 A의 라우팅 프로토콜에 존재하는 네트워크 주소를 사용했다. (IGRP의 경우에는 반대로 라우팅 프로토콜에 없는 네트워크를 지정해야 하는데, 일단 RIP만 알고 넘어가자.)

     

     

    이 방법은 비교적 복잡하고 어렵기 때문에 아래서 배울 Static 라우팅을 이용하는 방법이 더 낫다.

     

     

     

     

     

    Static 라우팅을 이용하여 디폴트 라우트를 구성하기

     

    명령어를 먼저 살펴보면 다음과 같다. ip route 0.0.0.0. 0.0.0.0. 203.240.10.1

     

    여기서 앞의 0.0.0.0 0.0.0.0은 디폴트 네트워크를 설정하겠다는 것을 의미한다. 그 뒤에 나오는 203.240.10.1은 next hop 라우터의 IP 주소이다. 즉 A 라우터와 연결되어 있는 상대편 라우터의 IP 주소이다. 

     

    따라서 왼쪽 라우터에 설정해준 0.0.0.0 0.0.0.0 203.240.10.1은 라우팅 테이블에서 길을 찾지 못하는 모든 패킷을 오른쪽 라우터인 203.240.10.1 으로 보내라는 의미이다.  

     

    IP route 뒤에는 address 혹은 Interface가 올 수 있는데 address를 작성하는 경우 위처럼 연결되어있는 상대 라우터 IP 주소를 쓰면 되고, Interface를 쓰고싶을 때는 자신의 Interface를 써야 한다. (어차피 자신의 interface도 상대방과 연결되어 있다.)

     

     

    후니의 쉽게 쓴 시스코 네트워킹 : 네이버 블로그 (naver.com)

     

    PC방에서 일반적으로 사용되는 구성을 예로 들어보자. 이더넷쪽 subnet mask는 255.255.255.192로 네트워크 부분이 굉장히 길다 : 일반적으로 호스트를 많이 부여하지 않는다.

     

    또한 255.255.255.192는 Class C 네트워크를 4개로 나눈 것이다. 이때 만들어지는 subnet은 다음과 같다. (255.255.255.192는 255.255.255.1100 000 이다.)

     

    No 서브넷 주소 호스트 시작 주소 호스트 끝 주소 브로드캐스트 주소
    0 210.150.100.0 210.150.100.1 210.150.100.62 210.150.100.63
    1 210.150.100.64 210.150.100.65 210.150.100.126 210.150.100.127
    2 210.150.100.128 210.150.100.129 210.150.100.190 210.150.100.191
    3 210.150.100.192 210.150.100.193 210.150.100.254 210.150.100.255

     

     

    위 표에 따라서 서브넷 주소가 210.150.100.0인 PC방은 총 62대의 PC를 수용할 수 있다. 

     

    다음으로 Serial 0 interface 주소를 보면 210.180.100.178으로 배정되어 있고, subnet mask는 255.255.255.252로 주어져 있다. 이때 255.255.255.252는 serial interface에서 전형적으로 사용되는 subnet mask인데, 이것으로 만들어낼 수 있는 host 개수가 네트워크 당 2개이기 때문이다. Serial network는 나 자신과 상대방 interface 두 개에만 주소를 배정하면 되기 때문에 host 2개가 딱 알맞다.

     

     

    255.255.255.252 = 255.255.255.1111 1100 ➜ host part가 2bits로 총 host 주소는 3개인데, 여기에 network 주소, broadcast 주소를 빼면 딱 1개만 남는다.

     

     

    IP : 210.180.100.178 / Subnet mask : 255.255.255.252를 이용하여 Subnet network를 계산하면 210.180.100.176이 얻어진다.

     

     

    위 예제에서 Static 라우팅을 이용하여 디폴트 라우트를 구성하는 명령어는 바로 ip route 0.0.0.0 0.0.0.0 Serial 0이며, 이와 같은 작업을 하는 명령어는 ip route 0.0.0.0 0.0.0.0 210.180.100.177 (그냥 Serial 0 address 갖다 쓴 것)이다.

     

     

     

    Static 라우팅을 이용하여 디폴트 라우트를 구성하는 경우는 PC방처럼 인터넷 network와 연결되는 회선이 하나인 경우이다. 만약 어떤 network의 라우터에서 인터넷으로 연결되는 회선에 2개 이상인 경우에는 Dynamic을 방식을 이용하여 디폴트 라우트를 구성해야 한다. 

     

     

     

     


    디스턴스 벡터(Distance Vector)와 링크 스테이트(Link State)

     

    먼저 라우팅 프로토콜은 가장 큰 범주로 static / dynamic으로 나눌 수 있다. Dynamic 라우팅 프로토콜 내부에는 AS(Autonomous System) 내에서 사용되는 IGP(Interior Gateway Protocol)와 AS 간에 사용되는 EGP(Exterior Gateway Protocol)로 구분할 수 있다. 

     

    IGPAS 내부에서 경로 정보를 주고받는 라우팅 프로토콜으로 RIP, IGRP, OSPF, EIGRP 등이 있다.

    EGPAS와 AS 간에 라우팅을 해줄 때 사용하는 라우팅 프로토콜으로 BGP 등이 있다.

     

    라우팅 프로토콜을 또 한 번 분류할 수 있는데, 바로 Distance Vector Algorithm과 Link State Algorithm이다. 이들은 라우팅 테이블을 어떻게 관리하는가에 따라 분류된다.

     

     

     

     

     

    Distance Vector Algorithm

    Distance vector 알고리즘은 이름 그대로 벡터만을 위주로 만들어진 라우팅 알고리즘이다. 라우터는 목적지까지의 모든 경로를 테이블이 저장하는 것이 아니라 목적지까지의 거리(홉 카운트)와 목적지까지 가기 위해 어떤 인접 라우터(Neighbor Router)를 거쳐야 하는지에 대한 방향만 저장한다. 또한 Neighbor router들과 주기적으로 라우팅 테이블을 교환하여 정보에 변화가 생겼는지 체크한다. (RIP의 경우 30초 마다)

     

     

    • 한 라우터가 모든 라우팅 정보를 가지고 있을 필요가 없다. ➜ 라우팅 테이블을 줄여 메모리 절약
    • 라우팅 구성 자체가 간단하며 이미 여러 곳에서 표준으로 사용되고 있다.
    • 단점으로는 테이블에 변화가 없을지라도 정해진 시간마다 반드시 테이블 업데이트를 진행하여 트래픽을 낭비한다.
    • 또한 라우팅 테이블에 변화가 생겼을 때 이 변화를 모든 라우터가 인지하는데 걸리는 시간이 너무 오래 걸린다. (이를 Convergence time이라고 한다.)
    • 테이블에 변화가 생기면 이웃 라우터에게 전달 전달 전달... 하기 때문에 업데이트가 매우 느리다.
    • RIP의 경우에는 최대 홉 카운트가 15를 넘지 못하도록 설정 돼있는데, 라우터가 15개 넘어서 있는 경우에 테이블 변화를 인식할 수 없다. ➜ 네트워크 크기에 제한이 있으므로 작은 네트워크에만 사용해야 한다.

     

     

     

    Distance Vector Routing Algorithm - Bench Partner

     

    위처럼 구성된 네트워크에서 라우터를 하나 하나씩 거쳐가며 테이블을 변경해가는데 시간이 오래걸린다.

     

    • 이러한 이유로 규모가 큰 네트워크에는 Distance vector algorithm을 적용하지 않는다.
    • 규모가 작은 네트워크에 적용하면 구성이 편리하고 메모리가 절약된다는 장점이 있다.
    • 대표적인 프로토콜 : RIP(Routing Information Protocol), IGRP(Interior Gateway Routing Protocol)

     

     

     


     

    Link State Algorithm

     

     

     

    Link state 알고리즘은 한 라우터가 목적지까지의 모든 경로를 다 알고있다. 어느 곳에 어떤 네트워크가 있고, 그곳에 도달하려면 어떤 라우터를 거쳐야 하는지에 대한 정보를 전부 Topological database로 만든다. (라우터가 자신이 담당하는 네트워크의 생김새를 전부 다 파악하고 있다! 어떻게? 바로 Topological database를 통해)

     

    이렇게 만들어진 Topological database를 이용하여 라우터는 SPF(Shortest Path First) = 다익스트라 알고리즘을 계산한다. 이는 어디로 가야 가장 빨리 갈 수 있는지 계산하는 알고리즘이다. 그 결과를 바탕으로 SPF Tree를 만드는데, 이것은 출발지에서 목적지까지 나무형태로 펼쳐놓은 후 가장 빠른 경로를 찾아가는 알고리즘이다. 이 트리를 바탕으로 최종 라우팅 테이블을 만들게 된다.

     

    • 라우터에서 목적지까지의 모든 경로를 이미 알고있기 때문에 중간에 링크 변화가 발생해도 이를 파악하는 데 걸리는 시간이 짧다.
    • Distance vector 방식과 달리 라우팅 테이블 교환이 자주 발생하지 않고, 교환이 일어날 때도 테이블에 변화가 있는 것만 교환하기 때문에 트래픽 발생이 적다.
    • 하지만 일단 모든 경로에 대한 정보를 수집하는 것 자체가 메모리를 많이 소모하는 작업이며, SPF 계산 등 여러 연산이 포함되기 때문에 CPU 사용률이 크다. (Topological database를 만들어서 네트워크를 파악하는 것 자체가 메모리 소모가 큰 작업이다.)
    • 따라서 Link state algorithm은 규모가 큰 네트워크에 적용하는 것이 바람직하다.
    • 대표적으로 OSPF(Open Shortest Path First) 라우팅 알고리즘이 있다.

     

     

     


    라우터 패스워드 구성

     

    라우터에 들어가는 패스워드 종류와 특징에 대해서 알아보도록 한다. 한 장비에서 여러가지 패스워드가 존재하기 때문에 반드시 짚고 넘어가야 한다.

     

    먼저 enable password / enable secret에 대해 알아본다. 두 비밀번호 모두 user mode에서 privileged mode로 들어가기 위한 용도인데, 약간의 차이점이 존재한다.

     

    • enable password - password가 라우터의 configuration에서 그대로 보인다. password를 까먹어도 configuration을 확인하면 다시 알 수 있다. 사용자에겐 장점이지만 다른 사람들 역시 볼 수 있으므로 주의해야 함.
    • enable secret - password가 바로 자동 암호화되어 configuration에서도 보이지 않는다.
    • 두 개 다 설정했을 경우 enable secret만 묻는다. secret이 더 상위의 password라고 생각할 수 있다.

     

     

     

     

    맨 위에서 enable pass Cisco를 통해 enable password를 Cisco로 설정하였다. 그 이후 sh run을 이용하여 현재 configuration을 확인해보면 enable password Cisco를 통해 설정된 password를 그대로 보여준다.

     

     

     

     

     

    이번에는 enable secret Hi를 통해 secret을 Hi로 지정해 주었다. configuration을 확인해보면 enable password는 볼 수 있지만 enable secret은 암호화되어 그 값을 알 수 없다!

     

     

     

     

     

    다음으로 세 가지 password가 더 존재한다. 1 콘솔 / 2 Virtual Terminal (텔넷 접속용) / 3 AUX (모뎀 접속포트)

    이 세 가지 password는 각자의 config 모드에서 명령을 입력해야 한다. 위의 enable password, secret처럼 일반 config 모드에서 입력하는 것이 아니다.

     

     

     

     

    콘솔 Console

     

    콘솔 password를 입력하기 위해 먼저 line console 0을 이용하여 console config로 진입한다. 그 후 login 명령을 반드시 쳐주어야 하는데, login을 먼저 쳐주지 않으면 password를 묻지 않고 바로 console으로 접속시킨다. 콘솔, Virtual Terminal, AUX에서 password를 설정해주고자 할 때는 반드시 login이 우선시 되어야 함.

     

     

     

     

     

     

     

    Virtual Terminal,  AUX

     

     

    Virtual Terminal과 AUX의 password는 위와 같이 설정된다. line vty 0 4의 의미는 virtual terminal의 0번~ 4번까지 한 번에 세팅하겠다는 의미이다. 물론 따로따로 설정하는 것도 가능하지만 일반적으로는 모든 virtual terminal에 같은 password를 적용한다.

     

     

     

    이때 그냥 login이 아닌 login local을 적용할 수도 있다. login은 미리 세팅된 password만을 묻는 것인데, login local은 세팅된 사용자 ID, password를 전부 묻는다. 따라서 password 하나만을 묻는 login 명령보다 더 강한 보안을 보장한다.

     

     

     

     

     

    콘솔, 텔넷포트 (Virtual terminal) 같은 경우에는 입력이 한동안 들어오지 않으면 자동으로 연결을 끊는 명령을 설정할 수 있다. exec-timeout 10 30은 10분 30초동안 입력이 없으면 콘솔을 자동으로 끊는다는 의미이다. 만약 time out을 제거하고 싶으면 no exec-timeout 혹은 exec-timeout 0 0을 입력한다.

     

     

     

     

     

     

    Show interfaces

     

    show interfaces는 특정 포트(interface)의 상태를 확인하기 위해 사용된다. 위에서는 show interfaces를 이용하여 해당 라우터의 serial 1/0 포트의 상태를 확인해 본 결과이다. 뭐가 엄청 많지만 맨 위의 한 줄만 보면 된다.

     

     

    Serial1/0 is administratively down, line protocol is down ➜ shutdown이 걸려있는 상태이다. 대부분의 라우터는 초기 실행시 shutdown이 걸려있기 때문에 이를 해제해주어야 한다.

     

     

     

     

    해당 serial port에 접근하여 no shutdown을 입력해준다.

     

     

     

     

    그러면 serial port, line protocol 전부 up이 되어있는 것을 확인할 수 있다. serial과 line protocol 모두 up이면 인터페이스가 아무 이상없이 정상 작동하고 있다는 것을 의미한다.

     

    • Serial - Serial port가 접속되어있는 장비 (DSU/CSU)로부터 캐리어를 받았는지 여부를 나타낸다.
    • line protocol - keepalive 동안 상대쪽으로 정상적으로 신호를 받고있는지 여부를 나타낸다.

     

     

    만약 Serial is up, line protocol is down인 상태라면? ➜ 장비로부터 캐리어는 받고 있는데 상대방으로부터 신호 검출이 되지 않는 상황이다. 내 장비에는 문제가 없지만 회선에 문제가 있거나 상대방 장비에 문제가 있는 경우이다.

     

    또한, 내 라우터와 상대방 라우터의 serial interface의 encapsulation type이 동일하지 않은 경우에도 이러한 오류가 발생한다. 만약 내 장비의 serial interface가 HDLC라면 상대방 라우터도 반드시 HDLC로 설정되어야 한다.

Designed by Tistory.