본문 바로가기

IT/Linux

리눅스 라우팅테이블 확인

리눅스의 라우팅 테이블을 확인하기 위해서는 route 명령어 또는 netstat이라는 명령어를 사용한다 "route"라고 하거나 또는 "netstat -nr"을 실행해 현재 리눅스에 세팅되어 있는 라우팅 테이블을 확인할 수 있다


1. netstat 명령어

 [root@dupont ~]# netstat -nr

 Kernel IP routing table

 Destination          Gateway             Genmask            Flags   MSS  Window  irtt  Iface

 211.214.178.201  0.0.0.0              255.255.255.224 U           40  0             0  eth0

 127.0.0.1             0.0.0.0              255.0.0.0           U           40  0             0  lo

 0.0.0.0                211.214.178.254 0.0.0.0              UG         40  0             0  eth0

위의 명령어를 통해 다음의 정보들을 알 수 있다

 - 기본 게이트웨이: 211.214.178.201

 - 서브넷 마스크   : 255.255.255.224

 - 인터페이스       : eth0


2. route 명령어

 [root@dupont ~]# route

 Kerenl IP routing table

 Destination     Gateway                 Genmask              Flags  Metric  Ref  Use  Iface

 192.168.1.0   *                            255.255.255.0      U       0         0        0   eth0

 168.254.0.0   *                            255.255.0.0          U       0         0        0   eth0

 127.0.0.1      *                             255.0.0.0             U       0         0        0   lo

 default           192.168.1.254         0.0.0.0                 UG     0         0        0  eth0

위의 라우팅테이블을 이해하기 위한 일반적인 규칙

 규칙1 : 위의 첫번째행부터 다음행으로 차례대로 한 행씩 읽어 들여서 처리할 패킷을 보낼 수 있는지를 확인

 규칙2 : default라는 것이 이 리눅스의 기본 게이트웨어 설정행을 의미하며 그 행의 Gateway 항목값이 기본게이트웨이의 IP주소이다. default는 0.0.0.0을 의미

 규칙3 : 보낼 데이터의 목적지 IP주소와 Genmask값(SubnetMask)과의 AND연산을 해서 그 결과가 해당행의 Destination항목과 동일 할 경우에 해당행의 Iface에 잇는 인터페이스로 해당 패킷을 전송하게 된다

 규칙4 : Iface항목의 값이 lo인 행(Destination값이 127.0.0.1인 행)은 이 서버의 루프백(loopback) 데이터를 처리하기 위한 설정이다 즉, 자기자신에게로 데이터를 보낼 때에 처리를 담당하는 인터페이스이다


위의 라우팅테이블을 바탕으로 한 패킷이 전송되는 과정(목적지 주소: 192.168.11.201)

 1. 첫번째 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 첫번째 행의 Genmask값(255.255.255.0)과 AND 연산을 수행. 그 결과가 첫번째 행의 Destination항목값(192.168.1.0)과 다르므로 다음행으로 넘어간다

 2. 두번째 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 두번째 행의 Genmask값(255.255.0.0)과 AND연산을 수행. 그 결과가 첫번째 행의 Destination항목값(168.254.0.0)과 다르므로 다음 세번째 행으로 넘어간다

 3. 세번째 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 세번째 행의 Genmask값(255.0.0.0)과 AND연산을 수행. 그 결과가 첫번째 행의 Destination항목값(127.0.0.1)과 다르므로 다음 네번째 행으로 넘어간다

 4. 네번재 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 네번째 행의Genmask값(0.0.0.0)과 AND연산을 수행. 그 결과가 첫번째 행의 Destination항목값(0.0.0.0)과 같으므로 네번재 행의 Iface항목값인 eth0으로 해당 패킷을 보내게 된다.

이와 같은 것을 라우팅이라고하며 모든 패킷들은 이와같은 라우팅 과정을 거쳐서 외부와 통신하게 된다

'IT > Linux' 카테고리의 다른 글

netstat 명령어  (0) 2014.12.03
리눅스 hostname 변경하기  (0) 2014.11.30
리눅스 IP주소 할당  (0) 2014.11.30
리눅스 네트워크 설정파일  (0) 2014.11.30
리눅스 인터페이스 확인 (ifconfig)  (0) 2014.11.30