라우팅 테이블
route 혹은 netstat라는 명령어를 사용해 라우팅 테이블을 확인할 수 있다.
[root@was01 ~]# 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주소와 SubnetMask와의 AND연산을 해서 그 결과가 해당 행의 Destination항목과 동일할 경우에 해당 행의 Iface에 있는 인터페이스로 해당 패킷을 전송하게 된다.
4.Iface항목값이 lo행(Destination값이 127.0.0.1인행)은 이 서버의 루프백 데이터를 처리하기 위한 설정이다.
즉, 자신에게로 데이터를 보낼 때 처리를 담당하는 인터페이스이다.
패킷이 전송되는 과정(목적지 주소:192.168.11.201)
1.첫 번째 행을 읽어들인다. 보낼 대상의 패킷의 목적지주소(192.168.11.201)와 첫번째 행의 SubnetMask(255.255.255.0)과 AND연산을 수행 그 결과가 첫 번째행의 Destination항목값(192.168.0.1)과 다르므로 다음행으로 간다.
2.두 번째 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 두번째 행의 SubnetMask값(255.255.0.0)과 AND연산을 수행 그 결과가 첫번째 행의 Destination항목값(168.25.40.0)과 다르므로 다음행으로 간다.
3.세번째 행을 읽어들인다. 보낼 패킷의 목적지 주소(192.168.11.201)와 세번째 행의 SubnetMask값(255.0.0.0)과 AND연산을 수행 그 결과가 첫번째 행의 Destination항목값(127.0.0.1)과 다르므로 다음행으로 간다.
4.네번쨰 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 네번째 행의 SubnetMask값(0.0.0.0)과 AND연산을 수행 그 결과가 (0.0.0.0)과 같으므로 Iface항목 값인 eth0으로 패킷 전송te 혹은 netstat라는 명령어를 사용해 라우팅 테이블을 확인할 수 있다.
이해를 돕기 위한 규칙
1.위의 첫번째 행부터 다음행으로 차례대로 한 행씩 읽어 들여서 처리할 패킷을 보낼 수 있는지 확인한다.
2.default라는 것이 이 리눅스의 기본 게이트웨이 설정행을 의미하며 그 행의 Gateway항목 값이 기본 게이트웨이의 IP주소이다. default는 0.0.0.0을 뜻한다.
3.보낼 데이터의 목적지 IP주소와 SubnetMask와의 AND연산을 해서 그 결과가 해당 행의 Destination항목과 동일할 경우에 해당 행의 Iface에 있는 인터페이스로 해당 패킷을 전송하게 된다.
4.Iface항목값이 lo행(Destination값이 127.0.0.1인행)은 이 서버의 루프백 데이터를 처리하기 위한 설정이다.
즉, 자신에게로 데이터를 보낼 때 처리를 담당하는 인터페이스이다.
패킷이 전송되는 과정(목적지 주소:192.168.11.201)
1.첫 번째 행을 읽어들인다. 보낼 대상의 패킷의 목적지주소(192.168.11.201)와 첫번째 행의 SubnetMask(255.255.255.0)과 AND연산을 수행 그 결과가 첫 번째행의 Destination항목값(192.168.0.1)과 다르므로 다음행으로 간다.
2.두 번째 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 두번째 행의 SubnetMask값(255.255.0.0)과 AND연산을 수행 그 결과가 첫번째 행의 Destination항목값(168.25.40.0)과 다르므로 다음행으로 간다.
3.세번째 행을 읽어들인다. 보낼 패킷의 목적지 주소(192.168.11.201)와 세번째 행의 SubnetMask값(255.0.0.0)과 AND연산을 수행 그 결과가 첫번째 행의 Destination항목값(127.0.0.1)과 다르므로 다음행으로 간다.
4.네번쨰 행을 읽어들인다. 보낼 대상패킷의 목적지 주소(192.168.11.201)와 네번째 행의 SubnetMask값(0.0.0.0)과 AND연산을 수행 그 결과가 (0.0.0.0)과 같으므로 Iface항목 값인 eth0으로 패킷 전송