로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Routing과 정적·동적 라우팅 완벽 이해

admin · 2026-10-26 · 조회 5
Routing과 정적·동적 라우팅 완벽 이해

Routing과 정적·동적 라우팅 완벽 이해


1. 라우팅(Routing)이란 무엇인가?

서버를 운영하다 보면 다음과 같은 장애를 자주 접하게 됩니다.


  • 같은 네트워크에 있는 서버와는 통신되지만 다른 네트워크로는 접속되지 않는다.
  • 서버에서 외부로 나가는 통신은 되지만 응답 패킷이 돌아오지 않는다.
  • 특정 서버에만 접속할 수 없고 나머지 서버는 정상이다.
  • 네트워크 인터페이스에 IP를 설정했는데도 목적지까지 패킷이 도달하지 않는다.
  • 네트워크 장비를 교체한 후 일부 서비스만 연결되지 않는다.

이러한 문제를 해결하려면 IP 주소뿐만 아니라 라우팅(Routing) 의 동작 원리를 이해해야 합니다.

라우팅은 출발지에서 목적지까지 패킷이 이동할 경로를 결정하는 과정입니다.

예를 들어 다음과 같은 서버 구성이 있다고 가정하겠습니다.


[Client]
IP: 192.168.10.10/24
        |
        |
[Router]
192.168.10.1
192.168.20.1
        |
        |
[Server]
IP: 192.168.20.10/24

클라이언트와 서버는 서로 다른 IP 네트워크에 있습니다.

클라이언트는 목적지 IP가 자신의 네트워크인 192.168.10.0/24에 속하지 않는다는 사실을 확인합니다. 따라서 목적지 서버에 직접 패킷을 전달하는 대신 기본 게이트웨이인 192.168.10.1로 패킷을 보냅니다.

라우터는 라우팅 테이블을 확인하고 다음 경로를 결정합니다.


출발지: 192.168.10.10
목적지: 192.168.20.10

1. 목적지가 직접 연결된 네트워크인지 확인
2. 라우팅 테이블 검색
3. 가장 적합한 경로 선택
4. 다음 홉(Next Hop) 결정
5. 목적지 방향으로 패킷 전달

이처럼 라우팅은 IP 패킷이 목적지 네트워크까지 이동할 수 있도록 경로를 결정하는 핵심 기능입니다.


2. 라우터와 라우팅 테이블의 관계

라우터는 일반적으로 서로 다른 IP 네트워크를 연결하는 Layer 3 장비입니다.

라우터는 패킷의 목적지 IP 주소를 확인한 다음 라우팅 테이블을 검색합니다.

라우팅 테이블에는 목적지 네트워크, 넷마스크 또는 프리픽스, 다음 홉, 출력 인터페이스 등의 정보가 포함될 수 있습니다.

예를 들어 다음과 같은 라우팅 테이블이 있다고 가정하겠습니다.


Destination       Gateway          Interface
192.168.10.0/24   직접 연결         eth0
192.168.20.0/24   10.0.0.2         eth1
10.0.0.0/24       직접 연결         eth1
0.0.0.0/0         10.0.0.1         eth1

각 항목의 의미는 다음과 같습니다.

목적지의미192.168.10.0/24eth0에 직접 연결된 네트워크192.168.20.0/2410.0.0.2를 다음 홉으로 사용10.0.0.0/24eth1에 직접 연결된 네트워크0.0.0.0/0별도의 경로가 없으면 기본 게이트웨이로 전달

여기서 0.0.0.0/0은 모든 IPv4 목적지에 일치하는 기본 경로입니다.

라우팅 테이블에 목적지와 일치하는 경로가 여러 개 존재하면 라우터는 일반적으로 가장 긴 프리픽스(Longest Prefix Match) 를 선택합니다.

예를 들어 다음 두 경로가 존재한다고 가정하겠습니다.


192.168.0.0/16
192.168.10.0/24

목적지가 192.168.10.50이라면 /24 경로가 /16 경로보다 더 구체적이므로 /24 경로가 선택됩니다.

단, 실제 경로 선택에는 라우팅 테이블 종류, 정책 라우팅, 경로 우선순위 등도 영향을 줄 수 있습니다.


