IT이야기/네트워크 이야기

Routing table 라우팅 테이블이란

무지개 보드 2023. 1. 12. 21:49
반응형

Routing table(이하 라우팅 테이블) 구성은 여러 네트워크 인터페이스 구성을 가지는 서버에서 필수적으로 구성해야 하는 요소입니다.

저의 경우 클라우드 재해복구 서버 구축 프로젝트 중 데이터 전송 인터페이스가 정상적으로 구성되지 않은 적이 있어 한참을 고생한 적이 있습니다.
관리자가 접속하는 네트워크 대역과 데이터 복제 대역을 다르게 구성해야 했는데 라우팅 테이블이 구성되지 않다보니 전송된 데이터가 목적지를 찾지 못하는 경우가 있었는데요.
한번 고생을 하다보니 잊지 못하게 되었지만 비슷한 경험을 겪지 않으시도록 간단하게 개념을 알려드리겠습니다.

1. Routing Table

네트워크 장비와 같이 서버 내에서도 외부 네트워크와 통신하기 위해 라우팅 테이블을 가집니다.
이는 서버 내에서도 라우팅 장치와 동일하게 최적의 경로를 저장하는 테이블입니다.
해당 정보는 따로 설정하지 않아도 네트워크 정보 설정을 하며 IP, 서브넷마스크, 기본 게이트웨이 입력 시 default 라우팅이 라우팅 테이블에 자동으로 등록됩니다.
간단한 테스트 용 서버를 구축할 때, NAT 구조 내에서 하위 서버들과 통신할 때 등의 간단한 구조일 때는 따로 고려하지 않아도 되는 요소이죠.

다만 네트워크 어댑터를 두개 이상 사용할 경우 여러가지 항목을 고려해야하는 상황이 발생할 수 있습니다.

웹을 통한 접속을 하는 프론트엔트 서버 역할
프론트엔드 통신 시 발생하는 트랜잭션에 대한 데이터 저장 및 처리용 백엔드 서버 역할
재해복구용 HA 서버 네트워크 등을 별도 디자인하는 경우등의 여러 상황이 있는데요.

두 네트워크 어댑터에 모두 기본 게이트웨이를 입력 시 정상 통신이 불가능하여, 하나의 네트워크 어댑터에는 다른 라우팅 정보를 설정해야합니다.

ip route 명령어
ip route

default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.0


서버의 라우팅 테이블 항목을 나타내며 예시와 함께 의미하는 바는 다음과 같습니다.

192.168.0.2 24   192.168.0.1   eth0   10
목적지 서브넷 게이트웨이 인터페이스 우선순위

netstat -rn 명령어로도 확인 가능하며 다음과 같이 간단한 정보를 내포하고 있습니다.

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

여러 네트워크 인터페이스를 구성해야하는 상황이라 라우팅이 필요할 경우 다음과 같이 조정합니다.

route add -host <HostIP> gw <gatewayIP>
route add -net 192.168.1.0/24 dev eth0


등의 방법을 이용하여 라우팅 테이블을 추가할 수 있습니다.
위와 같은 방법은 서버 재부팅 시에 구성한 내용이 사라지며 영구적인 라우팅 설정을 위해서는 다음과 같이 조치합니다.

/etc/sysconfig/network/route-장치명 (OS별로 상이함) 에서 설정사항을 저장합니다.
또는 우분투의 경우 - up route 명령어를 통해 설정하면 위와 같은 적용이 가능합니다.


라우팅 테이블 구성은 클라우드 VM 이용 시에 중요도가 더욱 커지는데요.
모든 VM 에는 서브넷이 있으며 각 서브넷은 각기 다른 네트워크 대역을 가질 수 있습니다.
이 때, 한 쪽의 서브넷에서 다른 쪽의 서브넷으로 통신을 위해서는 라우팅 구성이 필수적입니다.


클라우드의 중요도 및 점유율이 점차 올라가는 현대 시대에 라우팅 테이블에 대한 개념은 탑재해두시는 것이 좋을 것 같습니다!

반응형