[GNS3] OSPF 동적 라우팅 구성 및 Multi-Area 설계

2025. 12. 3. 16:40·Network Practice

실습 목표

이번 실습에서는 OSPF(Open Shortest Path First) 동적 라우팅 프로토콜을 사용하여 본사(HQ)와 지사(Branch) 간의 자동화된 경로 학습 및 관리 시스템을 구현할 예정이다. Multi-Area OSPF 설계를 통해 대규모 네트워크의 확장성을 확보하고, MD5 인증을 통한 보안 강화, Cost 조정을 통한 경로 제어 순으로 실습을 해보겠다.

 

OSPF는 Link-State 라우팅 프로토콜로, 네트워크 전체 토폴로지를 파악하여 최적 경로를 계산한다. RIP과 같은 Distance-Vector 프로토콜에 비해 수렴 속도가 빠르고, Area 개념을 통해 대규모 네트워크에서도 효율적으로 동작한다는 장점이 있다.


전체 토폴로지

네트워크 설계

본사(HQ) - Area 0

  • HQ-Core-R1: 1.1.1.1/32 (Router ID)
  • HQ-Core-R2: 2.2.2.2/32 (Router ID)
  • HQ-Dist-SW: 3.3.3.3/32 (Router ID)
  • VLAN 10: 10.0.10.0/24
  • VLAN 20: 10.0.20.0/24

지사(Branch) - Area 1

  • Branch-R1: 4.4.4.4/32 (Router ID, ABR)
  • VLAN 10: 10.1.10.0/24
  • VLAN 20: 10.1.20.0/24

WAN 링크:

  • HQ-Core-R1 ↔ HQ-Core-R2: 172.16.0.0/30
  • HQ-Core-R1 ↔ Branch-R1: 172.16.1.0/30 (Primary)
  • HQ-Core-R2 ↔ Branch-R1: 172.16.2.0/30 (Backup)

1단계 : 기본 장비 설정

1. HQ-Core-R1 기본 설정

작업 대상

[HQ-Core-R1]

Loopback 인터페이스를 Router ID로 사용하는 이유는? Loopback은 논리적 인터페이스로 물리적 장애의 영향을 받지 않는다. 물리 인터페이스를 Router ID로 사용하면 해당 인터페이스가 다운될 경우 OSPF Neighbor 관계에 영향을 줄 수 있다. Loopback은 항상 up 상태를 유지하므로 안정적인 Router ID를 제공한다.

clock rate 128000: Serial 링크에서 DCE(Data Communication Equipment) 역할을 하는 쪽이 클럭 신호를 제공해야 한다. GNS3 환경에서는 명시적으로 설정해야 링크가 정상 동작한다.


2. HQ-Core-R2 기본 설정

작업 대상

[HQ-Core-R2]


3. HQ-Dist-SW 기본 설정 (Layer 3 스위치)

작업 대상

[HQ-Dist-SW]

ip routing: Layer 3 스위치에서 IP 라우팅 기능을 활성화한다. 이 명령어 없이는 스위치가 Layer 2로만 동작하여 VLAN 간 라우팅이 불가능하다.

vlan 생성

 

no switchport: 스위치 포트를 Layer 3 인터페이스로 전환한다. 기본적으로 스위치의 모든 포트는 Layer 2 스위치포트로 동작하므로, 라우터처럼 IP 주소를 할당하려면 이 명령어가 필수다.

 

SVI(Switched Virtual Interface)란? VLAN에 대한 논리적 인터페이스로, 해당 VLAN의 기본 게이트웨이 역할을 수행한다. Layer 3 스위치는 SVI를 통해 VLAN 간 라우팅을 처리한다.


4. Branch-R1 기본 설정 (ABR)

작업 대상

[Branch-R1]

ABR(Area Border Router)란? 두 개 이상의 OSPF Area를 연결하는 라우터다. Branch-R1은 Area 0(본사)과 Area 1(지사)을 연결하며, 각 Area의 라우팅 정보를 요약하여 다른 Area로 전달한다. 이를 통해 OSPF 데이터베이스 크기를 줄이고 SPF 계산 부담을 감소시킨다.


5. Branch-SW 기본 설정 (Layer 2 스위치)

작업 대상

[Branch-SW]

Branch-SW는 왜 OSPF 설정이 필요 없는가? Layer 2 스위치는 MAC 주소 기반으로만 프레임을 스위칭하며 IP 라우팅 기능이 없다. OSPF는 Layer 3 라우팅 프로토콜이므로 라우팅 기능이 없는 스위치에서는 동작할 수 없다. 모든 라우팅은 상위의 Branch-R1이 처리한다.