3. 정적 라우팅(Static Routing)이란?

정적 라우팅은 관리자가 목적지 네트워크와 다음 홉을 직접 설정하는 방식입니다.

네트워크 구성이 단순하거나 특정 경로를 명확하게 지정해야 하는 환경에서 사용합니다.

예를 들어 Linux 서버가 다음과 같이 구성되어 있다고 가정하겠습니다.


Linux Server
IP: 192.168.10.10/24
Gateway: 192.168.10.1

목적지 네트워크:
192.168.50.0/24

다음 홉:
192.168.10.254

이 서버가 192.168.50.0/24로 통신하려면 해당 네트워크를 향하는 경로를 등록해야 할 수 있습니다.


3-1. 정적 라우팅 추가

Rocky Linux, RHEL 등 일반적인 Linux 환경에서 다음 명령으로 경로를 추가할 수 있습니다.


sudo ip route add 192.168.50.0/24 via 192.168.10.254

설정한 경로를 확인합니다.


ip route

예상되는 출력은 다음과 같습니다.


192.168.10.0/24 dev ens160 proto kernel scope link src 192.168.10.10
192.168.50.0/24 via 192.168.10.254 dev ens160
default via 192.168.10.1 dev ens160

이제 목적지가 192.168.50.0/24에 해당하면 해당 네트워크 경로를 통해 패킷을 전달합니다.

다만 192.168.10.254는 서버에서 도달 가능한 다음 홉이어야 하며, 해당 라우터에도 목적지 네트워크로 가는 경로가 있어야 합니다.


3-2. 정적 라우팅 삭제

잘못 등록한 경로는 다음 명령으로 삭제할 수 있습니다.


sudo ip route del 192.168.50.0/24 via 192.168.10.254

운영 서버에서는 삭제 전에 현재 라우팅 테이블과 영향 범위를 확인해야 합니다.


3-3. 기본 게이트웨이 설정

기본 경로는 다음과 같이 설정할 수 있습니다.


sudo ip route replace default via 192.168.10.1 dev ens160

기본 경로는 다른 더 구체적인 경로가 없을 때 사용됩니다.

원격 서버에서 기본 경로를 변경하면 SSH 연결이 끊어질 수 있습니다. 원격 작업에서는 콘솔 접속 수단과 복구 계획을 먼저 확보하는 것이 안전합니다.


3-4. ip route 명령의 한계

ip route add로 추가한 경로는 일반적으로 런타임 설정입니다. 재부팅하거나 네트워크 연결 프로파일을 다시 적용하면 사라질 수 있습니다.

운영 환경에서는 NetworkManager를 이용해 영구 설정하는 것이 일반적입니다.

먼저 연결 프로파일을 확인합니다.


nmcli connection show

프로파일 이름을 확인한 후 정적 경로를 추가합니다.


sudo nmcli connection modify "System ens160" \
  +ipv4.routes "192.168.50.0/24 192.168.10.254"

변경 내용을 적용하려면 해당 연결 프로파일을 다시 활성화해야 할 수 있습니다.


sudo nmcli connection up "System ens160"

주의할 점은 원격 접속 중인 인터페이스에 이 명령을 실행하면 연결이 일시적으로 끊길 수 있다는 것입니다. 실제 프로파일 이름은 시스템마다 다르므로 nmcli connection show 결과를 확인해 사용해야 합니다.

설정 결과를 확인합니다.


nmcli connection show "System ens160"
ip route

운영 중인 서버에서는 변경 전 프로파일과 라우팅 테이블을 백업하고, 유지보수 시간에 적용하는 것이 좋습니다.


4. 동적 라우팅(Dynamic Routing)이란?

정적 라우팅은 관리자가 직접 경로를 등록하지만, 동적 라우팅은 라우터들이 라우팅 프로토콜을 이용해 경로 정보를 교환하고 경로를 학습하는 방식입니다.

네트워크 규모가 커지면 모든 경로를 사람이 직접 관리하기 어렵습니다.

예를 들어 수십 대의 라우터가 연결된 네트워크에서 링크 장애가 발생했다고 가정하겠습니다.

