다음 이전 차례

2. 기초지식

2.1 IP Masquerade란 무엇인가?

IP Masquerade는 리눅스 안의 개발되는 네트웍 기능중의 하나이다. 만일 한 리눅스 호스트가 가능한 IP Masquerade를 가지고 인터넷에 연결되었다면 그 호스트에 이떠넷이나 모뎀으로 연결된 다른 컴퓨터들도 공식적으로 할당된 IP주소를 가지지 않더라도 인터넷에 연결될 수 있다.

이것은 컴퓨터들이 인터넷에 사용되는 오직 하나의 컴퓨터로 나타나게 되는 출입로(Gateway) 컴퓨터 뒤에 숨어서 인터넷으로 보이지 않게 접속하는 것을 가능하게 한다. 잘 설치된 Masquerading 컴퓨터의 보안을 깨는 것은 패킷 필터 방식의 방호벽을 깨는 것보다 더 어렵다. (둘다 버그가 없다고 가정할 때)

2.2 현황

IP Masqurade는 아직 실험적인 단계이다. 그러나 1.3.x 이후 커널은 이미 커널 자체에서 지원하고 있다. 많은 사람들과 심지어는 회사들도 그것을 사용하고 결과에 만족하고 있다

웹페이지 보기와 텔넷은 IP Masquerade 상에서 잘 작동한다고 보고 되었다. FTP, IRC 와 리얼오디오 듣기는 적절한 모듈이 있으면 작동한다. 트루 스피치와 인터넷 웨이브와 같은 다른 네트웍 흐름 오디오들도 역시 잘 작동한다. 심지어 메일링 리스트의 몇몇 동료 사용자들은 화상회의 소프트웨어도 시도하고 있다. Ping도 새롭게 사용 가능가능하게 된 ICMP 짜집기(패치)를 사용하면 작동한다.

4.3절에 있는 지원되는 소프트웨어의 전체목록을 참조하기 바란다.

IP Masquerade는 여러 다른 운영체계와 컴퓨터 기종에서 사용자 컴퓨터(Client Machines)으로 잘 작동하고 있다. 유닉스, 윈도우즈 95, 윈도우즈 NT, TCP/IP를 사용한 윈도우즈 웍그룹, OS/2, Mac TCP, Mac Open Transport를 사용한 맥킨토시, NCSA 텔넷을 이용한 도스, VAX, 리눅스를 사용한 알파, 심지어는 AmiTCP 혹은 AS225-stack을 사용한 아미가 등을 사용한 많은 성공한 예가 있다.

2.3 누가 IP Masquerade로부터 이득을 보는가?

2.4 누가 IP Masquerade를 필요로 하지 않는가?

2.5 어떻게 IP Masquerade가 작동하는가?

켄 이브스의 IP Masquerade FAQ로 부터

여기에 가장 단순한 설치의 그림이 있다.
      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로부터 시작되는 것처럼 보이게 하고 마스큐레이드된 연결로 되돌아오는 데이터를 원래의 컴퓨터로 되돌려주게 된다. 그래서 내부 네트웍상의 컴퓨터들은 인터넷으로 직접 통할수 있고 그들의 데이터들이 마스큐레이드되었다는 것을 모르게 된다.

2.6 리눅스 2.x상에서 IP Masquerade를 사용하기위한 요구사항

** 이 HOWTO를 자주 갱신하기 어렵기 때문에 최근의 정보를 위하여 IP Masquerade Resource를 참조하기 바란다. **


다음 이전 차례