6. PC IP 주소 설정

작업 대상

[HQ-PC1] [HQ-PC2] [Branch-PC1] [Branch-PC2]

HQ-PC1 설정

 

HQ-PC2 설정

 

Branch-PC1 설정

 

Branch-PC2 설정


2단계 : OSPF 기본 구성

1. OSPF 프로토콜 개념

OSPF의 주요 특징

  • Link-State 프로토콜: 네트워크 전체 토폴로지를 Link-State Database(LSDB)에 저장하고, SPF(Shortest Path First) 알고리즘으로 최적 경로를 계산한다.
  • 빠른 수렴: 토폴로지 변화 시 즉시 전체 네트워크에 전파되어 빠르게 새로운 경로를 계산한다.
  • Area 기반 설계: 대규모 네트워크를 Area로 분할하여 LSDB 크기를 줄이고 SPF 계산 부담을 감소시킨다.
  • Cost 기반 Metric: 대역폭을 기반으로 경로 비용을 계산한다 (Cost = Reference Bandwidth / Interface Bandwidth).

현재 네트워크의 OSPF 설계

  • Area 0 (Backbone): HQ-Core-R1, HQ-Core-R2, HQ-Dist-SW
  • Area 1: Branch-R1의 LAN 인터페이스, Branch 네트워크
  • ABR: Branch-R1 (Area 0과 Area 1 연결)

왜 Area를 나누는가? 모든 라우터가 하나의 Area에 속하면 네트워크가 커질수록 LSDB가 거대해지고 SPF 계산 부담이 증가한다. Area로 분할하면 각 Area 내부의 상세한 토폴로지 정보는 해당 Area에만 유지되고, 다른 Area에는 요약된 정보만 전달되어 효율성이 향상된다.


2. HQ-Core-R1 OSPF 설정

작업 대상

[HQ-Core-R1]

router ospf 1: OSPF 프로세스를 시작한다. 숫자 1은 프로세스 ID로, 같은 라우터에서 여러 OSPF 프로세스를 실행할 때 구분하는 용도다. 이 숫자는 로컬에서만 의미가 있으며 다른 라우터와 일치할 필요는 없다.

router-id 1.1.1.1: Router ID를 명시적으로 설정한다. Router ID는 OSPF 네트워크에서 각 라우터를 고유하게 식별하는 32비트 값이다. 설정하지 않으면 자동으로 선택되는데, 이는 예측 불가능하므로 명시적 설정이 권장된다.

passive-interface default: 기본적으로 모든 인터페이스를 Passive로 설정한다. Passive 인터페이스는 OSPF Hello 패킷을 전송하지 않아 Neighbor를 형성하지 않지만, 네트워크 정보는 여전히 OSPF에 광고된다. 이는 보안을 강화하고 불필요한 프로토콜 트래픽을 줄인다.

no passive-interface FastEthernet0/0: 특정 인터페이스만 Active로 변경하여 Neighbor 형성을 허용한다. 라우터 간 연결에만 Active로 설정하고, PC나 서버가 연결된 인터페이스는 Passive로 유지하는 것이 보안상 안전하다.

network 명령어의 와일드카드 마스크

  • network 1.1.1.1 0.0.0.0 area 0: 정확히 1.1.1.1 주소만 매칭 (Loopback)
  • network 10.0.0.0 0.0.0.3 area 0: 10.0.0.0/30 네트워크 매칭 (/30은 4개 IP)
  • 와일드카드 마스크는 서브넷 마스크의 반대 개념으로, 0은 정확히 일치해야 하고 1은 무시한다.

log-adjacency-changes: OSPF Neighbor 상태 변화를 로그로 기록한다. Neighbor가 Up/Down될 때 알림을 받아 네트워크 상태를 모니터링할 수 있다.


3. HQ-Core-R2 OSPF 설정

작업 대상

[HQ-Core-R2]


4. HQ-Dist-SW OSPF 설정

작업 대상

[HQ-Dist-SW]

VLAN 네트워크를 OSPF에 포함하는 이유는? HQ의 VLAN 10, 20 네트워크를 OSPF에 광고해야 Branch에서 이 네트워크로 가는 경로를 학습할 수 있다. OSPF에 포함되지 않은 네트워크는 다른 라우터가 알 수 없어 통신이 불가능하다.

network 10.0.10.0 0.0.0.255 area 0: /24 네트워크를 매칭한다. 와일드카드 마스크 0.0.0.255는 마지막 옥텟의 모든 값을 허용한다.


5. Branch-R1 OSPF 설정 (ABR)

작업 대상

[Branch-R1]