정적 라우팅 환경에서는 관리자가 경로를 변경해야 할 수 있습니다. 반면 동적 라우팅을 사용하는 환경에서는 라우터가 프로토콜에 따라 대체 경로를 학습하거나 기존 경로를 재계산할 수 있습니다.

대표적인 동적 라우팅 프로토콜은 다음과 같습니다.

프로토콜특징RIP홉 수를 기준으로 경로를 판단하는 거리 벡터 방식OSPF링크 상태 정보를 바탕으로 경로를 계산하는 내부 게이트웨이 프로토콜IS-IS링크 상태 기반으로 대규모 네트워크에서 사용BGP서로 다른 자율 시스템(AS) 간 경로 정보를 교환하는 데 널리 사용

각 프로토콜은 경로 계산 방식, 수렴 특성, 확장성, 정책 제어 방식이 다릅니다.


4-1. OSPF의 기본 개념

OSPF(Open Shortest Path First)는 기업 내부 네트워크에서 널리 사용되는 링크 상태 라우팅 프로토콜입니다.

OSPF 라우터는 링크 상태 정보를 교환하고 네트워크 토폴로지를 구성한 뒤, SPF(Shortest Path First) 알고리즘을 이용해 최적 경로를 계산합니다.

간단한 구조를 살펴보겠습니다.


           [Router A]
           /        \
       비용 10      비용 30
         /            \
   [Router B]------[Router C]
             비용 5

Router A에서 Router C로 가는 경로는 다음과 같습니다.


  • A → C: 비용 30
  • A → B → C: 비용 10 + 5 = 15

다른 조건이 같다면 OSPF는 비용이 더 낮은 A → B → C 경로를 선택할 수 있습니다.

실제 경로 계산은 OSPF 비용 설정, 인터페이스 상태, 영역 구성 및 다른 경로 속성에 영향을 받습니다.


4-2. BGP의 기본 개념

BGP(Border Gateway Protocol)는 인터넷의 자율 시스템(AS) 사이에서 경로 정보를 교환하는 데 핵심적으로 사용됩니다.

BGP는 단순히 가장 짧은 물리적 경로를 선택하는 방식이 아닙니다. AS 경로, 로컬 선호도(Local Preference), 정책 등 다양한 속성을 이용해 경로를 결정할 수 있습니다.

대규모 기업 네트워크, 데이터센터, 클라우드 연결, 인터넷 사업자 환경에서 중요하게 사용됩니다.

시스템 엔지니어가 BGP를 직접 운영하지 않더라도, 클라우드와 사내 네트워크 사이의 연결 장애를 분석할 때 BGP 경로와 라우팅 정책의 영향을 이해하면 도움이 됩니다.


5. 정적 라우팅과 동적 라우팅 비교

항목정적 라우팅동적 라우팅경로 설정관리자가 직접 설정라우팅 프로토콜로 학습구성 난이도단순한 환경에서 낮음초기 설계와 운영 난이도가 높음장애 대응경로를 수동 변경해야 할 수 있음프로토콜이 대체 경로를 계산할 수 있음네트워크 규모소규모 또는 고정 경로에 적합복잡하고 큰 네트워크에 적합자원 사용상대적으로 적음프로토콜 처리와 경로 계산 자원 필요정책 제어경로를 명시적으로 관리프로토콜별 정책 및 속성 활용주요 위험누락·오설정된 경로프로토콜 설정·정책·수렴 문제

실무에서는 정적 라우팅과 동적 라우팅을 함께 사용하기도 합니다.

예를 들어 네트워크 내부에서는 OSPF를 사용하고, 특정 관리망이나 고정된 외부 목적지에는 정적 경로를 사용할 수 있습니다.


6. Linux 서버에서 라우팅 장애 분석하기

라우팅 장애가 발생했을 때는 무작정 경로를 추가하기보다 현재 서버가 어떤 경로를 선택하는지부터 확인해야 합니다.


6-1. 전체 라우팅 테이블 확인

ip route

기본 경로만 확인하려면 다음 명령을 사용합니다.


ip route show default

예시:


default via 192.168.10.1 dev ens160

이 결과는 별도의 더 구체적인 경로가 없는 목적지에 대해 192.168.10.1을 기본 게이트웨이로 사용한다는 의미입니다.


