본문 바로가기

IT/리눅스

리눅스 route 와 라우팅경로란?

 

리눅스 route 와 라우팅경로란?

 

 

 

 

안녕하세요 지토우에요 !

오늘은 라우팅 테이블을 읽고 해석하고 경로를 설정/추가 하는 route에 대해서 배우도록 합시다.

 

1. route와 라우팅 경로

 

앞서 ifconfig에 대해 배웠지요? ifconfig는 개별 이더넷장치들에 대한 설정방법을 제공한다고 배웠습니다만,

route라우팅경로를 확인하고 설정하는 유틸리티입니다.

ifconfig로 설정한 각각의 이더넷 장치들이 모여 시스템에 하나의 라우팅 경로를 구성하고,

route라는 유틸리티를 이용해 우리는 이 라우팅 경로를 확인/재구성 하는 것입니다.

 

 

그렇다면 라우팅 경로란 무엇일까요?

다른 말로는 라우팅 테이블 이라고도 합니다.

현재 시스템이 자기자신 또는 외부 네트워크와 통신 하기 위한 각 개별 이더넷들의 데이터 통신 경로 라고 정의할 수 있는데요.

외부통신 경로라고 이해하시면 쉬울 거에요.

 

 

2. route로 할 수 있는 작업들

 

A) 라우팅테이블 확인 작업 (시스템 라우팅경로 확인작업)

 

형식: route 또는 route -n

예: route

 

B) 새로운 라우팅테이블 추가작업 (시스템 라우팅경로 추가작업)

 

형식: route add -net 네트워크주소 netmask 넷마스크값 dev 인터페이스

예: route add -net 192.168.2.0 netmask 255.255.255.0 dev eth0

 

C) 기존 라우팅테이블 제거작업 (시스템 라우팅경로 제거작업)

 

형식: route del -net 네트워크주소 netmask 넷마스크값 [dev 인터페이스명]

예: route del -net 192.168.2.1. eth0

 

D) 기본 게이트웨이 추가작업

 

형식: route add default gw 기본게이트웨이 주소 dev 인터페이스명

예: route del default gw 192.168.0.1 eth0

 

E) 기본 게이트웨이 제거작업

 

형식: route del default gw 기본게이트웨이 주소 [dev 인터페이스명]

예: route del defalt gw 192.168.0.1 eth0

 

F) 루프백 인터페이스 (loop back interface) 추가작업

 

형식: ifconfig lo 127.0.0.1

route add -net 127.0.0.0

 

 

 

3. 기본 게이트웨이 설정 / 확인

 

사실 route의 가장 대표적인 사용 예는 바로 현재 시스템의 기본 게이트웨이를 설정하고 확인하는 것 인데요.

앞서 게이트웨이란 시스템이 외부네트워크와 통신하기 위해 거쳐가는 통로(이더넷으로 연결됐음)라고 배웠지요!

그리고 기본 게이트웨이란 외부 통신을 위한 여러 개의 통로들 가운데 가장 기본이 되는 게이트웨이를 의미하고요.

대부분 리눅스 시스템에는 시스템이 속해있는 이더넷을 벗어나는 패킷들을 기본 게이트웨이로 보내게 됩니다.

그리고 기본 게이트웨이로 사용되는 가장 흔한 경우는 eth0 이더넷이 그 역할을 담당합니다.

 

 

 

위의 결과에서 Genmask 값이 0.0.0.0 인 행이 바로 기본게이트웨이 설정행입니다.

Genmask에 대해 살짝 설명하자면, 특정 패킷이 어디로 가야할지 결정하기 위해 해당 패킷이 가진 목적지 IP 주소와 AND 연산을 할 때 사용되는 값입니다.

당연히 0.0.0.0과 2진수 AND 연산의 결과는 0.0.0.0 이겠지요?

따라서 Destination 값과 AND 연산의 결과가 같아지면 그 행의 인터페이스(Iface) 로 해당 패킷을 보내게 됩니다.

 

어쨌든! 여기서는 위의 route 실행 결과 마지막행인 default 행이 기본게이트웨이 설정행이며 인터페이스는 eth- 으로 설정됐다는 것을 알아두면 됩니다.

 

 

이제 기본게이트웨이를 설정하는 방법을 알아봅시다.

당연히, route 명령어를 통해서 이루어지겠죠?

 

eth0라는 네트워크 인터페이스에 기본게이트웨이를 설정하는 형식은 다음과 같습니다.

 

route add default gw 게이트웨이 IP주소 dev 네트워크인터페이스장치명

 

 

 

 

위의 작업은 설정형식 적용 뒤 route를 실행하여 기본게이트웨이가 라우팅테이블에 정상적으로 설정되었는지를 확인한 결과입니다.

 

마지막 행을 볼까요?

 

default        117.a.a.a1        0.0.0.0        UG        0        0        0  eth0

 

위의 설정의 의미를 알아봅시다.

현재 서버가 외부와 통신을 할 때에는 117.a.a.a1 이라는 게이트웨이를 이용합니다.

이렇게 설정이 정상적이라면 이 서버는 외부네트워크와 통신이 이뤄질 수 있습니다.

 

 

 

4. 기본 게이트 삭제하기

 

게이트 웨이를 설정했다면 삭제하는 방법도 배워야겠지요.

 

route del default gw 기본게이트웨이주소 [dev 인터페이스명]

 

 

위의 보기는 route를 사용해서 삭제까지 확인한 모습입니다.