컴퓨터공부/Linux & Unix

linux route 명령어

achivenKakao 2006. 8. 3. 17:42

윈도우에도 있고 리눅스에도 있는 Route 명령어 하지만,
이것을 왜 써야 하는지, 어떻게 써야 하는지에 대한 생각은 전혀 안해봤을것이다.

왜냐구? 사실 이 명령어를 사용해서 바꾸는 것이 IP Routing table인데 윈도우든 리눅스든 IP를 셋팅해주면 자동으로 생성되는 것이 바로 이것이기 때문이다.

그럼 이 명령어를 어느 경우에 쓰게 되는가?
게이트웨이가 2개 이상 있을때(잘 이해가 안갈수도 있다. 그렇지만 그런경우 허다하다.) 나가는 트래픽을 제어하기 위해서 쓰게 된다.

단점은 모든 작업을 수동으로 해줘야 한다는 점인데...
예를 들어서 한번 보자.
default gateway가 192.168.0.1로 잡혀있고, 192.168.0.2라는 Gateway를 또하나 생성(이후 gate2라고 명명)했다고 하자.

라우트 명령어를 이용해서 바꾸기 전까지는 모든 트래픽은 default게이트웨이를 통해서 나가게 된다.
이렇게 나가는 트래픽중 www.naver.com으로 가는 트래픽을 gate2로 이동시킨다고 하면...

우선 www.naver.com의 아이피대역을 알기위해서
c:\>nslookup www.naver.com
Non-authoritative answer:
Name:    www.naver.com
Address:  211.218.150.200


Whois로 검색한결과 kornet에서 아직 할당하지 않은 IP대역으로 나오므로 그냥 IP하나만 이동시킨다.

그럼 default gateway에서

       route add -net 211.218.150.200 netmask 255.255.255.255 gw 192.168.0.2

이렇게 하면 디폴트게이트웨이로 왔던 트래픽이 다시 되돌아서 gate2를 통해서 나가게 된다.

 

        User                           Default gateway                    www.naver.com
     192.168.0.3 → → → → → → 192.168.0.1                                 ↑ ↓
         ↑                                       ↓                                        ↑ ↓
         ↑                                       ↓                                        ↑ ↓
         ↑                                       ↓                                        ↑ ↓
         ↑                                     gate2→ → → → → → → → → →  ↓
          ← ← ← ← ← ← ← ← 192.168.0.2  ← ← ← ← ← ← ← ← ← ← 

대략 이러한 현상으로...

주의 : 위 명령어는 휘발성 명령어로서 서버가 꺼지면 사라지게 된다.
       많이 추가 하는 경우에는 rc.boot에 파일로 만들어 넣거나 interface에 추가하는 방법이 있다.

자세한 내용은 Man route 참조


..more