6-2. 특정 목적지의 실제 경로 확인

ip route get 192.168.50.10

예상 출력:


192.168.50.10 via 192.168.10.254 dev ens160 src 192.168.10.10

출력에서 확인할 항목은 다음과 같습니다.


  • via: 다음 홉
  • dev: 출력 인터페이스
  • src: 해당 경로에 사용될 출발지 IP

이 명령은 실제 경로 선택을 확인하는 데 특히 유용합니다.

다만 정책 라우팅이나 방화벽 마킹이 있는 환경에서는 패킷의 출발지 주소, 사용자, 인터페이스 또는 마크에 따라 결과가 달라질 수 있습니다.


6-3. NIC와 IP 설정 확인

ip -br link
ip -br addr

인터페이스 상태가 DOWN인지, IP 주소가 올바르게 설정되었는지 확인합니다.

필요하면 상세 정보를 확인합니다.


ip addr show ens160
ethtool ens160

ethtool에서는 링크 감지 여부와 협상된 속도 등을 확인할 수 있습니다. 다만 링크가 UP이라고 해서 IP 라우팅까지 정상이라는 의미는 아닙니다.


6-4. 다음 홉까지 통신 확인

ping -c 4 192.168.10.254

다음 홉에 대한 응답이 없더라도 곧바로 라우팅 장애라고 단정해서는 안 됩니다. 장비에서 ICMP 응답을 차단했을 수 있기 때문입니다.

ARP 상태도 확인합니다.


ip neigh show

다음 홉의 이웃 정보가 INCOMPLETE 또는 FAILED라면 같은 Layer 2 구간에서 MAC 주소를 확인하지 못하는 문제를 의심할 수 있습니다.

이 경우 VLAN, 스위치 포트, IP 설정, 중복 IP, 케이블 및 게이트웨이 상태를 함께 확인해야 합니다.


6-5. 목적지까지 경로 추적

traceroute 192.168.50.10

또는 환경에 따라 다음 명령을 사용할 수 있습니다.


tracepath 192.168.50.10

경로 추적은 중간 라우터가 보내는 응답을 이용해 패킷의 이동 경로를 추정합니다. 중간 장비가 관련 응답을 차단하면 특정 홉부터 *로 표시될 수 있으므로, 별표가 나온 위치가 반드시 장애 지점인 것은 아닙니다.


7. 실제 장애 사례: 특정 네트워크만 접속되지 않는 경우

다음과 같은 서버 구성을 가정하겠습니다.


Linux Server
192.168.10.10/24
        |
        |
Gateway
192.168.10.1
        |
        +---- Network A: 192.168.20.0/24
        |
        +---- Network B: 192.168.50.0/24

Network A에는 접속할 수 있지만 Network B에는 접속할 수 없습니다.


7-1. 먼저 실제 경로 확인

ip route get 192.168.50.10

예상 출력:


192.168.50.10 via 192.168.10.254 dev ens160

서버는 Network B로 가는 패킷을 192.168.10.254로 전달하고 있습니다.


7-2. 해당 경로가 올바른지 확인

현재 라우팅 테이블을 확인합니다.


ip route

만약 Network B의 실제 경로가 192.168.10.1을 통해야 한다면, 기존 경로가 잘못 설정되었을 가능성이 있습니다.

관리자와 네트워크 설계를 확인한 후 잘못된 경로를 수정해야 합니다. 실제 환경에서는 라우터가 다른 경로를 사용하도록 설계되었을 수도 있으므로, 단순히 게이트웨이를 변경해서는 안 됩니다.


7-3. 패킷이 어디까지 도달하는지 확인

sudo tcpdump -nn -i ens160 \
  'host 192.168.50.10'

목적지로 나가는 패킷이 관찰되는지, 응답 패킷이 들어오는지 확인합니다.


192.168.10.10 > 192.168.50.10: ICMP echo request
192.168.10.10 > 192.168.50.10: ICMP echo request

요청 패킷만 관찰된다고 해서 원인이 무조건 서버의 라우팅 테이블에 있는 것은 아닙니다. 중간 라우터의 경로 누락, ACL 또는 방화벽 차단, 목적지 서버의 응답 경로 문제도 확인해야 합니다.