ABR의 네트워크 구성이 중요한 이유는? Branch-R1은 Area 0과 Area 1 양쪽에 속한 인터페이스를 가진다. WAN 링크(Serial)는 Area 0에, Branch LAN은 Area 1에 속하도록 설정하여 ABR 역할을 수행한다. 이렇게 하면 Branch LAN의 상세한 토폴로지는 Area 1에만 유지되고, Area 0에는 요약된 정보만 전달된다.

 

Passive Interface를 Sub-Interface에 설정하지 않는 이유는? 현재 Branch-R1의 Sub-Interface(Fa0/0.10, Fa0/0.20)는 PC만 연결되어 있어 Neighbor를 형성할 필요가 없다. 하지만 이들은 물리 인터페이스 Fa0/0의 논리적 인터페이스이므로, 필요시 명시적으로 Passive로 설정해도 된다.


6. OSPF 검증

작업 대상

모든 Router

6-1. OSPF Neighbor 확인

show ip ospf neighbor

State 필드 설명:

  • FULL: Neighbor 관계가 완전히 형성되고 LSDB가 동기화된 상태. 정상 동작 중.
  • FULL/-: Point-to-Point 네트워크에서 DR/BDR 선출이 없는 정상 상태.
  • FULL/DR: Broadcast 네트워크에서 해당 Neighbor가 DR인 상태.
  • FULL/BDR: Broadcast 네트워크에서 해당 Neighbor가 BDR인 상태.

Pri(Priority) 필드:

  • 0: DR/BDR 선출에 참여하지 않음 (Point-to-Point나 Priority가 0으로 설정된 경우).
  • 1 이상: DR/BDR 선출 우선순위. 높을수록 DR로 선출될 가능성이 높다.

6-2. 연결성 테스트

HQ-PC1에서 Branch-PC1으로

ping 성공

경로: HQ-PC1 → HQ-Dist-SW → HQ-Core-R1 → Branch-R1 → Branch-PC1

 

Branch-PC2에서 HQ-PC2로

ping 성공

이 ping이 성공한다는 뜻은 Multi-Area OSPF가 정상적으로 동작하는 것이다. Area 0과 Area 1 간의 라우팅이 ABR(Branch-R1)을 통해 올바르게 이루어지고 있다.


3단계 : OSPF 네트워크 타입 및 DR/BDR 제어

1. OSPF 네트워크 타입 이해

Point-to-Point 타입

  • 사용 위치: Serial 링크, 두 라우터만 연결된 환경
  • 특징:
    • DR/BDR 선출 없음
    • Hello Interval: 10초, Dead Interval: 40초
    • 가장 간단하고 빠른 Neighbor 형성

Broadcast 타입

  • 사용 위치: Ethernet, FastEthernet (기본값)
  • 특징:
    • DR/BDR 선출 필요
    • 멀티캐스트 주소 사용 (224.0.0.5 - All OSPF Routers, 224.0.0.6 - DR/BDR)
    • Hello Interval: 10초, Dead Interval: 40초

왜 네트워크 타입이 중요한가? 네트워크 타입에 따라 OSPF 동작 방식이 완전히 달라진다. Serial 링크에서 DR/BDR를 선출하려 하거나, Broadcast 네트워크에서 DR/BDR 없이 동작하려 하면 Neighbor 형성에 실패한다. 따라서 물리적 네트워크 특성에 맞는 타입을 명시적으로 설정하는 것이 안전하다.


2. Serial 링크 Hello Interval과 Dead Interval 일치화

작업 대상

[HQ-Core-R1] [HQ-Core-R2] [Branch-R1]

2-1. HQ-Core-R1 Serial

ip ospf hello-interval 10: Hello 패킷 전송 주기를 10초로 설정한다. Hello 패킷은 Neighbor가 살아있는지 확인하는 용도다.

ip ospf dead-interval 40: Neighbor가 죽었다고 판단하는 시간을 40초로 설정한다. 이 시간 동안 Hello를 받지 못하면 Neighbor를 제거한다. 일반적으로 Dead Interval은 Hello Interval의 4배로 설정한다.

2-2. HQ-Core-R2, Branch-R1 설정

동일한 방식으로 모든 Serial 인터페이스에 설정한다.


3. DR/BDR 선출 제어

작업 대상

[HQ-Dist-SW] [HQ-Core-R1] [HQ-Core-R2]

3-1. DR/BDR 개념

