Networks Admin

본문 바로가기

Networks Admin

Networks >> Networks Administration
[목차]
제4장 ip-masquerade를 이용한 인터넷 카페

    1. IP Masquerade ?

IP가 부족하다. 일반인들이 가정에서 PPP를 쓰거나, 기업에서 웹 호스팅 서비스를 받는다든지 또는 요즘 각광을 받고 있는 SOHO환경에서 네트웍을 사용하고자 하는 리눅서들에게 하나의 IP는 여러대의 컴퓨터를 사용하기에는 네트워킹의 제약사항으로 다가올 수 밖에 없다. 리눅스에서 제공하는 IP Masquerade를 사용하면 IP Address를 할당 받지 못한 컴퓨터에서도 여러가지 네트웍 어플리케이션을 사용할 수 있다. 이것이 리눅스의 커널에서 지원하는 기능이며 계속해서 보완/수정되어가고 있다. 윈도우95나 윈도우 NT에서도 Wingate라는 상용 프로그램을 이용하면 이와 비슷하게 사용할 수 있지만 리눅스에서 제공하는 IP Masquerade는 더 강력하면서도 Wingate라는 상용에 비해서 아무런 추가 비용없이 사용이 가능하다는 장점이 있다. 아래는 HOWTO 문서에서 발취한 내용이다.

켄 이브스의 IP Masquerade FAQ로 부터

여기에 가장 단순한 Masquerade의 설치 그림이 있다.

SLIP/PPP               +------------+                                    +-------------+
인터넷으로             | 리눅스          |             SLIP/PPP          | 다른 컴퓨터   |
<---------- 모뎀1 |                     | 모뎀2 ----------- 모뎀 |                     |
111.222.333.444      |                     |        192.168.1.100         |                     |
                              +------------+                                     +-------------+

위의 그림에서 IP Masquerading을 가지는 설치 가동중에 있는 리눅스 상자가 모뎀1을 사용하여 SLIP이나 PPP를 통하여 인터넷에 연결되어 있다. 그것은 할당된 111.222.333.444라는 IP 주소를 가진다. 모뎀2는 사용자가 SLIP 혹은 PPP 연결을 하여 로긴하도록 한다. 리눅스를 돌리지 않는 두 번째 시스템이 리눅스 박스 안으로 SLIP 혹은 PPP 연결을 한다. 그것은 인터넷상의 할당된 IP 주소를 가지지 않으므로 192.168.1.100을 사용한다.(아래 참고) IP Masquerade와 적절히 구성된 경로(Route)를 가지는 다른 컴퓨터는 몇가지 예를 제외하고는 인터넷에 정말로 연결된 것 같이 사용될수 있다.

폴린 미들링크의 인용

다른 박스는 리눅스 박스를 그것의 출입로(Gateway)로서 설정되야 한다는 것을 잊지 말기 바란다. (기본 경로(default route)혹은 단지 서브넷(subnet)인가는 문제되지 않는다.) 만일 다른 컴퓨터가 이렇게 설정할수 없다면 리눅스 컴퓨터는 모든 지정된 경로의 주소를 위하여 프록시 알프(proxy arp)를 해야만한다. 그러나 그것은 이 문서의 범위를 벗어나는 일이다. 아래는 comp.os.linux.networking에 올라온 글 중에서 발췌한 것이고 위에서 사용된 이름에 맞도록 편집되었다.

o 나는 SLIP으로 연결된 리눅스 컴퓨터가 출입로(gateway)라고 다른 컴퓨터가 알도록 하였다.

o 다른 컴퓨터로부터 리눅스 컴퓨터로 하나의 패킷(packet)이 올 때 리눅스 컴퓨터는 새로운 입력폴트번호(source port number)를 할당하고 패킷 헤더(packet header)안의 원래의 IP 주소를 거부하고 원래의 것을 저장한다. 리눅스 컴퓨터는 SLIP이나 PPP로부터 넘겨받은 변경된 패킷을 인터넷으로 보낸다.

o 하나의 패킷이 인터넷으로부터 리눅스 컴퓨터로 올 때 만일 포트 번호가 위에서 할당된 것들 중 하나이면 원래의 포트와 IP 주소를 가져다가 패킷 헤더에 다시 복구하여 다른 컴퓨터로 패킷을 보낸다.

o 패킷을 보내는 호스트는 절대로 구별할 수 없다.

IP Masquerading의 한 예

아래의 그림이 전형적인 예이다.

+----------+
|                 | Ethernet
| abox        |::::::
|                 |2 :192.168.1.x
+----------+ :
                     :        +----------+ PPP
+----------+  : 1   | Linux        | link
|                 | ::::    |masq-gate|:::::::::// Internet
| bbox        |::::::   |                 |
|                 |3 :     +----------+
+----------+ :
                     :
+----------+ :
|                 | :
| cbox        |::::::
|                 |4
+----------+
<-내부 네트웍->

위의 예에서 우리가 생각해야할 4대의 컴퓨터가 있다. 오른쪽 끝에는 인터넷으로 IP 연결되어 있고 더 오른쪽에는 인터넷상에 서로 정보를 교환해야할 어떤 것이 있다고 가정되어져 있다. 리눅스 컴퓨터의 masq-gate는 인터넷에 연결되야 될 abox, bbox 그리고 cbox라는 컴퓨터들의 내부 네트웍을 위한 Masqurade를 하는 출입로(masquerading gateway)이다. 내부 네트웍은 할당된 개인 네트웍 주소중의 하나를 사용한다. 이 경우 클라스 C의 network 주소인 192.168.1.1과 다른 컴퓨터들은 네트웍상의 하나씩의 주소를 가진다. Windows 95, 매킨토시 MacTCP 혹은 다른 리눅스 컴퓨터와 같은 IP를 사용할 수 있는 다른 운영체계를 가질 수 있는 세 컴퓨터인 abox, bbox 그리고 cbox는 인터넷 상의 다른 컴퓨터들과 연결될 수 있다. 그러나 마스큐레이딩 시스템인 masq-gate는 그들의 접속을 모두 변환해서 그들이 masq-gate로 부터 시작되는 것처럼 보이게 하고 마스큐레이드된 연결로 되돌아오는 데이터를 원래의 컴퓨터로 되돌려주게 된다. 그래서 내부 네트웍상의 컴퓨터들은 인터넷으로 직접 통할수 있고 그들의 데이터들이 마스큐레이드 되었다는 것을 모르게 된다.

[목차]

Copyright © LEELAB.CO.KR. All rights reserved.