7-4. 응답 경로도 확인

네트워크 통신은 요청 경로만 정상이라고 완료되는 것이 아닙니다.


요청:
192.168.10.10 → 192.168.50.10

응답:
192.168.50.10 → 192.168.10.10

목적지 서버나 중간 라우터에 192.168.10.0/24로 돌아가는 경로가 없으면 요청은 도착해도 응답이 돌아오지 않을 수 있습니다.

이것을 비대칭 라우팅(Asymmetric Routing)과 관련된 문제로 분석할 수 있습니다. 비대칭 경로 자체가 항상 장애는 아니지만, 상태 기반 방화벽이나 네트워크 정책이 있는 환경에서는 연결 실패의 원인이 될 수 있습니다.


8. 라우팅 장애 분석 체크리스트

장애가 발생하면 다음 순서대로 확인하면 원인을 좁히기 쉽습니다.


  1. NIC 상태 확인

ip -br link
  1. IP 주소와 프리픽스 확인

ip -br addr
  1. 라우팅 테이블 확인

ip route
  1. 목적지별 실제 경로 확인

ip route get 192.168.50.10
  1. 게이트웨이 및 ARP 상태 확인

ip neigh show
  1. 경로 추적

traceroute 192.168.50.10
  1. 패킷 흐름 확인

sudo tcpdump -nn -i ens160 \
  'host 192.168.50.10'
  1. 중간 라우터와 목적지의 응답 경로 확인
  2. 방화벽 및 네트워크 접근 제어 정책 확인
  3. 변경이 필요하다면 영향 범위와 롤백 방법을 확인한 뒤 적용

운영 서버에서 가장 중요한 것은 명령어를 많이 실행하는 것이 아니라, 각 명령어의 결과를 바탕으로 장애가 발생한 계층과 구간을 좁혀 나가는 것입니다.


9. 시스템 엔지니어가 기억해야 할 핵심 내용

  • 라우팅은 목적지 IP에 도달하기 위한 경로를 결정하는 과정입니다.
  • 라우터는 라우팅 테이블을 기준으로 다음 홉과 출력 인터페이스를 결정합니다.
  • 정적 라우팅은 관리자가 직접 경로를 설정합니다.
  • 동적 라우팅은 OSPF, BGP 등의 프로토콜을 이용해 경로 정보를 교환합니다.
  • 여러 경로가 일치하면 일반적으로 가장 긴 프리픽스가 우선합니다.
  • ip route는 라우팅 테이블을, ip route get은 특정 목적지에 대한 실제 경로 선택을 확인하는 데 유용합니다.
  • 요청 패킷이 목적지에 도착하더라도 응답 경로가 잘못되면 통신이 실패할 수 있습니다.
  • tcpdump는 패킷이 서버에서 나가는지, 응답이 들어오는지 확인하는 데 도움이 됩니다.
  • 라우팅 장애를 분석할 때는 IP, VLAN, 게이트웨이, 방화벽, 중간 라우터, 응답 경로를 함께 살펴봐야 합니다.

마무리

네트워크 장애 분석에서 라우팅은 반드시 이해해야 하는 핵심 영역입니다. 특히 여러 NIC를 사용하는 서버, 사내망과 외부망이 분리된 환경, 데이터센터, 클라우드 네트워크에서는 라우팅 테이블 하나의 설정 오류가 전체 서비스 장애로 이어질 수 있습니다.

다음 편에서는 네트워크 시리즈의 마지막 단계로, 지금까지 학습한 Ethernet, IP, ARP, VLAN, Routing, TCP/UDP, DNS, DHCP, HTTP/HTTPS 지식을 종합해 실제 네트워크 장애 분석과 패킷 분석 실전을 다루겠습니다.

단순히 ping 결과만 확인하는 수준을 넘어, ip route, ss, nc, tcpdump를 조합해 어느 구간에서 통신이 끊겼는지 찾아내는 방법을 정리하겠습니다.

다음 편은 네트워크 20편 — 네트워크 장애 분석과 패킷 분석 실전입니다. 이 편에서는 실제 장애 상황별로 점검 명령어와 패킷 분석 결과를 연결해 네트워크 시리즈를 마무리하겠습니다.

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.