Broadcast 네트워크에서는 모든 라우터가 서로 Neighbor를 형성하면 n(n-1)/2개의 인접 관계가 생겨 LSA 교환이 비효율적이다. 이를 해결하기 위해 대표 라우터를 선출한다.

  • DR (Designated Router): 대표 라우터. 모든 라우터와 인접 관계를 형성하고 LSA 업데이트를 관리한다.
  • BDR (Backup Designated Router): 백업 라우터. DR 장애 시 즉시 DR로 승격된다.
  • DROther: 일반 라우터. DR/BDR과만 인접 관계를 형성한다.

선출 기준:

  1. OSPF Priority 값이 가장 높은 라우터 (기본값: 1)
  2. Priority가 같으면 Router ID가 가장 높은 라우터
  3. Priority가 0이면 DR/BDR 선출에서 제외됨

왜 HQ-Dist-SW를 DR로 설정하는가? Distribution 스위치는 네트워크의 중심에 위치하며, 모든 트래픽이 이를 거쳐 간다. DR로 설정하면 LSA 업데이트가 효율적으로 전파되고, 토폴로지 변화에 빠르게 대응할 수 있다.


3-2. HQ-Dist-SW Priority 설정

ip ospf priority 100: Priority를 100으로 설정하여 HQ-Dist-SW가 항상 DR로 선출되도록 한다. 기본값은 1이므로 100은 압도적으로 높은 값이다.


3-3. HQ-Core-R1, R2 Priority 조정

Priority 50으로 설정하여 HQ-Dist-SW(100)보다 낮지만 기본값(1)보다는 높게 설정한다. 이렇게 하면 HQ-Dist-SW가 DR, HQ-Core-R1 또는 R2가 BDR로 선출된다.


3-4. OSPF 프로세스 재시작

Priority 변경 사항은 즉시 적용되지 않는다. 기존 DR은 다운되지 않는 한 계속 DR로 유지된다(Pre-emptive하지 않음).

변경 사항을 즉시 적용하려면 아래 명령어를 입력한다.

clear ip ospf process

확인 메시지가 나오면 yes 입력.

 

주의: 이 명령어는 모든 OSPF Neighbor를 재형성하므로 일시적으로 통신이 중단된다. 실제 운영 환경에서는 유지보수 시간에 수행해야 한다.


4. 검증

작업 대상

모든 Router

4-1. 네트워크 타입 확인

show ip ospf interface Serial3/0

Network Type POINT_TO_POINT: 네트워크 타입이 올바르게 설정됨
State POINT_TO_POINT: DR/BDR 선출 없이 직접 연결됨


4단계 : OSPF 최적화 및 MD5 Authentication 설정

1. OSPF Cost 조정

작업 대상

[HQ-Core-R1] [HQ-Core-R2] [Branch-R1]

1-1. OSPF Cost 개념

OSPF Cost는 경로 선택의 기준이 되는 Metric이다.

계산 공식:

Cost = Reference Bandwidth / Interface Bandwidth

 

경로 선택

  • OSPF는 목적지까지의 Cost 합이 가장 낮은 경로를 선택한다.
  • 여러 경로의 Cost가 같으면 Equal-Cost Multi-Path (ECMP) 로드 밸런싱을 수행한다.

우리 네트워크의 목표

  • Primary 경로: HQ-Core-R1 ↔ Branch-R1 (Serial3/1)
  • Backup 경로: HQ-Core-R2 ↔ Branch-R1 (Serial3/1)

Primary 경로를 선호하도록 Backup 경로의 Cost를 높게 설정한다.


1-2. HQ-Core-R1 Primary 링크 설정

ip ospf cost 64: Serial 링크의 기본 Cost를 명시적으로 64로 설정한다.

bandwidth 1544: 인터페이스 대역폭을 1544 kbps(T1 속도)로 설정한다. 이 값은 Cost 자동 계산에 사용되지만, 명시적 Cost 설정이 우선한다.


1-3. HQ-Core-R2 Backup 링크 설정

ip ospf cost 128: Backup 경로의 Cost를 128로 설정하여 Primary(64)보다 2배 높게 만든다. 이렇게 하면 정상 상태에서는 Primary 경로가 선택되고, Primary 장애 시에만 Backup 경로가 사용된다.


1-4. Branch-R1 Cost 설정

Branch-R1에서도 동일한 Cost를 설정하여 양방향 경로가 일치하도록 한다. 이를 대칭 라우팅이라 하며, 트래픽 흐름을 예측 가능하게 만든다.


2. MD5 인증 설정

작업 대상

[HQ-Core-R1] [HQ-Core-R2] [HQ-Dist-SW] [Branch-R1]

2-1. OSPF 인증의 필요성

인증 없이 OSPF를 운영하면 다음과 같은 위험이 있다:

  • 불법 라우터의 참여: 악의적인 사용자가 OSPF 라우터를 네트워크에 연결하여 잘못된 라우팅 정보를 주입할 수 있다.
  • Man-in-the-Middle 공격: 공격자가 OSPF LSA를 가로채고 변조할 수 있다.
  • DoS 공격: 대량의 잘못된 LSA를 전송하여 네트워크를 마비시킬 수 있다.

MD5 인증을 사용하면 OSPF 패킷이 인증된 라우터에서만 전송되었는지 확인할 수 있다.

2-2. Area 0 MD5 인증 설정

HQ-Core-R1:

area 0 authentication message-digest: Area 0 전체에 MD5 인증을 활성화한다. 이 Area의 모든 인터페이스는 인증을 수행해야 한다.

ip ospf message-digest-key 1 md5 Beom@OSPF123:

  • Key ID: 1 (여러 키를 동시에 설정 가능, 키 교체 시 유용)
  • 알고리즘: MD5 해시
  • 패스워드: Beom@OSPF123 (양쪽이 정확히 일치해야 함, 대소문자 구분)

왜 인터페이스마다 키를 설정하는가? Area 인증은 Area 전체에 정책을 적용하지만, 실제 인증은 인터페이스 레벨에서 수행된다. 각 인터페이스에 키를 설정해야 Hello 패킷과 LSA가 인증된다.

 

HQ-Core-R2, HQ-Dist-SW, Branch-R1

동일한 방식으로 설정한다. 모든 라우터의 패스워드가 정확히 일치해야 한다는 점이 중요하다. 하나라도 다르면 Neighbor 형성에 실패한다.


2-3. 검증

show ip ospf interface FastEthernet0/0

Message digest authentication enabled: MD5 인증이 활성화됨
Youngest key id is 1: Key ID 1이 사용 중


마무리

이번 실습을 통해 OSPF 동적 라우팅 프로토콜의 핵심 개념과 실전 구성 방법을 익혔다. Multi-Area 설계, Cost 기반 경로 제어, MD5 인증, 그리고 고가용성 메커니즘까지 포괄적으로 학습했다.

 

배운 점

OSPF는 엔터프라이즈 네트워크의 표준 라우팅 프로토콜로, 빠른 수렴 속도와 확장성이 뛰어나다. Multi-Area 설계를 통해 대규모 네트워크에서도 효율적으로 동작하며, Cost 조정으로 트래픽 엔지니어링이 가능하다. MD5 인증과 Passive Interface 설정으로 보안을 강화할 수 있으며, 이중화 구성으로 높은 가용성을 확보할 수 있다.

 

Primary 링크 다운 시 즉각적으로 Backup으로 전환되는 OSPF의 고가용성에 대해서 배울 수 있었다. 또한 ABR의 역할을 통해 Area 간 라우팅 정보가 어떻게 요약되어 전달되는지 이해하게 되었으며, 이는 대규모 네트워크 설계의 핵심 개념임을 알게 되었다.

'Network Practice' 카테고리의 다른 글

[GNS3] Port Security 및 스위치 보안  (1) 2025.12.17
[GNS3] DHCP 서버구성 및 NAT/PAT 활용  (0) 2025.12.08
[GNS3] HSRP 고가용성 (High Availability) 게이트웨이 구성  (0) 2025.12.01
[WireShark] Filtering - 다양한 복합 필터링 기법  (0) 2025.11.30
[GNS3] EtherChannel Link Aggregation 구성  (0) 2025.11.30
'Network Practice' 카테고리의 다른 글
  • [GNS3] Port Security 및 스위치 보안
  • [GNS3] DHCP 서버구성 및 NAT/PAT 활용
  • [GNS3] HSRP 고가용성 (High Availability) 게이트웨이 구성
  • [WireShark] Filtering - 다양한 복합 필터링 기법
김슭삵
김슭삵
Layer By Layer. 한 층씩 성장 해가는 네트워크와 서버의 학습 공간
  • 김슭삵
    Layer By Layer
    김슭삵
  • 전체
    오늘
    어제
    • 분류 전체보기 (49)
      • Network Concepts (36)
      • Network Practice (12)
      • Linux (0)
      • AWS & Cloud (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ARP
    TCP/IP
    HSRP
    Port Mirroring
    dai
    wireshark
    WLAN
    dhcp
    Cisco
    RSPAN
    Network
    vlan
    Etherchannel
    gns3
    dns
    ERSPAN
    ACL
    LACP
    ROAS
    Nat
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
김슭삵
[GNS3] OSPF 동적 라우팅 구성 및 Multi-Area 설계
상단으로

티스토리툴바