\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{Linux IP Masquerade mini HOWTO ¤¤Ä¶ª©}
\author{§@ªÌ: Ambrose Au, {\ttfamily \onlynameurl{ambrose@writeme.com}}; \\ 
David Ranch, {\ttfamily \onlynameurl{dranch@trinnet.net}} \\ 
Ä¶ªÌ: \onlynameurl{¶À§Ó°¶} {\ttfamily \onlynameurl{cwhuang@linux.org.tw}}}
\date{v1.50, 7 February 1999
Â½Ä¶¤é´Á: 17-31 March 1999}
\abstract{³o¥÷¤å¥ó´y­z¦p¦ó¦b¤@¥x Linux ¥D¾÷¤W°_°Ê IP Masquerade ¥\¯à¡A¤¹³\¨S¦³µù¥Uºô»Úºô¸ô IP ¦ì§}ªº³s½u¹q¸£¸g¥Ñ§Aªº Linux ¾÷¾¹³s±µºô»Úºô¸ô¡C}


\begin{document}
\maketitle
\tableofcontents

\section{Â²¤¶}




\subsection{Â²¤¶}

³o¥÷¤å¥ó´y­z¦p¦ó¦b¤@¥x Linux  ¥D¾÷¤W°_°Ê IP Masquerade ¥\¯à¡A¤¹³\¨S¦³µù¥Uºô»Úºô¸ô IP ¦ì§}ªº³s½u¹q¸£¸g¥Ñ§Aªº Linux ¾÷¾¹³s±µºô»Úºô¸ô¡C§Aªº¾÷¾¹¥i¯à¬O¥H¤A¤Óºô¸ô³s±µ Linux, ¤]¥i¯à¬O¨ä¥¦ºØÃþ¡A¹³¬O¼·±µªºÂI¹ïÂI(ppp) ³s½u¡C³o¥÷¤å¥ó±N·|±j½Õ¤A¤Óºô¸ô³s½uªº±¡ªp¡A¦]¬°³oÀ³¸Ó¬O³Ì±`¨£ªº®×¨Ò¡C

\begin{quotation}
{\bfseries ³o¥÷¤å¥ó¥Øªº¬Oµ¹ 2.2.x ¤Î 2.0.x Ã­©wª©®Ö¤ßªº¨Ï¥ÎªÌ°Ñ¦Ò¡CÂÂª©ªº®Ö¤ß¦p 1.2.x ¨Ã¤£¥]§t¦b¤º¡C}
\end{quotation}





\subsection{«e¨¥¡A¦^õX \& °Ñ¦Ò¸ê°T}

§Úµo²{·s¤â¦b¸û·sªº®Ö¤ß¤W¡A¹³¬O 2.x  ®Ö¤ß¡A³]©w IP Masquerade ®É«D±`§x´b¡CÁöµM¦³¥÷±`¨£°Ýµª¶°(FAQ) »P³q«H½×¾Â(mailing list)¡AµM¦Ó¨S¦³¤@¥÷³o¤è­±ªº±Mªù¤å¥ó¡F¦Ó¥B¦b³q«H½×¾Â¤W¦³¨Ç¹ï©ó³o¼Ë¤@¥÷»¡©ú¤å¥ó(HOWTO) ªº½Ð¨D¡C©Ò¥H¡A§Ú¨M©w¼¶¼g¥¦µ¹©Ò¦³·s¤â§@¬°¤@­Ó°_ÂI¡A¨Ã¥B§Æ±æ¯à©ß¿j¤Þ¥É¡A§@¬°¨º¨Ç«D±`¤F¸Ñ¥¦ªº¨Ï¥ÎªÌ«Ø¥ß¤å¥óªº°òÂ¦¡C¦pªG§A»{¬°§Ú°µªº¤£¦n¡A¤£­n¦b·N§i¶D§Ú¡A³o¼Ë§Ú¯à§â¥¦°µ±o§ó¦n¡C

³o¥÷¤å¥ó«Ü¦h¬O¥H­ì¥ý Ken Eves ªº±`¨£°Ýµª¶°¥H¤Î IP Masquerade ³q«H½×¾Â¸Ì³\¦h¦³À°§Uªº°T®§§@¬°°òÂ¦¡C¯S§O·PÁÂ  Mr. Matthew Driver ¦b³q«H½×¾Â¤¤ªº°T®§¤Þµo§Ú³]¥ß IP Masquerade ªºÆF·P¥H¤Î³Ì«á¼¶¼g¤F³o¥÷¤å¥ó¡C

¦pªG§Úªº¥ô¦ó¸ê°T¦³»~©Î¿òº|¥ô¦ó¸ê°T¡A½Ð§O¤¶·N§â¥ô¦ó¦^õX©Î·N¨£±H¨ì \onlynameurl{ambrose@writeme.com} ¤Î \onlynameurl{dranch@trinnet.net} ¨Ó¡C§AªºµL»ù¦^õX±N¼vÅT³o¥÷»¡©ú¤å¥óªº¥¼¨Ó!

{\bfseries ³o¥÷»¡©ú¤å¥ó¬O·Q§@¬°Åý§Aªº IP Masquerade  ¯à¦b³Ìµu®É¶¡¤º¹B§@ªº§Ö³t«ü¤Þ¡C
¦]¬°§Ú¤£¬O¤@¦ì±Mªù§@®a¡A§A¥i¯à·|µo²{¥»¤å¥óªº¸ê°T¨Ã«D¦p§A·Qªº¨º»ò¤@¯ë¤Î«ÈÆ[¡C
³Ì·sªº®ø®§¥H¤Î¸ê°T¥i¥H¦b§Ú©ÒºûÅ@ªº \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource} ºô­¶¤W§ä¨ì¡C
¦pªG§A¦³¥ô¦óÃö©ó IP Masquerade  ªº§Þ³N°ÝÃD¡A½Ð¥[¤J IP Masquerade  ³q«H½×¾Â¦Ó§O±H¹q¤l¶l¥óµ¹§Ú¡A¦]¬°§Úªº®É¶¡¦³­­¡A¦Ó¥B IP Masquerade ªºµo®iªÌ­Ì§ó¦³¯à¤O¦^µª§Aªº°ÝÃD¡C}

³o¥÷¤å¥ó³Ì·sªºª©¥»¥i¥H¦b \onlynameurl{IP Masquerade Resource} ¤W§ä¨ì¡A¸Ì­±¤]¦³ HTML ¥H¤Î postscript ªºª©¥»:
\begin{itemize}
\item \onlynameurl{http://ipmasq.cjb.net/}
\item \onlynameurl{http://ipmasq2.cjb.net/}
\item ½Ð°Ñ¦Ò \nameurl{http://ipmasq.cjb.net/index.html#mirror}{IP Masquerade Resource ¬M®g¯¸¥x¦Cªí} ¥H§ä¨ì¨ä¥¦ªº¬M®g¯¸¥x¡C
\end{itemize}







\subsection{ª©Åv \& «Å§i}

³o¥÷¤å¥óª©ÅvÄÝ©ó {\ttfamily Ambrose Au 1999}, ¦Ó¥B¬O§K¶Oªº¤å¥ó¡C§A¥i¥H¦b GNU ªº³q¥Î¤½¶}±ÂÅv¤è¦¡¤U´²¼½¥¦¡C

³o¥÷¤å¥ó¤¤ªº¸ê°T¸ò¨ä¥¦¤º®e³£¤w¸gºÉ¤F§Ú³Ì¤jªº§V¤O¡CµL½×¦p¦ó¡AIP Masquerade ¬O{\itshape ¹êÅç©Ê\/}ªº¡A¦Ó¥B§Ú¤]¥i¯à·|¥Ç¨Ç¿ù»~¡F©Ò¥H§AÀ³¸Ó¦Û¤v¨M©w¬O¤£¬O­n·ÓµÛ³o¥÷¤å¥ó¤¤ªº¸ê°T°µ¡C

¨S¦³¤H·|¬°¨Ï¥Î³o¥÷¤å¥ó¤¤ªº¸ê°T©Ò³y¦¨ªº¹q¸£·lÃa©Î¨ä¥¦·l¥¢­t³d¡C¤]´N¬O»¡¡A

\begin{quotation}
{\bfseries §@ªÌ¤ÎºûÅ@ªÌ¤£¹ï¨Ì·Ó³o¥÷¤å¥ó¤º®e°Ê§@©Ò³y¦¨ªº·l®`­t³d¡C} 
\end{quotation}


{\bfseries ­ì¤å}

This document is {\ttfamily copyright(c) 1996 Ambrose Au}, and it's a free document. You can redistribute it under the terms of the GNU General Public License. 

The information and other contents in this document are to the best of my knowledge. However, ip\_masq is {\itshape experimental\/}, and there is chance that I make mistakes as well; so you should determine if you want to follow the information in this document. 

Nobody is responsible for any damage on your computers and any other losses by using the information on this document. i.e. 

\begin{quotation}
{\bfseries THE AUTHOR AND MAINTAINERS ARE NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE
TO ACTIONS TAKEN BASED ON THE INFORMATION IN THIS DOCUMENT.}
\end{quotation}







\section{­I´ºª¾ÃÑ}




\subsection{¤°»ò¬O IP Masquerade?}

IP Masquerade ¬O Linux ªº¤@¶µºô¸ô¥\¯à¡C¦pªG¤@¥x Linux ¥D¾÷¨Ï¥Î IP Masquerade ¥\¯à³s½u¨ìºô»Úºô¸ô¤W¡A¨º»ò±µ¤W¥¦ªº¹q¸£¡]¤£½×¬O¦b¦P¤@­Ó°Ï°ìºô¸ô¤W©ÎÂÇ¥Ñ¼Æ¾Ú¾÷³s½u¡^¤]¥i¥H±µÄ²ºô»Úºô¸ô¡A§Y¨Ï¥¦­Ì{\itshape ¨S¦³Àò±o¥¿¦¡«ü©wªº IP ¦ì§}\/}¡C

³o¨Ï±o¤@¨Ç¹q¸£¥i¥H{\itshape ÁôÂÃ\/}¦b¹h¹D(gateway) ¨t²Î«á­±¦s¨úºô»Úºô¸ô¦Ó¤£³Qµo²{¡A¬Ý°_¨Ó´N¹³¥u¦³³o­Ó¨t²Î¦b¨Ï¥Îºô»Úºô¸ô¡C¬ð¯}³]©w¨}¦nªº°°¸Ë(masquerade)¨t²Î¤§¦w¥þ¨¾Å@À³¸Ó·|¤ñ¬ð¯}¨}¦nªº«Ê¥]¹LÂo¦¡¨¾¤õÀð(packet filter firewall)¨Ó±o§ó¥[§xÃø¡]°²³]¨âªÌ¤§¤¤³£¨S¦³¿ù»~¡^¡C




\subsection{²{ªp}

IP Masquerade ¤w¸gµo®i¦h¦~¦ÓÁÍ©ó¦¨¼ô¡A¦]¦¹¤w¥¿¦¡¨Ö¤J Linux 2.2.x ªº®Ö¤ß¤¤¡C
±q 1.3.x ª©ªº®Ö¤ß¶}©l¤w¸g¤º«Ø³o¶µ¤ä´©¡C³\¦h­Ó¤H¬Æ¦Ü¤½¥q¥¿¦b¨Ï¥Î¥¦¡A¦Ó¦³º¡·Nªºµ²ªG¡C

ÂsÄýºô­¶¥H¤Î»·ºÝÃ±¤J(telnet)¤w¸g¦³¦^³øªí¥Ü¥i¥H¦b IP Masquerade ¤W¹B§@¡CÀÉ®×¶Ç¿é(FTP)¡Aºô¸ô¥æ½Í(IRC) ¥H¤Î²âÅ¥ Real Audio ²{¦b¥i¥H¸ü¤J¬Y¨Ç¼Ò²Õ°t¦X¡C¨ä¥¦ªººô¸ô¸ê®Æ¬y­µ°T (streaming audio) ¹³¬O True Speech  ¥H¤Î Internet Wave  ¤]¯à¹B§@¡C¤@¨Ç³q«H½×¾Â¤¤ªº¨Ï¥Î¹Ù¦ñ¬Æ¦ÜÁÙ¹Á¸Õ¹Lµø°T·|Ä³³nÅé¡C {\ttfamily Ping} ²{¦b°t¦X·sªñ¥i¥H¨ú±oªººô»Úºô¸ô±±¨î°T®§¨ó©w(ICMP)­×¸ÉÀÉ¤]¯à¹B§@¡C

§ó§¹¾ãªº¤ä´©³nÅé¦Cªí½Ð°Ñ¦Ò 4.3 ¸`¡C

IP Masquerade ¦b¼ÆºØ¤£¦Pªº§@·~¨t²Î¤Î¥­»O¤W»P '«È¤áºÝ¾÷¾¹' °t¦X¨}¦n¡C
¦¨¥\ªº®×¨Ò¦³¨Ï¥Î Unix, Windows95, Windows NT, Windows for Workgroup (with TCP/IP package), OS/2, Macintosh System's OS with Mac TCP, Mac Open Transport, DOS with NCSA Telnet package, VAX, Alpha with Linux, ¬Æ¦Ü Amiga with AmiTCP ©Î AS225-stack ªº¨t²Î¡C
³o¦CªíÁÙ¦b¤£Â_¼W¥[·í¤¤¡C­«ÂI´N¬O¡A¥u­n§Aªº¨t²Î¨Ï¥Î TCP/IP ¨ó©w¡A¥¦´NÀ³¸Ó¯à©M IP Masquerade ¤@°_¤u§@¡C




\subsection{½Ö¥i¥H±q IP Masquerade ¤¤Àò¯q?}

\begin{itemize}
\item ¦pªG§A¦³¥x³s±µºô»Úºô¸ôªº Linux ¥D¾÷¡A¦Ó¥B
\item ¦pªG§A¦³¤@¨Ç°õ¦æ TCP/IP ³s±µ¨ì Linux ¾÷¾¹ªº¹q¸£¦b°Ï°ìºô¸ô¤W¡A¥H¤Î/©Î¬O
\item ¦pªG§Aªº Linux ¥D¾÷¦³¤@­Ó¥H¤Wªº¼Æ¾Ú¾÷¨Ã¥B§@¬° PPP ©Î SLIP ¦øªA¾¹³s±µ¨ä¥¦¹q¸£¡A¥¦­Ì
\item ³o¨Ç{\bfseries ¨ä¥¦}¾÷¾¹¨S¦³¥¿¦¡«ü©wªº IP ¦ì§}¡C¡]³o¨Ç¾÷¾¹±q³o¸Ì¶}©l¥H«á´NºÙ¬°{\bfseries ¨ä¥¦}¾÷¾¹¡^
\item ¦Ó¥B·íµM¡A¦pªG§A§Æ±æ³o¨Ç{\bfseries ¨ä¥¦}¾÷¾¹¤£¥²ªáÃB¥~ªº¶O¥Î´N¯à³s¤Wºô»Úºô¸ô :)
\end{itemize}





\subsection{½Ö¤£»Ý­n IP Masquerade?}

\begin{itemize}
\item ¦pªG§Aªº¾÷¾¹¬O³æ¿W¤@¥x(stand-alone) ³s±µºô»Úºô¸ôªº Linux ¥D¾÷¡A¨º»ò°õ¦æ IP Masquerade ¨S¤°»ò·N¸q¡A©ÎªÌ
\item ¦pªG§Aªº{\bfseries ¨ä¥¦}¾÷¾¹¾Ö¦³¥¿¦¡«ü©wªº IP ¦ì§}¡A¨º»ò§A´N¤£»Ý­n IP Masquerade
\item ¦Ó¥B·íµM¡A¦pªG§A¤£³ßÅw§K¶O¨Ï¥Î(free ride) ³o­Ó¥D·Nªº¸Ü¡C
\end{itemize}





\subsection{IP Masquerade ¬O¦p¦ó¹B§@ªº?}

¸`¦Û Ken eves ªº IP Masquerade FAQ:
\begin{verbatim}
  ³o¬O¤j³¡¤ÀÂ²³æªº³]©w¯ó¹Ï:

     SLIP/PPP         +------------+                         +-------------+
     to provider      |  Linux     |       SLIP/PPP          | Anybox      |
    <---------- modem1|            |modem2 ----------- modem |             |
      111.222.333.444 |            |           192.168.1.100 |             |
                      +------------+                         +-------------+

          ¤W­±ªº¯ó¹Ï¤¤¤@¥x¦w¸Ë¨Ã°õ¦æ ip_masquerading  ªº Linux
      ¾÷¾¹¨Ï¥Î modem1 ¸g¥Ñ SLIP/or/PPP  ³s±µºô»Úºô¸ô¡C¥¦¦³¤@­Ó
      «ü©wªº IP ¦ì§} 111.222.333.444¡C¥¦³]©w modem2 ¤¹³\¼·±µªÌ
      Ã±¤J¨Ã°_©l SLIP/or/PPP  ³sµ²¡C

          ²Ä¤G­Ó¨t²Î¡]¤£¥²¬O°õ¦æ Linux  ªº¨t²Î¡^¼·±µ¶i¤J Linux
      ¾÷¾¹¨Ã°_©l SLIP/or/PPP  ³sµ²¡C¥¦¦bºô»Úºô¸ô¤W¨Ã¨S¦³«ü©wªº
      IP  ¦ì§}©Ò¥H¥¦¨Ï¥Î 192.168.1.100¡C¡]°Ñ¾\¤U­z¡^

          °t¦X ip_masquerade  ¤Î¾A·í»¼°e°t¸m(routing configured)
      Anybox  ³o¥x¾÷¾¹¥i¥H¸òºô»Úºô¸ô¥æ¬y´N¦p¦P¥¦¯uªº³s¦b¤W­±¯ë
      ¡]°£¤F¤Ö¼Æ¨Ò¥~¡^¡C

  ¸`¿ý Pauline Middelink:
      §O§Ñ°O´£¨ì ANYBOX À³¸Ó§â Linux  ¾÷¾¹·í§@¥¦ªº¹h¹D¡]µL½×¬O
      ¹w³]»¼°e¸ô®|©Î¥u¬O­Ó¤lºô¸ô³£¨SÃö«Y¡^¡C¦pªG ANYBOX ¤£¯à°÷
      ³o¼Ë³]¡A Linux  ¾÷¾¹À³¸Ó¬°©Ò¦³­n»¼°eªº¦ì§}°µ¥N²z¦ì§}¸ÑªR
      ªR¨ó©w(proxy arp) ªA°È¡A¦ý¥N²z¦ì§}¸ÑªRªº³]©w¶W¹L³o¥÷¤å¥ó
      ªº½d³ò¡C

  ¤U­±¸`¿ý¦Û comp.os.linux.networking ªº¤@½g¥¬§i¨Ã¥Bµy¥[½s¿è¥H
  ²Å¦X¤W­z½d¨Òªº¥Îµü:

  ¡C§Ú§i¶D ANYBOX ³o¥x¾÷¾¹¶] slip ªº linux  ¾÷¾¹¬O¥¦ªº¹h¹D¡C
  ¡C·í¤@­Ó«Ê¥]±q ANYBOX ¶i¤J linux  ¾÷¾¹®É¡A¥¦·|«ü©w·sªº¨Ó·½°ð
    ¸¹(source port number)¡A§â¥¦¦Û¤vªº ip ¦ì§}¶ë¤J«Ê¥]ªº¼ÐÀY¨Ã
    Àx¦s­ì¨Óªº¡CµM«á¥¦±N·|ÂÇ¥Ñ SLIP/or/PPP  ¬É­±§â­×§ï¹Lªº«Ê¥]
    °e¤Wºô»Úºô¸ô¡C
  ¡C·í¤@­Ó«Ê¥]±qºô»Úºô¸ô¨Ó¨ì linux  ¾÷¾¹®É¡A¦pªG°ð¸¹¬O¤W­±«ü©w
    ªº¨ä¤¤¤@­Ó¡A¥¦±N·|¨ú¥X­ì¨Óªº°ð¸¹¥H¤Î ip ¦ì§}¡A§â¥¦­Ì©ñ¦^«Ê
    ¥]ªº¼ÐÀY¡A¨Ã¥B§â«Ê¥]°e©¹ ANYBOX ¡C
  ¡C°e¥X«Ê¥]ªº¥D¾÷±N¥Ã»·¤£ª¾¹D¨ä¤¤ªº®t§O¡C
\end{verbatim}




{\bfseries ¤@­Ó IP Masquerading ªº¨Ò¤l:}

¤U­±ªº¹Ï¥Ü¬O¨å«¬ªº¨Ò¤l:-
\begin{verbatim}

    +----------+
    |          |  Ethernet
    | abox     |::::::
    |          |2    :192.168.1.x
    +----------+     :
                     :   +----------+   PPP   
    +----------+     :  1|  Linux   |   link
    |          |     ::::| masq-gate|:::::::::// Internet
    | bbox     |::::::   |          |
    |          |3    :   +----------+
    +----------+     :
                     :
    +----------+     :
    |          |     :
    | cbox     |::::::
    |          |4    
    +----------+  
                

    <-Internal Network->
\end{verbatim}

¦b³o­Ó¨Ò¤l¤¤§Ú­Ì¦Ò¼{¥|¥x¹q¸£¨t²Î¡]·Q¥²»»»·ªº¥k¤èÁÙ¦³¨ÇªF¦èÅý§A¨ìºô»Úºô¸ôªº IP ³s½u¯à°÷³s±µ¡A¥H¤Î¤@¨Ç¡]»·¶W¹L³o¤@­¶¡^¦bºô»Úºô¸ô¤W§A¦³¿³½ì¥æ´«¸ê°TªºªF¦è¡^¡C
³o­Ó Linux ¨t²Î {\ttfamily masq-gate} ¬O {\ttfamily abox}, {\ttfamily bbox}, {\ttfamily cbox} ¤º³¡ºô¸ô¾÷¾¹³s±µºô»Úºô¸ôªº°°¸Ë¹h¹D¡C
¤º³¡ºô¸ô¨Ï¥Î«ü©wªº¨p¥Î(private) ºô¸ô¦ì§}¡A¦b³o­Ó®×¨Ò¤¤¬O class C ºô¸ô 192.168.1.0, Linux ¾÷¾¹¾Ö¦³¦ì§} 192.168.1.1  ¦Ó¨ä¥¦¨t²Î¤]¾Ö¦³¦¹ºô¸ô¤Wªº¦ì§}¡C

³o¤T¥x¾÷¾¹ {\ttfamily abox}, {\ttfamily bbox} ¥H¤Î {\ttfamily cbox} (¥¦­Ì¥i¥H°õ¦æ¥ô¦ó§@·~¨t²Î ¡Ð ¹³¬O {\bfseries Windows 95}, {\bfseries Macintosh MacTCP} ©Î¬Æ¦Ü¬O¥t¤@¥x Linux ¾÷¾¹¡A¥u­n¥¦­Ì¯à¤F¸Ñ IP)¥i¥H³s½u¨ìºô»Úºô¸ô¤Wªº¨ä¥¦¾÷¾¹¥h¡AµM¦Ó³o­Ó°°¸Ë¨t²Î¹h¹D {\ttfamily masq-gate} Âà´«¥¦­Ì©Ò¦³ªº³s½u©Ò¥H³o¨Ç³s½u¬Ý°_¨Ó¹³¬O­ì¥»§Y±q°°¸Ë¹h¹D {\ttfamily masq-gate} ¥»¨­µo¥Xªº¡A¦Ó¥BÁÙ¦w±Æ°°¸Ë³s½u¶Ç¦^ªº¸ê®ÆÂà¦^­ì¥ýªº¨t²Î ¡Ð ©Ò¥H¦b¤º³¡ºô¸ô¤Wªº¨t²Î¬Ý¨ìªº¬Oª½±µ³q©¹ºô»Úºô¸ôªº»¼°e¸ô®|¦Ó¥B¤£ª¾¹D¥L­Ìªº¸ê®Æ³Q°°¸Ë¹L¡C




\subsection{¦b Linux 2.2.x ¤W¨Ï¥Î IP Masquerade  ªº»Ý¨D}

\begin{quotation}
 {\bfseries ** ½Ð°Ñ¦Ò \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource} ¥HÀò±o³Ì·s¸ê°T¡C**} 
\end{quotation}


\begin{itemize}
\item 2.2.x ª©®Ö¤ßªº­ì©lµ{¦¡½X¥i±q \onlynameurl{http://www.kernel.org/} ¨ú±o¡C\\ 
(¤j³¡¥÷²{¥Nªºµo¦æ®M¥ó¦p Red Hat 5.2 - °t³Æ¤F 2.0.36 ªº®Ö¤ß -
¤w¦³¤F¼Ò²Õ¤Æªº®Ö¤ß¡A¥B©Ò¦³ IP Masquerade ©Ò»Ýªº¿ï¶µ³£¤w¥´¶}¡C
³oºØ±¡§Î¤U¡A¤w¨S¦³¥²­n¦A¦Û¦æ½sÄ¶¡C¦pªG§A¦Û¤v¤É¯Å®Ö¤ß¡A§AÀ³ª`·N§A»Ý­n¤°»ò¡A¦b¤å¥óµy«á·|´£¨ì¡C)
\item ¥i¸ü¤Jªº®Ö¤ß¼Ò²Õ¡A³Ì¦n¬O 2.1.121 ©Î¥H«áªºª©¥»\\ 
\item ³]©w¨}¦nªº TCP/IP ºô¸ô\\ 
¬ÛÃö¤å¥ó¦b \nameurl{http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO.html}{Linux NET-3 HOWTO} ¤Î \nameurl{http://metalab.unc.edu/mdw/LDP/nag/nag.html}{Network Administrator's Guide}\\ 
¤]½Ð°Ñ¦Ò
\nameurl{http://www.ecst.csuchico.edu/~dranch/LINUX/TrinityOS.wri}{Trinity OS Doc}, ¬O¤@¥÷«D±`§¹¾ãªº Linux ºô¸ô°Ñ¦Ò«ü¤Þ¡C
\item ±N§Aªº Linux ¥D¾÷³s¤Wºô»Úºô¸ô\\ 
¬ÛÃö¤å¥ó¦³
\nameurl{http://metalab.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html}{Linux ISP Hookup HOWTO},
\nameurl{http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html}{Linux PPP HOWTO},
\nameurl{http://metalab.unc.edu/mdw/HOWTO/mini/DHCP.html}{Linux DHCP mini-HOWTO} ¤Î
\nameurl{http://metalab.unc.edu/mdw/HOWTO/mini/Cable-Modem.html}{Linux Cable Modem mini-HOWTO}
\item IP Chains 1.3.8 ©Î§ó·sªºª©¥»¡C¥i±q
\onlynameurl{http://www.rustcorp.com/linux/ipchains/} ¨ú±o¡C\\ 
ª©¥»»Ý¨Dªº§ó¦h¸ê°T¤]¦b
\nameurl{http://www.rustcorp.com/linux/ipchains/}{Linux IP Firewalling Chains page}¡C
\item ¨ä¥¦ªº¸ê°T¡A½Ð¨£
\nameurl{http://ipmasq.cjb.net/}{Linux IP Masquerade Resource}
\end{itemize}





\subsection{¦b Linux 2.0.x ¤W¨Ï¥Î IP Masquerade  ªº»Ý¨D}

\begin{quotation}
 {\bfseries ** ½Ð°Ñ¦Ò \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource} ¥HÀò±o³Ì·s¸ê°T¡C**} 
\end{quotation}




\begin{itemize}
\item ®Ö¤ß 2.0.x ªº­ì©lµ{¦¡½X¥i¥H±q³o¸Ì¨ú±o
\onlynameurl{http://www.kernel.org/}\\ 
(¤j³¡¥÷²{¥Nªºµo¦æ®M¥ó¦p Red Hat 5.2 - °t³Æ¤F 2.0.36 ªº®Ö¤ß -
¤w¦³¤F¼Ò²Õ¤Æªº®Ö¤ß¡A¥B©Ò¦³ IP Masquerade ©Ò»Ýªº¿ï¶µ³£¤w¥´¶}¡C
³oºØ±¡§Î¤U¡A¤w¨S¦³¥²­n¦A¦Û¦æ½sÄ¶¡C¦pªG§A¦Û¤v¤É¯Å®Ö¤ß¡A§AÀ³ª`·N§A»Ý­n¤°»ò¡A¦b¤å¥óµy«á·|´£¨ì¡C)
\item ¥i¸ü¤J®Ö¤ß¼Ò²Õ¡A³Ì¦n¬O 2.0.0 ©Î§ó·sªºª©¥»¡A¥i¥H±q³o¸Ì¨ú±o \onlynameurl{http://www.pi.se/blox/modules/modules-2.0.0.tar.gz}\\ 
(¦Ü¤Ö»Ý­n modules-1.3.57)
\item ³]©w¦nªº TCP/IP ºô¸ô\\ 

¬ÛÃö¤å¥ó¦b \nameurl{http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO.html}{Linux NET-3 HOWTO} ¤Î \nameurl{http://metalab.unc.edu/mdw/LDP/nag/nag.html}{Network Administrator's Guide}\\ 
¤]½Ð°Ñ¦Ò
\nameurl{http://www.ecst.csuchico.edu/~dranch/LINUX/TrinityOS.wri}{Trinity OS Doc}, ¬O¤@¥÷«D±`§¹¾ãªº Linux ºô¸ô°Ñ¦Ò«ü¤Þ¡C
\item ±N§Aªº Linux ¥D¾÷³s¤Wºô»Úºô¸ô\\ 
¬ÛÃö¤å¥ó \nameurl{http://metalab.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html}{Linux ISP Hookup HOWTO},
\nameurl{http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html}{Linux PPP HOWTO},
\nameurl{http://metalab.unc.edu/mdw/HOWTO/mini/DHCP.html}{Linux DHCP mini-HOWTO} ¤Î
\nameurl{http://metalab.unc.edu/mdw/HOWTO/mini/Cable-Modem.html}{Linux Cable Modem mini-HOWTO}
\item Ipfwadm 2.3 ©Î§ó·sªºª©¥»¥i¥H±q³o¸Ì¨ú±o\\ 
\onlynameurl{ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.tar.gz} 
¦b Linux Ipfwadm  ºô­¶¤W¦³§ó¦hÃö©óª©¥»ªº¸ê°T \nameurl{http://www.xos.nl/linux/ipfwadm/}{Linux IPFWADM page}
\item §A¥i¥H¿ï¾Ü©Ê¦a¥[¤W¤@¨Ç IP Masquerade ­×¸ÉÀÉ¥H¼W¥[¨ä¥¦¥\¯à¡C
±q³o¸Ì¥i¥H¨úªº§ó¦h¸ê°T¡A \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resources} (³o¨Ç­×¸ÉÀÉ¾A¥Î©ó©Ò¦³ªº 2.0.x  ®Ö¤ß)
\end{itemize}







\section{IP Masquerade ªº³]©w}

\begin{quotation}
{\bfseries ¦pªG§Aªº¨p¥Îºô¸ô¸Ì¦³¥ô¦ó­«­nªº¸ê°T¡A¦b¨Ï¥Î IP Masquerade ¤§«e½Ð¤T«ä¡C³o¥i¯à¦¨¬°§A³q©¹ºô»Úºô¸ôªº¹h¹D¡A¤Ï¤§¥çµM¡A¤]¥i¯à¦¨¬°¥t¤@Ãäªº¥@¬É¶i¤J§A¨p¥Îºô¸ôªº³~®|¡C}
\end{quotation}





\subsection{½sÄ¶®Ö¤ß¥[¤J IP Masquerade ªº¤ä´©}

\begin{quotation}
 {\bfseries ¦pªG§Aªº Linux µo¦æ®M¥ó¤w¸g±N¤U­±±N´£¨ìªº©Ò»Ý¯S©Ê¤Î¼Ò²Õ½sÄ¶¶i¥hªº¸Ü(¤j³¡¥÷¼Ò²Õ¤Æªº®Ö¤ß¦³§A©Ò»ÝªºªF¦è)¡A¨º»ò§A¤£»Ý­n­«·s½sÄ¶®Ö¤ß¡C
¤£¹L¤´¤Q¤À«ØÄ³§AÅª¤@Åª¦¹¸`¡A¦]¬°¥¦¥]§t¤F¨ä¥¦¦³¥Îªº¸ê°T¡C} 
\end{quotation}





\subsubsection{Linux 2.2.x ª©®Ö¤ß}

\begin{itemize}
\item ­º¥ý¡A§A»Ý­n 2.2.x ª©®Ö¤ßªº­ì©lµ{¦¡½X¡C
\item ¦pªG³o¬O§A²Ä¤@¦¸½sÄ¶®Ö¤ß¡A¤£­n®`©È¡C
¨Æ¹ê¤W¡A³o«D±`®e©ö¦Ó¥B²[»\©ó \onlynameurl{Linux Kernel HOWTO}¡C
\item ¥H³o­Ó«ü¥O: {\ttfamily tar xvzf linux-2.2.x.tar.gz -C /usr/src}
±N®Ö¤ß­ì©l½X¸Ñ¶}¦Ü {\ttfamily /usr/src/},
¨ä¤¤ x ¬O 2.2 ¤§«áªº­×¸É¼h¯Å(½T©w¦³¤@¥s {\ttfamily linux} ªº¥Ø¿ý©Î²Å¸¹³sµ²)¡C
\item ¥[¤W¾A·íªº­×¸É¡C¦]¬°·sªº­×¸ÉÀÉ¤£Â_¥X¨Ó¡A©Ò¥H²Ó¸`¤£·|¥]§t¦b³o¸Ì¡C
³Ì·sªº¸ê°T½Ð°Ñ¦Ò \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resources}¡C
\item ¦³Ãö½sÄ¶®Ö¤ß§ó¶i¤@¨Bªº¤¶²Ð½Ð°Ñ¦Ò Kernel HOWTO ¥H¤Î®Ö¤ß­ì©lµ{¦¡½X¥Ø¿ý¸Ìªº README ÀÉ®×¡C
\item ³o¸Ì¬O§A­n½sÄ¶¶i¥hªº¿ï¶µ:
¤U¦C¿ï¶µ­n¦^µª {\itshape YES\/}:

\begin{tscreen}
\begin{verbatim}
  * Prompt for development and/or incomplete code/drivers
    CONFIG_EXPERIMENTAL
    - ³o±NÅý§A¯à¿ï¾Ü§â¹êÅç©Êªº IP Masquerade µ{¦¡½X½sÄ¶¨ì®Ö¤ß¸Ì¥h

  * Enable loadable module support
    CONFIG_MODULES
    - Åý§A¯à°÷¸ü¤J ipmasq ¬ÛÃö¼Ò²Õ¦p ip_masq_ftp.o

  * Networking support
    CONFIG_NET

  * Network firewalls
    CONFIG_FIREWALL

  * TCP/IP networking
    CONFIG_INET

  * IP: forwarding/gatewaying
    CONFIG_IP_FORWARD

  * IP: firewalling
    CONFIG_IP_FIREWALL

  * IP: masquerading
    CONFIG_IP_MASQUERADE

  * IP: ipportfw masq support
    CONFIG_IP_MASQUERADE_IPPORTFW
    - «ØÄ³¥[¤J

  * IP: ipautofw masquerade support
    CONFIG_IP_MASQUERADE_IPAUTOFW
    - ¥i¿ï¥Î

  * IP: ICMP masquerading
    CONFIG_IP_MASQUERADE_ICMP
    - ¤ä´©°°¸Ë ICMP «Ê¥]¡A«ØÄ³¥[¤J

  * IP: always defragment
    CONFIG_IP_ALWAYS_DEFRAG
    - °ª«×«ØÄ³¨Ï¥Î

  * Dummy net driver support
    CONFIG_DUMMY
    - «ØÄ³¥[¤J

  * IP: ip fwmark masq-forwarding support
    CONFIG_IP_MASQUERADE_MFW
    - ¥i¿ï¥Î
\end{verbatim}
\end{tscreen}


ª`·N: ³o¥u¤£¹L¬O§A¶] IP Masquerade ©Ò»Ýªº¶µ¥Ø¡A¨ä¥¦ªº«ö·Ó§A©Ò»Ýªº¨Ó¿ï¾Ü¡C



\item ¦b½sÄ¶§¹®Ö¤ß¤§«á¡A§A»Ý­n½sÄ¶¤Î¦w¸Ë¼Ò²Õ:
\begin{tscreen}
\begin{verbatim}
make modules; make modules_install
\end{verbatim}
\end{tscreen}

\item µM«á§â¤U­±´X¦æ¥[¨ì§Aªº {\ttfamily /etc/rc.d/rc.local} ÀÉ®×
(©Î¨ä¥¦§A»{¬°¾A·íªºÀÉ®×)¤¤¥H«K©ó¨C¦¸­«¶}¾÷®É¦Û°Ê¸ü¤J¦ì©ó 
{\ttfamily /lib/modules/2.2.x/ipv4/} ªº¼Ò²Õ:
\begin{tscreen}
\begin{verbatim}
        .
        .
        .
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
(¥H¤Î¨ä¥¦ªº¼Ò²Õ¦p ip_masq_cuseeme, ip_masq_vdolive,
¦pªG§A¦³¥[¤W³o¨Ç­×¸Éªº¸Ü)
        .
        .
        .
\end{verbatim}
\end{tscreen}


{\bfseries ­«­n: IP Âà°e¥\¯à¦b 2.2.x ª©®Ö¤ß¤¤¹w³]¬OÃö³¬ªº¡A½Ð½T©w§A¥H¦¹«ü¥O±N¨ä¥´¶}:}\\ 
\begin{tscreen}
\begin{verbatim}
echo "1" > /proc/sys/net/ipv4/ip_forwarding
\end{verbatim}
\end{tscreen}

¹ï©ó Red Hat ªº¨Ï¥ÎªÌ¨Ó»¡¡A§A¥i¥H§â {\ttfamily /etc/sysconfig/network} ¤¤ªº
{\ttfamily FORWARD\_IPV4=false} §ï¦¨ {\ttfamily FORWARD\_IPV4=true}¡C
\item ­«·s±Ò°Ê Linux ¥D¾÷¡C
\end{itemize}





\subsubsection{Linux 2.0.x Kernels}

\begin{itemize}
\item ­º¥ý¡A§A»Ý­n®Ö¤ßªº­ì©lµ{¦¡½X(³Ì¦n¬O³Ì·sªº 2.0.36 ©Î¥H¤Wªºª©¥»)¡C
\item ¦pªG³o¬O§A²Ä¤@¦¸½sÄ¶®Ö¤ß¡A¤£­n®`©È¡C
¨Æ¹ê¤W¡A³o«D±`®e©ö¦Ó¥B²[»\©ó \onlynameurl{Linux Kernel HOWTO}¡C
\item ¥H³o­Ó«ü¥O: {\ttfamily tar xvzf linux-2.0.x.tar.gz -C /usr/src}
±N®Ö¤ß­ì©l½X¸Ñ¶}¦Ü {\ttfamily /usr/src/},
¨ä¤¤ x ¬O 2.0 ¤§«áªº­×¸É¼h¯Å(½T©w¦³¤@¥s {\ttfamily linux} ªº¥Ø¿ý©Î²Å¸¹³sµ²)¡C
\item ¥[¤W¾A·íªº­×¸É¡C¦]¬°·sªº­×¸ÉÀÉ¤£Â_¥X¨Ó¡A©Ò¥H²Ó¸`¤£·|¥]§t¦b³o¸Ì¡C
³Ì·sªº¸ê°T½Ð°Ñ¦Ò \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resources}¡C
\item ¦³Ãö½sÄ¶®Ö¤ß§ó¶i¤@¨Bªº¤¶²Ð½Ð°Ñ¦Ò Kernel HOWTO ¥H¤Î®Ö¤ß­ì©lµ{¦¡½X¥Ø¿ý¸Ìªº README ÀÉ®×¡C
\item ³o¸Ì¬O§A­n½sÄ¶¶i¥hªº¿ï¶µ:
¤U¦C¿ï¶µ­n¦^µª {\itshape YES\/}:

\begin{tscreen}
\begin{verbatim}
  * Prompt for development and/or incomplete code/drivers
    CONFIG_EXPERIMENTAL
    - ³o±NÅý§A¯à¿ï¾Ü§â¹êÅç©Êªº IP Masquerade µ{¦¡½X½sÄ¶¨ì®Ö¤ß¸Ì¥h

  * Enable loadable module support
    CONFIG_MODULES
    - Åý§A¯à°÷¸ü¤J¼Ò²Õ

  * Networking support
    CONFIG_NET

  * Network firewalls
    CONFIG_FIREWALL

  * TCP/IP networking
    CONFIG_INET

  * IP: forwarding/gatewaying
    CONFIG_IP_FORWARD

  * IP: firewalling
    CONFIG_IP_FIREWALL

  * IP: masquerading (EXPERIMENTAL)
    CONFIG_IP_MASQUERADE
    - ³oÁöµM¬O¹êÅç©Êªº¡A¦ý«o¬O *¥²¶·* ªº

  * IP: ipautofw masquerade support (EXPERIMENTAL)
    CONFIG_IP_MASQUERADE_IPAUTOFW
    - «ØÄ³¥[¤J

  * IP: ICMP masquerading
    CONFIG_IP_MASQUERADE_ICMP
    - ¤ä´©°°¸Ë ICMP «Ê¥]¡A¥i¿ï¥Î

  * IP: always defragment
    CONFIG_IP_ALWAYS_DEFRAG
    - °ª«×«ØÄ³¨Ï¥Î

  * Dummy net driver support
    CONFIG_DUMMY
    - «ØÄ³¥[¤J
\end{verbatim}
\end{tscreen}


ª`·N: ³o¥u¤£¹L¬O§A¶] IP Masquerade ©Ò»Ýªº¶µ¥Ø¡A¨ä¥¦ªº«ö·Ó§A©Ò»Ýªº¨Ó¿ï¾Ü¡C



\item ¦b½sÄ¶§¹®Ö¤ß¤§«á¡A§A»Ý­n½sÄ¶¤Î¦w¸Ë¼Ò²Õ:
\begin{tscreen}
\begin{verbatim}
make modules; make modules_install
\end{verbatim}
\end{tscreen}

\item µM«á§â¤U­±´X¦æ¥[¨ì§Aªº {\ttfamily /etc/rc.d/rc.local} ÀÉ®×
(©Î¨ä¥¦§A»{¬°¾A·íªºÀÉ®×)¤¤¥H«K©ó¨C¦¸­«¶}¾÷®É¦Û°Ê¸ü¤J¦ì©ó 
{\ttfamily /lib/modules/2.0.x/ipv4/} ªº¼Ò²Õ:
\begin{tscreen}
\begin{verbatim}
        .
        .
        .
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
(¥H¤Î¨ä¥¦ªº¼Ò²Õ¦p ip_masq_cuseeme, ip_masq_vdolive,
¦pªG§A¦³¥[¤W³o¨Ç­×¸Éªº¸Ü)
        .
        .
        .
\end{verbatim}
\end{tscreen}


{\bfseries ­«­n: IP Âà°e¥\¯à¦b 2.0.34 ¤§«áªº®Ö¤ß¤¤¹w³]¬OÃö³¬ªº¡A½Ð½T©w§A¥H¦¹«ü¥O±N¨ä¥´¶}:}\\ 
\begin{tscreen}
\begin{verbatim}
echo "1" > /proc/sys/net/ipv4/ip_forwarding
\end{verbatim}
\end{tscreen}


¹ï©ó Red Hat ªº¨Ï¥ÎªÌ¨Ó»¡¡A§A¥i¥H§â {\ttfamily /etc/sysconfig/network} ¤¤ªº
{\ttfamily FORWARD\_IPV4=false} §ï¦¨ {\ttfamily FORWARD\_IPV4=true}¡C
\item ­«·s±Ò°Ê Linux ¥D¾÷¡C
\end{itemize}







\subsection{«ü©w¨p¥Îºô¸ôªº IP ¦ì§}}

¦]¬°©Ò¦³{\bfseries ¨ä¥¦}¾÷¾¹³£¨S¦³¥¿¦¡«ü©wªº¦ì§}¡A¥²¶·¦³­Ó¥¿½Tªº¤è¦¡¨Ó¤À°t¦ì§}µ¹³o¨Ç¾÷¾¹¡C

¸`¦Û IP Masquerade FAQ:

¦³¥÷ RFC (\#1597, ²{¦b¥i¯à¤w¹L®É¤F) ¬O¦³Ãö¨S¦³»P¥~¬É³s½uªººô¸ô¸Ó¨Ï¥Î¤°»ò IP ¦ì§}¡C¦³¤T­Ó¼Æ¦r°Ï¶ô¬O¯S§O¬°³o­Ó¥Øªº¦Ó«O¯dªº¡C¨ä¤¤¤@­Ó§Ú¨Ï¥Îªº¬O 192.168.1.n ¨ì 192.168.255.n ¤§¶¡ªº 255 Class-C ¤lºô¸ô¡C

\begin{tscreen}
\begin{verbatim}
¸`¦Û RFC 1597:

²Ä¤T¸`: ¨p¥Î¦ì§}ªÅ¶¡

      ºô»Úºô¸ô¦ì§}«ü©w·í§½(IANA: Internet Assigned Numbers Authority)
      ¤w¸g«O¯d¤U¦C¤T­Ó°Ï¶ôªº IP ¦ì§}ªÅ¶¡µ¹¨p¥Îºô¸ô:

                     10.0.0.0        -   10.255.255.255
                     172.16.0.0      -   172.31.255.255
                     192.168.0.0     -   192.168.255.255

      §Ú­Ì±NºÙ²Ä¤@­Ó°Ï¶ô¬° "24¦ì¤¸°Ï¶ô"¡A²Ä¤G­Ó¬° "20¦ì¤¸°Ï¶ô"¡A
      ¦Ó²Ä¤T­Ó«hºÙ¬° "16¦ì¤¸°Ï¶ô"¡Cª`·N¨ì²Ä¤@­Ó°Ï¶ô´N¥u¬O­Ó 
      class A  ºô¸ô¸¹½X¡A²Ä¤G­Ó°Ï¶ô«h¬O³sÄòªº 16 ­Ó class B ºô¸ô
      ¸¹½X¡A¦Ó²Ä¤T­Ó°Ï¶ô¬O¤@²Õ 255  ­Ó³sÄòªº class C ºô¸ô¸¹½X¡C
\end{verbatim}
\end{tscreen}

©Ò¥H¡A¦pªG§A­n¨Ï¥Î¤@­Ó class C  ºô¸ôªº¸Ü¡A¨º»ò§Aªº¾÷¾¹À³¸Ó¥H 192.168.1.1, 192.168.1.2, 192.168.1.3, ..., 192.168.1.x ¨Ó¦W¤§¡C

192.168.1.1 ³q±`¬O¹h¹D³o¥x¾÷¾¹¡A¦b¦¹§Y§A³s¤Wºô»Úºô¸ôªº Linux ¥D¾÷¡Cª`·N 192.168.1.0 ¥H¤Î 192.168.1.255 ¤À§O¬°ºô¸ô¥H¤Î¼s¼½¦ì§}¡A¬O«O¯dªº¡CÁ×§K¦b§Aªº¾÷¾¹¤W¨Ï¥Î³o¨Ç¦ì§}¡C




\subsection{°t¸m¨ä¥¦¾÷¾¹}

°£¤F¬°¨C¥x¾÷¾¹³]©w¾A·íªº IP ¦ì§}¤§¥~¡A§A¤]À³¸Ó³]©w¾A·íªº¹h¹D¡C¤@¯ë»¡¨Ó¡A³o¬O«D±`ª½±µ¤F·íªº¡C§A¥u»ÝÂ²³æ¦a¿é¤J Linux ¥D¾÷ªº¦ì§}(³q±`¬O 192.168.1.1)§@¬°¹h¹D¦ì§}¡C

Ãö©ó»â°ì¦WºÙªA°È¡A§A¥i¥H¥[¤J¥ô¦ó DNS  ¨t²Î¡C³Ì¥i¯àªºÀ³¸Ó¬O§A Linux ¨Ï¥Îªº¨º¤@­Ó¡C§A¤]¥i¥H¿ï¾Ü©Ê¦a¥[¤W¥ô¦óºô°ì¦r§À(domain suffix) ¡C

¦b§A­«·s°t¸m³o¨Ç IP ¦ì§}¤§«á¡A°O±o­«·s±Ò°Ê¾A·íªºªA°È©Î¬O­«·s¶}¾÷¡C

¤U­±ªº°t¸m½d¨Ò°²³]§A¨Ï¥Î¤@­Ó Class C  ºô¸ô¨Ã¥B¥H 192.168.1.1 §@¬° Linux  ¥D¾÷ªº¦ì§}¡C½Ðª`·N 192.168.1.0  ¤Î 192.168.1.255 ¬O«O¯dªº¡C






\subsubsection{°t¸m Windows 95}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¦³¦w¸Ëºô¸ô¥d¥H¤Î¬É­±ÅX°Êµ{¦¡¡A²{¦b°µ¡C
\item ¨ì {\itshape '±±¨î¥x/ºô¸ô'\/} ¸Ì¥h¡C
\item ¦pªG§Aªººô¸ô°t¸m¸Ì¨S¦³ {\itshape 'TCP/IP  ¨ó©w'\/} «h¥[¶i¥h¡C
\item ¦b{\itshape 'TCP/IP  ¤º®e'\/}¤¤¡A¿ï¾Ü{\itshape 'IP  ¦ì§}'\/}¨Ã¥B§â IP ¦ì§}³]©w¬° 192.168.1.x,(1$<$x$<$255) ¡A¨Ã¥B§â¤lºô¸ô¾B¸n³]¬° 255.255.255.0
\item ¦b{\itshape '³q°T¹h'\/}¤¤¥[¤J 192.168.1.x  §@¬°§Aªº¹h¹D¡C
\item ¦b{\itshape 'DNS °t¸m'/'DNS ¦øªA¾¹'\/}¤U¥[¤J§Aªº Linux ¥D¾÷¨Ï¥Îªº DNS (³q±`¥i¥H¦b /etc/resolv.conf ¸Ì§ä¨ì)¡C§A¥i¥H¿ï¾Ü©Ê¦a¥[¤J¾A·íªººô°ì¦r§À·j´M¶¶§Ç¡C
\item ¤£­nÅÜ§ó­ì¥ýªº¨ä¥¦³]©w¡A°£«D§Aª¾¹D¦Û¤v¦b°µ¤°»ò¡C
\item ¦b©Ò¦³ªº¹ï¸Ü²°¤¤«ö¤U{\itshape '½T©w'\/}¨Ã¥B­«·s±Ò°Ê¨t²Î¡C
\item ´ú¸Õºô¸ô³s½u¡A{\ttfamily Ping} §Aªº linux ¥D¾÷: ±q{\itshape '¶}©l/°õ¦æ'\/}¡A¿é¤J ping 192.168.1.1\\ 
(³o¥u¬O°Ï°ìºô¸ô³s½u´ú¸Õ¡A§A²{¦bÁÙ¤£¯à {\ttfamily ping} ¥~­±ªº¥@¬É¡C)
\item §A¥i¥H¦b windows  ¥Ø¿ý¤U¿ï¾Ü©Ê¦a«Ø¥ß¤@­Ó {\ttfamily HOSTS} ÀÉ®×¡A¦p¦¹§A¥i¥H¨Ï¥Î°Ï°ìºô¸ô¸Ìªº¾÷¾¹¦WºÙ¡C¦b windows  ¥Ø¿ý¸Ì¦³­ÓºÙ¬° {\ttfamily HOSTS.SAM} ªº½d¨Ò¡C
\end{enumerate}





\subsubsection{°t¸m Windos for Workgroup 3.11}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¦³¦w¸Ëºô¸ô¥d¥H¤Î¬É­±ÅX°Êµ{¦¡¡A²{¦b°µ¡C
\item ¦pªG§AÁÙ¥¼¦w¸Ë TCP/IP 32b ®M¥óªº¸Ü´N¸Ë§a¡C
\item ¦b {\itshape 'Main'/'Windows Setup'/'Network Setup'\/}, «ö¤U {\itshape 'Drivers'\/}¡C
\item ±N {\itshape 'Network Drivers'\/} ¸Ìªº {\itshape 'Microsoft TCP/IP-32 3.11b'\/} ¤Ï¥Õ¡A«ö¤U {\itshape 'Setup'\/}¡C
\item ³]©w IP ¦ì§}©ó 192.168.1.x (1 $<$ x $<$ 255), µM«á³]©w Subnet Mask ¬° 255.255.255.0 ¥H¤Î Default Gateway ¬° 192.168.1.1¡C
\item ¤£­n¶}±Ò {\itshape 'Automatic DHCP Configuration'\/} ¨Ã¦b {\itshape 'WINS Server'\/} ¤¤©ñ¤J¥ô¦óªF¦è¡A°£«D§A¦b¤@ Windows NT ºô°ì¤¤¦Ó¥B§Aª¾¹D§A¦b°µ¤°»ò¡C
\item «ö¤U {\itshape 'DNS'\/}, ¶ñ¤J¦b 3.3.1 ¤p¸`¤¤¨BÆJ¤»´£¨ìªº¸ê°T¡AµM«á¦b§A§¹¦¨«á«ö¤U {\itshape 'OK'\/} ¶s¡C
\item «ö¤U {\itshape 'Advanced'\/}, ¦pªG§A¨Ï¥ÎÃþ¦ü 3.3.1 ¤p¸`¨BÆJ¤Q¤¤´£¨ì¥D¾÷ÀÉ®×¡A¤Ä¿ï {\itshape 'Enable DNS for Windows Name Resolution'\/} ¤Î {\itshape 'Enable LMHOSTS lookup'\/}¡C
\item ¦b©Ò¦³¹ï¸Ü²°¤¤«ö {\itshape 'OK'\/} ¨Ã­«·s±Ò°Ê¨t²Î¡C
\item {\ttfamily Ping} ¤@¤U§Aªº Linux ¥D¾÷¥H´ú¸Õºô¸ô³s±µ: ¦b {\itshape 'File/Run'\/} ¿é¤J: {\ttfamily ping 192.168.1.1} \\ 
(³o¥u¤£¹L¬O°Ï°ìºô¸ôªº³s±µ´ú¸Õ¡A§AÁÙ¤£¯à {\ttfamily ping} ¨ì¥~­±ªº¥@¬É)¡C
\end{enumerate}





\subsubsection{Configuring Windows NT}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¦³¦w¸Ëºô¸ô¥d¥H¤Î¬É­±ÅX°Êµ{¦¡¡A²{¦b°µ¡C
\item ¨ì {\itshape 'Main'/'Control Panel'/'Network'\/}¡C
\item ¦pªG§AÁÙ¨S¸Ë TCP/IP ªA°Èªº¸Ü±q {\itshape 'Add Software'\/} ¿ï³æ¤¤¥[¤J TCP/IP ¨ó©w¤Î¬ÛÃöªº³¡¥÷¡C
\item ¦b {\itshape 'Network Software and Adapter Cards'\/} ¸Ì±N {\itshape 'Installed Network Software'\/} ¿ï¾Ü²°¤¤ªº {\itshape 'TCP/IP ¨ó©w'\/} ¤Ï¥Õ¡C
\item ¦b {\itshape 'TCP/IP Configuration'\/}¡A¿ï¾Ü¾A·íªº¬É­±ÅX°Êµ{¦¡¡A¨Ò¦p¡A{\ttfamily [1]Novell NE2000 Adapter}¡CµM«á³]©w IP ¦ì§}©ó 192.168.1.x (1 $<$ x $<$ 255)¡AµM«á³]©w Subnet Mask ¬° 255.255.255.0 ¥H¤Î Default Gateway ¬° 192.168.1.1¡C
\item ¤£­n¶}±Ò {\itshape 'Automatic DHCP Configuration'\/} ¨Ã¦b {\itshape 'WINS Server'\/} ¤¤©ñ¤J¥ô¦óªF¦è¡A°£«D§A¦b¤@ Windows NT ºô°ì¤¤¦Ó¥B§Aª¾¹D§A¦b°µ¤°»ò¡C
\item «ö¤U {\itshape 'DNS'\/}, ¶ñ¤J¦b 3.3.1 ¤p¸`¤¤¨BÆJ¤»´£¨ìªº¸ê°T¡AµM«á¦b§A§¹¦¨«á«ö¤U {\itshape 'OK'\/} ¶s¡C
\item «ö¤U {\itshape 'Advanced'\/}, ¦pªG§A¨Ï¥ÎÃþ¦ü 3.3.1 ¤p¸`¨BÆJ¤Q¤¤´£¨ì¥D¾÷ÀÉ®×¡A¤Ä¿ï {\itshape 'Enable DNS for Windows Name Resolution'\/} ¤Î {\itshape 'Enable LMHOSTS lookup'\/}¡C
\item ¦b©Ò¦³¹ï¸Ü²°¤¤«ö {\itshape 'OK'\/} ¨Ã­«·s±Ò°Ê¨t²Î¡C
\item {\ttfamily Ping} ¤@¤U§Aªº Linux ¥D¾÷¥H´ú¸Õºô¸ô³s±µ: ¦b {\itshape 'File/Run'\/} ¿é¤J: {\ttfamily ping 192.168.1.1} \\ 
(³o¥u¤£¹L¬O°Ï°ìºô¸ôªº³s±µ´ú¸Õ¡A§AÁÙ¤£¯à {\ttfamily ping} ¨ì¥~­±ªº¥@¬É)¡C
\end{enumerate}





\subsubsection{°t¸m UNIX ¨t¦Cªº¨t²Î}

\begin{enumerate}
\item ¦pªG§AÁÙ¥¼¦w¸Ë§Aªººô¸ô¥d¨Ã¥H¾A·íªº¬É­±ÅX°Êµ{¦¡­«·s½sÄ¶§Aªº®Ö¤ß¡A²{¦b´N°µ§a¡C
\item ¦w¸Ë TCP/IP ºô¸ô¡A¹³¬O nettools ®M¥ó¡A¦pªG§AÁÙ¨S¸Ëªº¸Ü¡C
\item ±N {\itshape IPADDR\/} ³]¬° 192.168.1.x (1 $<$ x $<$ 255), µM«á±N {\itshape NETMASK\/} ³]¬° 255.255.255.0, {\itshape GATEWAY\/} ³]¬° 192.168.1.1, ¥H¤Î {\itshape BROADCAST\/} ³]¬° 192.168.1.255¡C\\ 
¨Ò¦p¡A¦b Red Hat Linux ¨t²Î¤W§A¥i¥H½s¿è {\ttfamily /etc/sysconfig/network-scripts/ifcfg-eth0}¡A©Îª½±µ±q Control Panel ¸Ì°µ¡C\\ 
(¦b SunOS, BSDi, Slackware Linux, µ¥¤¤³£¤£¬Û¦P...)
\item ±N§Aªº¦WºÙ¦øªA¾¹¤Î»â°ì·j´M¦r§À¥[¨ì {\ttfamily /etc/resolv.conf}¡C
\item ¨Ì¾Ú§Aªº³]©w§A¥i¯à­n§ó·s§Aªº {\ttfamily /etc/networks} ÀÉ®×¡C
\item ­«·s±Ò°Ê¾A·íªºªA°È¡A©ÎÂ²³æªº­«·s¶}¾÷¡C
\item µo¥X {\ttfamily ping} «ü¥O: {\ttfamily ping 192.168.1.1} ¥H´ú¸Õ¨ì§Aªº gateway ¾÷¾¹ªº³s±µ©Ê¡C\\ 
(³o¥u¤£¹L¬O°Ï°ìºô¸ôªº³s±µ´ú¸Õ¡A§AÁÙ¤£¯à {\ttfamily ping} ¨ì¥~­±ªº¥@¬É)¡C
\end{enumerate}





\subsubsection{°t¸m¨Ï¥Î NCSA Telnet ®M¥óªº DOS ¾÷¾¹}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¦³¦w¸Ëºô¸ô¥d¡A²{¦b°µ¡C
\item ¸ü¤J¾A·íªº«Ê¥]ÅX°Êµ{¦¡¡C¹ï©ó NE2000 ¥d¨Ó»¡¡A¦pªG§Aªº¥d³]©w¬° IRQ 10 ¤ÎµwÅé¦ì§}©ó 0x300¡A¥Î {\ttfamily nwpd 0x60 10 0x300}¡C
\item «Ø¥ß¤@·s¥Ø¿ý¡AµM«á¸Ñ¶} NCSA Telnet ®M¥ó: {\ttfamily pkunzip tel2308b.zip}
\item ¨Ï¥Î¤å¦r½s¿è¾¹¥´¶} {\ttfamily config.tel} ÀÉ®×¡C
\item ³]©w {\ttfamily myip=192.168.1.x} (1 $<$ x $<$ 255), ¥H¤Î {\ttfamily netmask=255.255.255.0}¡C
\item ¦b¥»¨Ò¤l¤¤¡A§AÀ³¸Ó³]©w {\ttfamily hardware=packet, interrupt=10, ioaddr=60}¡C
\item §A¦Ü¤Ö­n¦³¤@³æ¿Wªº¾÷¾¹³]©w¬° gateway¡A¤]´N¬O Linux ¥D¾÷:
\begin{tscreen}
\begin{verbatim}
name=default
host=yourlinuxhostname
hostip=192.168.1.1
gateway=1
\end{verbatim}
\end{tscreen}

\item ÁÙ­n¦³¥t¥~¤@­Ó«ü©w»â°ì¦WºÙªA°È:
\begin{tscreen}
\begin{verbatim}
name=dns.domain.com ; hostip=123.123.123.123; nameserver=1
\end{verbatim}
\end{tscreen}

ª`·N: ¥Î§A Linux ¥D¾÷¨Ï¥Îªº DNS ªº¾A·í¸ê°T¨Ó¨ú¥N¡C
\item Àx¦s§Aªº {\ttfamily config.tel} ÀÉ®×¡C
\item Telnet ¨ì§Aªº Linux ¥D¾÷¥H´ú¸Õºô¸ô³s±µ: {\ttfamily telnet 192.168.1.1}
\end{enumerate}





\subsubsection{°t¸m°õ¦æ MacTCP ªº MacOS ¾÷¾¹}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¬°§Aªº¤A¤Óºô¸ôÂà±µ¾¹¦w¸Ë¾A·íªºÅX°Êµ{¦¡¡A³Ì¦n²{¦b´N§@¡C
     
\item ¥´¶} {\itshape MacTCP control panel\/}¡A¿ï¾Ü¾A·íªººô¸ôÅX°Êµ{¦¡(Ethernet, ¦Ó«D EtherTalk) ¨Ã«ö¤U {\itshape 'More...'\/} ¶s¡C
\item ¦b {\itshape 'Obtain Address:'\/}, «ö {\itshape 'Manually'\/}¡C
\item ¦b {\itshape 'IP Address:'\/} ¤U¡A±q¼u¥X¿ï³æ¤¤¿ï¾Ü {\itshape class C\/}¡C©¿²¤¹ï¸Ü²°¤¤ªº¨ä¥¦³¡¥÷¡C
\item ¦b {\itshape 'Domain Name Server Information:'\/} ¤¤¶ñ¤J¾A·í¸ê°T¡C
\item ¦b {\itshape 'Gateway Address:'\/} ¤¤¡A¶ñ¤J 192.168.1.1¡C
\item «ö¤U {\itshape 'OK'\/} ¥HÀx¦s³]©w¡C¦b {\itshape MacTCP control panel\/} ªº¥Dµøµ¡¤¤¡A¦b {\itshape 'IP Address:'\/} ²°¤¤¶ñ¤J§A Mac ªº IP ¦ì§} (192.168.1.x, 1 $<$ x $<$ 255)¡C
\item Ãö³¬ {\itshape MacTCP control panel\/}¡C¦pªG¦³ªº¼u¥Xµøµ¡´£¿ô§A­«·s¶}¾÷¡A¨º´N°µ§a¡C  
\item §A¥i¥H {\ttfamily ping} ¤@¤U§Aªº Linux ¥D¨Ó¨Ó´ú¸Õºô¸ô³s½u¡C¦pªG§A¦³ {\itshape MacTCP Watcher\/} §K¶Oµ{¦¡¡A«ö¤U {\itshape 'Ping'\/} ¶s¡AµM«á¦b¼u¥Xªº¹ï¸Ü²°¤¤Áä¤J§Aªº Linux ¥D¾÷ªº¦a§}(192.168.1.1)¡C(³o¥u¤£¹L¬O°Ï°ìºô¸ôªº³s±µ´ú¸Õ¡A§AÁÙ¤£¯à {\ttfamily ping} ¨ì¥~­±ªº¥@¬É¡C)
\item §A¥i¿ï¾Ü©Ê¦a¦b System Folder ¤¤«Ø¥ß¤@ {\ttfamily Hosts} ÀÉ®×¥H«K§A¥i¥H¨Ï¥Î§A°Ï°ìºô¸ô¸Ì¾÷¾¹ªº¥D¾÷¦WºÙ¡C
³o­ÓÀÉ®×¥i¯à¤w¸g¦s¦b©ó§Aªº System Folder ¸Ì¡A¦Ó¥B¥¦À³¸Ó·|¥]§t¤@¨Ç(µù¸Ñ±¼ªº)½d¨Ò¶µ¥Ø¦Ó§A¥i¥H®Ú¾Ú§Aªº»Ý­n¨Ó­×§ï¡C
\end{enumerate}





\subsubsection{°t¸m°õ¦æ Open Transport ªº MacOS ¨t²Î}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¬°§Aªº¤A¤Óºô¸ôÂà±µ¾¹¦w¸Ë¾A·íªºÅX°Êµ{¦¡¡A³Ì¦n²{¦b´N§@¡C
\item ¥´¶} {\itshape TCP/IP Control Panel\/} µM«á±q {\itshape Edit\/} ¿ï³æ¤¤¿ï¾Ü {\itshape 'User Mode ...'\/}¡C½T©w¨Ï¥ÎªÌ¼Ò¦¡¦Ü¤Ö¬O {\itshape 'Advanced'\/} µM«á«ö¤U {\itshape 'OK'\/} ¶s¡C
\item ±q {\itshape File\/} ¿ï³æ¤¤¿ï¾Ü {\itshape 'Configurations...'\/}¡C¿ï¾Ü {\itshape 'Default'\/} °t¸m¨Ã«ö¤U {\itshape 'Duplicate...'\/} ¶s¡C¦b {\itshape 'Duplicate Configuration'\/} ¹ï¸Ü²°¤¤Áä¤J 'IP Masq' (©Î¬O¨ä¥¦¯àÅý§Aª¾¹D³o¬O­Ó¯S®í°t¸mªº¦r²´)¡A¥¦¥i¯à·|»¡¹³¬O {\itshape 'Deafault copy'\/} ¤°»òªº¡CµM«á«ö¤U {\itshape 'OK'\/} ¶s¡A¥H¤Î {\itshape 'Make Active'\/} ¶s¡C
\item ±q {\itshape 'Connect via:'\/} ¼u¥X¦¡¿ï³æ¤¤¿ï¾Ü {\itshape 'Ethernet'\/}¡C
\item ±q {\itshape 'Configure:'\/} ¼u¥X¦¡¿ï³æ¿ï¾Ü¾A·íªº¶µ¥Ø¡C¦pªG§A¤£ª¾¹DÀ³¸Ó¿ï¤°»ò¡A§A¥i¯àÀ³¸Ó­«·s¿ï¾Ü§Aªº {\itshape 'Default'\/} °t¸mµM«áÂ÷¶}¡C§Ú¥Îªº¬O {\itshape 'Manually'\/}¡C
\item ¦b {\itshape 'IP Address:'\/} ²°¤¤¿é¤J§Aªº Mac ªº IP ¦ì§} (192.168.1.x, 1 $<$ x $<$ 255)¡C
\item ¦b {\itshape 'Subnet mask:'\/} ²°¤¤¿é¤J 255.255.255.0¡C
\item ¦b {\itshape 'Router address:'\/} ²°¤¤¿é¤J 192.168.1.1 ¡C
\item ¦b {\itshape 'Name server addr.:'\/} ²°¤¤¿é¤J§Aªº»â°ì¦WºÙ¦øªA¾¹ IP ¦ì§}¡C
\item ¦b {\itshape 'Implicit Search Path:'\/} ¸Ìªº {\itshape 'Starting domain name'\/} ¿é¤J§Aªººô»Úºô¸ô»â°ì¦WºÙ(¨Ò¦p 'microsoft.com')¡C
\item ±µ¤U¨Óªº¨BÆJ¬O¿ï¾Ü©Êªº¡C¤£¥¿½Tªº­È¥i¯à¾É­PÄY­«ªº¿ù»~¦æ¬°¡C¦pªG§A¤£½T©w¡A³Ì¦n¯d¤UªÅ¥Õ¡A¤£­n¤Ä¿ï¡C¦pªG»Ý­nªº¸Ü¡A°£¥h¨º¨ÇÄæ¦ì¤¤ªº¥ô¦ó¸ê°T¡C´N§Ú¥Ø«e©Òª¾¨S¦³¿ìªk¦b TCP/IP ¹ï¸Üµøµ¡¤¤§i¶D¨t²Î¤£­n¨Ï¥Î¥H«e¿ï¹Lªº¥t¤@ "Hosts"  ÀÉ®×¡C¦pªG§Aª¾¹Dªº¸Ü¡A§Ú«Ü¦³¿³½ì¤F¸Ñ¡C¦pªG§Aªººô¸ô»Ý­n 802.3 ®Ø¬[ªº¸Ü´N¤Ä¿ï {\itshape '802.3'\/}¡C
\item «ö¤U {\itshape 'Options...'\/} ¥H½T©w TCP/IP ¦³§@¥Î¡C§Ú¨Ï¥Î {\itshape 'Load only when needed'\/} ¿ï¶µ¡C¦pªG§A°õ¦æ¨Ãµ²§ô TCP/IP  À³¥Îµ{¦¡³\¦h¦¸¦Ó¥¼­«·s±Ò°Ê§Aªº¾÷¾¹¡A§A±Nµo²{¤£¿ï {\itshape 'Load only when needed'\/} ·|§í¨î/­°§C§A¾÷¾¹ªº°O¾ÐÅéºÞ²z®Ä¯à¡C¤£¿ï¦¹¶µ¥Ø±N¨Ï TCP/IP  ¨ó©wÁ`¬O³Q¸ü¤J«K©ó¨Ï¥Î¡C¦pªG¤Ä¿ï¤F¡ATCP/IP  ¨ó©w·|¦Û°Ê¦b»Ý­n®É¸ü¤J¨Ã¦b¤£»Ý­n®ÉÄÀ©ñ¡C¸ü¤J»PÄÀ©ñªº¹Lµ{¥i¯à¨Ï§A¾÷¾¹ªº°O¾ÐÅéÅÜªº¸Hµõ¡C
\item §A¥i¥H {\ttfamily ping} ¤@¤U§Aªº Linux ¥D¨Ó¨Ó´ú¸Õºô¸ô³s½u¡C¦pªG§A¦³ {\itshape MacTCP Watcher\/} §K¶Oµ{¦¡¡A«ö¤U {\itshape 'Ping'\/} ¶s¡AµM«á¦b¼u¥Xªº¹ï¸Ü²°¤¤Áä¤J§Aªº Linux ¥D¾÷ªº¦a§}(192.168.1.1)¡C(³o¥u¤£¹L¬O°Ï°ìºô¸ôªº³s±µ´ú¸Õ¡A§AÁÙ¤£¯à {\ttfamily ping} ¨ì¥~­±ªº¥@¬É¡C)
\item §A¥i¥H¦b System Folder ¤¤«Ø¥ß¤@ {\ttfamily Hosts} ÀÉ®×¥H«K§A¥i¥H¨Ï¥Î§A°Ï°ìºô¸ô¸Ì¾÷¾¹ªº¥D¾÷¦WºÙ¡C³o­ÓÀÉ®×¥i¯à¤w¸g©ÎÁÙ¥¼¦s¦b©ó§Aªº System Folder ¸Ì¡C¦pªG¦³ªº¸Ü¡A¥¦À³¸Ó·|¥]§t¤@¨Ç(µù¸Ñ±¼ªº)½d¨Ò¶µ¥Ø¦Ó§A¥i¥H®Ú¾Ú§Aªº»Ý­n¨Ó­×§ï¡C¦pªGÁÙ¨S¦³ªº¸Ü¡A§A¥i¥H±q¤@³¡¥¿¦b¹B§@ MacTCP ªº¨t²Î¤¤¨ú¦^¡A©Î¦Û¤v«Ø¤@­Ó(¥¦¿í´` Unix ªº {\ttfamily /etc/hosts} ÀÉ®×®æ¦¡¡A¦b RFC 952 ¤¤´y­z)¡C¤@¥¹§A«Ø¥ß¤F³o­ÓÀÉ®×¡A¥´¶} {\itshape TCP/IP control panel\/}¡A«ö¤U {\itshape 'Select Hosts File...'\/} ¶s¡AµM«á¥´¶} {\ttfamily Hosts} ÀÉ®×¡C
\item Ãö³¬¹ï¸Ü²°©Î±q {\itshape File\/} ¿ï³æ¤¤¿ï¾Ü {\itshape 'Close'\/} ©Î {\itshape 'Quit'\/} µM«á«ö¤U {\itshape 'Save'\/} ¥HÀx¦s§A©Ò°µªº§ïÅÜ¡C
\item ³o¨Ç§ïÅÜ·|¥ß¨è¥Í®Ä¡A¦ý­«·s¶}¾÷¤]µL®`¡C
\end{enumerate}







\subsubsection{°t¸m¨Ï¥Î DNS ªº Novell ºô¸ô}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¬°§Aªº¤A¤Óºô¸ôÂà±µ¾¹¦w¸Ë¾A·íªºÅX°Êµ{¦¡¡A³Ì¦n²{¦b´N§@¡C
\item ±q \nameurl{ftp.novell.com/pub/updates/unixconn/lwp5}{} ¨ú¦^ tcpip16.exe¡C
\item 
\begin{verbatim}
½s¿è c:\nwclient\startnet.bat
\end{verbatim}
: (here is a copy of mine)
\begin{verbatim}
SET NWLANGUAGE=ENGLISH
LH LSL.COM
LH KTC2000.COM
LH IPXODI.COM
LH tcpip
LH VLM.EXE
F:
\end{verbatim}

\item 
\begin{verbatim}
½s¿è c:\nwclient\net.cfg
\end{verbatim}
: (±NÅX°Êµ{¦¡§ï¬°§Aªº¡A i.e. NE2000)
\begin{verbatim}
Link Driver KTC2000
        Protocol IPX 0 ETHERNET_802.3    
        Frame ETHERNET_802.3     
        Frame Ethernet_II        
        FRAME Ethernet_802.2

NetWare DOS Requester
           FIRST NETWORK DRIVE = F
           USE DEFAULTS = OFF
           VLM = CONN.VLM
           VLM = IPXNCP.VLM
           VLM = TRAN.VLM
           VLM = SECURITY.VLM
           VLM = NDS.VLM
           VLM = BIND.VLM
           VLM = NWP.VLM
           VLM = FIO.VLM
           VLM = GENERAL.VLM
           VLM = REDIR.VLM
           VLM = PRINT.VLM
           VLM = NETX.VLM

Link Support
        Buffers 8 1500
        MemPool 4096

Protocol TCPIP
        PATH SCRIPT     C:\NET\SCRIPT
        PATH PROFILE    C:\NET\PROFILE
        PATH LWP_CFG    C:\NET\HSTACC
        PATH TCP_CFG    C:\NET\TCP
        ip_address      xxx.xxx.xxx.xxx
        ip_router       xxx.xxx.xxx.xxx
\end{verbatim}

\item ³Ì«á«Ø¥ß 
\begin{verbatim}
c:\bin\resolv.cfg
\end{verbatim}
:
\begin{verbatim}
SEARCH DNS HOSTS SEQUENTIAL
NAMESERVER 207.103.0.2
NAMESERVER 207.103.11.9
\end{verbatim}

\item §Ú§Æ±æ³o¨Ç¬Y¨Ç¨Ï¥Î Novell ºô¸ôªº¤H¦³À°§U¡CÁÙ¦³¡A³o¹ï Netware 3.1x ©Î 4.x ³£¦³¥Î¡C
\end{enumerate}





\subsubsection{°t¸m OS/2 Warp}

\begin{enumerate}
\item ¦pªG§AÁÙ¨S¬°§Aªº¤A¤Óºô¸ôÂà±µ¾¹¦w¸Ë¾A·íªºÅX°Êµ{¦¡¡A³Ì¦n²{¦b´N§@¡C
\item ¦pªG§AÁÙ¨S¸Ë TCP/IP ³q°T¨ó©wªº¸Ü²{¦b´N¸Ë¡C
\item ¶}±Ò {\itshape Programms/TCP/IP (LAN) / TCP/IP\/} ³]©w
\item ¦b {\itshape 'Network'\/} Äæ¦ì¥[¤W§Aªº TCP/IP ¦ì§}¨Ã³]©w§Aªº netmask (255.255.255.0)
\item ¦b {\itshape 'Routing'\/} Äæ¦ì«ö¤U {\itshape 'Add'\/}¡C±N {\itshape Type\/} Äæ¦ì³]©w¬° 
{\itshape 'default'\/} ¨Ã¦b {\itshape 'Router Address'\/} Äæ¦ì¤¤Áä¤J§Aªº Linux ¥D¾÷ªº IP ¦ì§} (192.168.1.1)¡C
\item ±N {\itshape 'Hosts'\/} Äæ¦ì³]©w»P§Aªº Linux ¥D¾÷¨Ï¥Î¬Û¦Pªº DNS (¦WºÙ¦øªA¾¹)¦ì§}¡C
\item Ãö³¬ TCP/IP ±±¨î¥x¡C¦b±µ¤U¨Óªº°ÝÃD¤¤¦^µª yes¡C
\item ­«·s±Ò°Ê§Aªº¨t²Î
\item §A¥i¥H ping §Aªº Linux ¥D¾÷¥H´ú¸Õºô¸ô°t¸m¡C¦b 'OS/2 ©R¥Oµøµ¡' ¤WÁä¤J {\ttfamily 'ping 192.168.1.1'}¡C¦pªG¦¬¨ì ping «Ê¥]¤@¤Á´N¨S°ÝÃD¡C
\end{enumerate}





\subsubsection{°t¸m¨ä¥¦¨t²Î}

¬Û¦PªºÅÞ¿èÀ³¥i¾A¥Î©ó°t¸m¨ä¥¦ªº¥­¥x¡C¬d¾\¤W­zªº¤p¸`ªº»¡©ú¡C
¦pªG§A¦³¿³½ì¼gÃö©ó¨ä¥¦ªº§@·~¨t²Îªº°t¸m¡A
½Ð°e¸Ô²Óªº«Ø¥ß«ü¤Þ¨ì
\onlynameurl{ambrose@writeme.com} ¤Î
\onlynameurl{dranch@trinnet.net}¡C






\subsection{°t¸m IP Âà°e(Forwarding)ªº¤è¦¡}

¨ì¥Ø«e¬°¤î¡A§AÀ³¸Ó¤w¸g¦w¸Ë¦n®Ö¤ß¥H¤Î¨ä¥¦»Ý­nªº®M¥ó¡A¤]¸ü¤J¤F§Aªº¼Ò²Õ¡C¦P®É¡A{\bfseries ¨ä¥¦}¾÷¾¹ªº IP ¦ì§}¡A¹h¹D¡A¥H¤Î¡@DNS ¤]¸Ó¥þ³£³]©w§¹¦¨¡C

²{¦b¡A°ß¤@³Ñ¤U­n°µªº¨Æ¬O¨Ï¥Î IP ¨¾¤õÀð¤u¨ã¨ÓÂà°e¾A·íªº«Ê¥]µ¹¾A·íªº¾÷¾¹:

\begin{quotation}
{\bfseries ** ³o¥i¥H¥Î³\¦h¤£¦Pªº¤è¦¡¨Ó¹F¦¨¡C¤U¦Cªº«ØÄ³»P¨Ò¤l¹ï§Ú¨Ó»¡¯à¥Î¡A¦ý§A¥i¯à¦³¤£¦Pªº¥D·N¡A¸Ô¸`³¡¥÷½Ð°Ñ¦Ò 4.4 ¸`¤Î ipchains(2.2.x) / ipfwadm(2.0.x) ªº½u¤W¤â¥U¡C **}
\end{quotation}


\begin{quotation}
{\bfseries ** ¥»¸`¶È´£¨Ñ§A«Ø¥ß IP °°¸Ë¥\¯à©Ò»Ýªº³Ì¤Ö³W«h¡A¤@¨Ç¦w¥þªº¦Ò¶q¨Ã¥¼¥]§t¶i¥h¡C
±j¯P«ØÄ³§Aªá¤@¨Ç®É¶¡¥h¬ã¨s¾A·íªº¨¾¤õÀð³W«h¨Ó¥[±j¦w¥þ©Ê¡C **}
\end{quotation}





\subsubsection{Linux 2.2.x ®Ö¤ß}



{\bfseries Ipfwadm ¤w¸gµLªk¦b 2.2.x ª©ªº®Ö¤ß¤¤³B²z IP «Ê¥]ªº°°¸Ë³W«h¡A½Ð§ï¥Î ipchains¡C}

\begin{tscreen}
\begin{verbatim}
ipchains -P forward DENY
ipchains -A forward -s yyy.yyy.yyy.yyy/x -j MASQ
\end{verbatim}
\end{tscreen}

¨ä¤¤ x µø§Aªº¤lºô¸ô¦Ó©w¡A¬°¤U¦C¼Æ¦r¤§¤@¡A¦Ó yyy.yyy.yyy.yyy «h¬O§Aªººô¸ô¦ì§}¡C
\begin{tscreen}
\begin{verbatim}
netmask         | x  | Subnet
~~~~~~~~~~~~~~~~|~~~~|~~~~~~~~~~~~~~~
255.0.0.0       | 8  | Class A
255.255.0.0     | 16 | Class B
255.255.255.0   | 24 | Class C
255.255.255.255 | 32 | Point-to-point
\end{verbatim}
\end{tscreen}


§A¤]¥i¥H¨Ï¥Î³oºØ®æ¦¡ yyy.yyy.yyy.yyy/xxx.xxx.xxx.xxx,
¨ä¤¤ xxx.xxx.xxx.xxx «ü©w§Aªº¤lºô¸ô¾B¸n¡A¦p 255.255.255.0¡C

¨Ò¦p¡A¦pªG§Ú¬O¦b¤@­Ó class C ¤lºô¸ô¤W¡A§Ú±o¿é¤J:
\begin{tscreen}
\begin{verbatim}
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -j MASQ
\end{verbatim}
\end{tscreen}

©Î
\begin{tscreen}
\begin{verbatim}
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/255.255.255.0 -j MASQ
\end{verbatim}
\end{tscreen}




§A¤]¥i¥H¤À§O¹ï¨C¥x¾÷¾¹³]©w¡C
¨Ò¦p¡A¦pªG§Ú·QÅý 192.168.1.2 ¤Î 192.168.1.8 ¯à°÷¦s¨úºô»Úºô¸ô¡A¦ý¤£¤¹³\¨ä¥¦¾÷¾¹¨Ï¥Îªº¸Ü¡A§Ú±o¿é¤J:
\begin{tscreen}
\begin{verbatim}
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.2/32 -j MASQ
ipchains -A forward -s 192.168.1.8/32 -j MASQ
\end{verbatim}
\end{tscreen}




{\bfseries ¤£­n}§â§Aªº¹w³]¤è¦¡(policy)©w¬°°°¸Ë(masquerading) ¡Ð §_«h¥i¥H¾Þ±±¥L­Ìªº»¼°e¸ô®|(routing) ªº¤H±N¯à°÷ª½±µ¬ï¹L(tunnel)§Aªº¹h¹D¡A¥H¦¹°°¸Ë¥L­Ìªº¨­¤À!





¦P¼Ë¦a¡A§A¥i¥H§â³o¨Ç¥[¤J {\ttfamily /etc/rc.d/rc.local} ÀÉ®×¡A¥ô¦ó¤@­Ó§A¤ñ¸û³ßÅwªº rc ÀÉ®×¡A©Î¬O¦b¨C¦¸§A»Ý­n IP Masquerade ®É¤â°Ê°õ¦æ¤§¡C

Ãö©ó ipchains ªº¸Ô²Ó¨Ï¥Î¤èªk¡A½Ð°Ñ¦Ò
\nameurl{http://metalab.unc.edu/mdw/HOWTO/IPCHAINS-HOWTO.html}{Linux IPCHAINS HOWTO}




\subsubsection{Linux 2.0.x ®Ö¤ß}



\begin{tscreen}
\begin{verbatim}
ipfwadm -F -p deny
ipfwadm -F -a m -S yyy.yyy.yyy.yyy/x -D 0.0.0.0/0
\end{verbatim}
\end{tscreen}

©Î
\begin{tscreen}
\begin{verbatim}
ipfwadm -F -p deny
ipfwadm -F -a masquerade -S yyy.yyy.yyy.yyy/x -D 0.0.0.0/0
\end{verbatim}
\end{tscreen}

¨ä¤¤ x µø§Aªº¤lºô¸ô¦Ó©w¡A¬°¤U¦C¼Æ¦r¤§¤@¡A¦Ó yyy.yyy.yyy.yyy «h¬O§Aªººô¸ô¦ì§}¡C
\begin{tscreen}
\begin{verbatim}
netmask         | x  | Subnet
~~~~~~~~~~~~~~~~|~~~~|~~~~~~~~~~~~~~~
255.0.0.0       | 8  | Class A
255.255.0.0     | 16 | Class B
255.255.255.0   | 24 | Class C
255.255.255.255 | 32 | Point-to-point
\end{verbatim}
\end{tscreen}


§A¤]¥i¥H¨Ï¥Î³oºØ®æ¦¡ yyy.yyy.yyy.yyy/xxx.xxx.xxx.xxx,
¨ä¤¤ xxx.xxx.xxx.xxx «ü©w§Aªº¤lºô¸ô¾B¸n¡A¦p 255.255.255.0¡C

¨Ò¦p¡A¦pªG§Ú¬O¦b¤@­Ó class C ¤lºô¸ô¤W¡A§Ú±o¿é¤J:
\begin{tscreen}
\begin{verbatim}
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
\end{verbatim}
\end{tscreen}


¦]¬° bootp ½Ð¨D«Ê¥]¨S¦³¦Xªkªº IP's ¡A«È¤áºÝ¨Ã¤£ª¾¹D¥¦ªº¦ì§}¡A¹ï©ó¦b°°¸Ë/¨¾¤õÀð¤W°õ¦æ bootp ¦øªA¾¹ªº¤H¥²¶·¦b deny ¤§«e°õ¦æ¤U¦C«ü¥O:
\begin{tscreen}
\begin{verbatim}
ipfwadm -I -a accept -S 0/0 68 -D 0/0 67 -W bootp_clients_net_if_name -P udp
\end{verbatim}
\end{tscreen}




§A¤]¥i¥H¤À§O¹ï¨C¥x¾÷¾¹³]©w¡C
¨Ò¦p¡A¦pªG§Ú·QÅý 192.168.1.2 ¤Î 192.168.1.8 ¯à°÷¦s¨úºô»Úºô¸ô¡A¦ý¤£¤¹³\¨ä¥¦¾÷¾¹¨Ï¥Îªº¸Ü¡A§Ú±o¿é¤J:
\begin{tscreen}
\begin{verbatim}
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.1.2/32 -D 0.0.0.0/0
ipfwadm -F -a m -S 192.168.1.8/32 -D 0.0.0.0/0
\end{verbatim}
\end{tscreen}




±`¨£ªº¿ù»~¬O¹³³o¼Ëªº²Ä¤@¦æ«ü¥O
\begin{verbatim}
ipfwadm -F -p masquerade
\end{verbatim}

{\bfseries ¤£­n}§â§Aªº¹w³]¤è¦¡(policy)©w¬°°°¸Ë(masquerading) ¡Ð §_«h¥i¥H¾Þ±±¥L­Ìªº»¼°e¸ô®|(routing) ªº¤H±N¯à°÷ª½±µ¬ï¹L(tunnel)§Aªº¹h¹D¡A¥H¦¹°°¸Ë¥L­Ìªº¨­¤À!

¦P¼Ë¦a¡A§A¥i¥H§â³o¨Ç¥[¤J {\ttfamily /etc/rc.d/rc.local} ÀÉ®×¡A¥ô¦ó¤@­Ó§A¤ñ¸û³ßÅwªº rc ÀÉ®×¡A©Î¬O¦b¨C¦¸§A»Ý­n IP Masquerade ®É¤â°Ê°õ¦æ¤§¡C

½Ð¾\Åª 4.4  ¸`¦³Ãö Ipfwadm ªº¸Ô²Ó«ü¤Þ¡C






\subsection{´ú¸Õ IP Masquerade}

¦b³o¨Ç¤u§@§¹¦¨«á¡A²{¦b¬O¸Õ¸Õ¬Ýªº®É­Ô¤F¡C½T©w§Aªº Linux  ¥D¾÷¨ìºô»Úºô¸ôªº³s½u¬O³qªº¡C

§A¥i¥H¦b{\bfseries ¨ä¥¦}¾÷¾¹¤W¸ÕµÛÂsÄý¤@¨Ç{\itshape 'ºô»Úºô¸ô!!!'\/} ¤Wªººô­¶¡A¬Ý¬O§_¯à¨£¨ì¡C§Ú«ØÄ³²Ä¤@¦¸¹Á¸Õ®É¨Ï¥Î IP ¦ì§}¦Ó¤£­n¥Î¥D¾÷¦WºÙ¡A¦]¬°§Aªº DNS  ³]©w¦³¥i¯à¨Ã¤£¥¿½T¡C

¨Ò¦p¡A§A¥i¥H¨Ï¥Î \onlynameurl{http://152.19.254.81/mdw/linux.html} ¨Ó¦s¨ú Linux ¤å¥ó­pµeºô­¶ http://metalab.unc.edu/mdw/linux.html

¦pªG§A¬Ý¨£ The Linux Documentation Project ªº¦r¼Ë¡A¨º»ò®¥³ß! ¥¦¥i¥H¹B§@¤F! ±µµÛ§A¥i¥H¨Ï¥Î¥D¾÷¦WºÙ¸Õ¸Õ¬Ý¡AµM«á¬O telnet, ftp, RealAudio, True Speech¡A¥H¤Î¥ô¦ó IP Masquerade ¤ä´©ªºªF¦è¡C

¨ì¥Ø«e¬°¤î¡A§ÚÁÙ¤£´¿¦b¤W­±ªº³]©w¤Wµo¥Í¹L°ÝÃD¡A¦Ó¨º¨Çªá¤U®É¶¡Åý³o­Óµ´§®¥\¯à¹B§@ªº¤H§¹¥þ¦P·N³o¨Ç³]©w¡C






\section{¨ä¥¦ IP Masquerade ªº°ÝÃD¤Î³nÅé¤ä´©}






\subsection{IP Masquerade ªº°ÝÃD}

¬Y¨Ç¨ó©w²{¦bµLªk°t¦X masquerading ¨Ï¥Î¡A¦]¬°¥¦­Ì¤£¬O°²³]¦³Ãö°ð¸¹ªº¤@¨Ç¨Æ±¡¡A´N¬O¦b¦ì§}¤Î°ð¸¹ªº¸ê®Æ¬y¸Ì½s½X¸ê®Æ ¡Ð «á­±³o¨Ç¨ó©w»Ý­n¦b masquerading µ{¦¡½X¸Ì«Ø¥ß¯S©wªº¥N²zµ{¦¡¨Ï¥¦­Ì¯à¹B§@¡C




\subsection{¶i¤J¨t²ÎªºªA°È(incoming services)}

Masquerading §¹¥þ¤£¯à³B²z¥~¬ÉªºªA°È½Ð¨D (incoming services)¡C
¥u¦³·¥¤Ö¤èªk¯à¤¹³\¥¦­Ì¡A¦ý³o§¹¥þ»P masquerading µLÃö¡A¦Ó¥B¹ê¦b¬O¼Ð·Çªº¨¾¤õÀð¤è¦¡¡C

¦pªG§A¨Ã¤£­n¨D°ª«×ªº¦w¥þ©Ê¨º»ò§A¥i¥HÂ²³æ¦a­«¾É(redirect)³o¨Ç°ð¡C
¦³´XºØ¤£¦Pªº¤èªk¥i¥H°µ³o¥ó¨Æ ¡Ð §Ú¨Ï¥Î¤@°¦­×§ï¹Lªº redir µ{¦¡(§Ú§Æ±æ³o°¦µ{¦¡«Ü§Ö´N¯à±q sunsite  ¤Î¨ä mirrors ¨ú±o)¡C
¦pªG§A§Æ±æ¯à°÷¹ï¥~¬É¶i¤J¨t²ÎªºªA°È½Ð¨D¦³¬YºØµ{«×ªº¨­¤ÀÅç»{(authorisation) ¨º»ò§A¥i¥H¦b redir ªº³»¼h(0.7 or above) ¨Ï¥Î TCP wrappers ©Î¬O Xinetd ¨Ó¤¹³\¯S©w IP ¦ì§}³q¹L¡A©Î¨Ï¥Î¨ä¥¦ªº¤u¨ã¡CTIS ¨¾¤õÀð¤u¨ã¶°¬O´M§ä¤u¨ã¤Î¸ê°Tªº¦n¦a¤è¡C

§ó¦hªº¸Ô¸`¥i¦b \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource} §ä¨ì¡C

±N·|¥[¤W¤@¤p¸`§ó¦hÃö©óÂà°eªA°Èªºªº¸ê°T¡C






\subsection{¤w¤ä´©ªº«È¤áºÝ³nÅé¥H¤Î¨ä¥¦³]©w¤è­±ªºª`·N¨Æ¶µ}

\begin{quotation}
{\bfseries ** ¤U­±ªº¦Cªí±N¤£¦A³QºûÅ@¤F¡C¥i¸g¥Ñ Linux IP masquerading ¹B§@ªºÀ³¥Îµ{¦¡½Ð°Ñ¦Ò\nameurl{http://dijon.nais.com/~nevo/masq/}{³o¸Ì} ©M \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource} ¥H¨ú±o¶i¤@¨Bªº²Ó¸`¡C **}
\end{quotation}


¤@¯ë»¡¨Ó¡A¨Ï¥Î¶Ç¿é±±¨î¨ó©w(TCP) ©Î¬O¨Ï¥ÎªÌ©w¸q¸ê®Æ¨ó©w (UDP)ªºÀ³¥Îµ{¦¡À³¸Ó³£¯à¹B§@¡C
¦pªG§A¦³¥ô¦óÃö©óÀ³¥Îµ{¦¡»P IP Masquerade ¬Û®eªº«ØÄ³¡A´£¥Ü©Î°ÝÃD¡A½Ð«ô³X¥Ñ Lee Nevo ºûÅ@ªº
\nameurl{http://dijon.nais.com/~nevo/masq/}{¥i»P Linux IP masquerading ¹B§@ªºÀ³¥Îµ{¦¡} ºô­¶¡C




\subsubsection{¥i¥H¨Ï¥Îªº«È¤áºÝ³nÅé}

¤@¯ë«È¤áºÝ³nÅé
\begin{description}
\item[HTTP] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡AÂsÄýºô­¶

\item[POP \& SMTP] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡A¹q¤l¶l¥ó³nÅé

\item[Telnet] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡A»·ºÝÃ±¤J§@·~

\item[FTP] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡A°t¦X ip\_masq\_ftp.o ¼Ò²Õ(¤£¬O©Ò¦³¯¸¥x³£¯à°t¦X¦UºØ«È¤áºÝ³nÅé¡F¨Ò¦p¬Y¨Ç¤£¯à¨Ï¥Î ws\_ftp32 Ä²¤Îªº¯¸»O«o¯à¨Ï¥Î netscape ¶i¤J)

\item[Archie] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡AÀÉ®×·j´M³nÅé(¨Ã«D©Ò¦³ archie «È¤áºÝ³nÅé³£¤ä´©)

\item[NNTP (USENET)] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡Aºô¸ô·s»D³nÅé 

\item[VRML] \mbox{}

Windows (¥i¯à©Ò¦³¦³¤ä´©ªº¥­»O³£¥i¥H)¡AµêÀÀ¹ê¹ÒÂsÄý

\item[traceroute] \mbox{}

¥D­n¬O UNIX ¨t¦Cªº¥­»O¡A¬Y¨ÇÅÜºØ¥i¯àµLªk¹B§@

\item[ping] \mbox{}

©Ò¦³¥­»O¡A°t¦X ICMP ­×¸ÉÀÉ

\item[anything based on IRC] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡A°t¦X ip\_masq\_irc.o ¼Ò²Õ

\item[Gopher client] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O

\item[WAIS client] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O

\end{description}




¦h´CÅé«È¤áºÝ³nÅé
\begin{description}
\item[Real Audio Player] \mbox{}

Windows, ºô¸ô¸ê®Æ¬y­µ°T¡A°t¦X¸ü¤J ip\_masq\_raudio ¼Ò²Õ  

\item[True Speech Player 1.1b] \mbox{}

Windows, ºô¸ô¸ê®Æ¬y­µ°T

\item[Internet Wave Player] \mbox{}

Windows, ºô¸ô¸ê®Æ¬y­µ°T

\item[Worlds Chat 0.9a] \mbox{}

Windows, «È¤á¡Ð¦øªAºÝ¥ßÅé¥æ½Í(3D chat) µ{¦¡

\item[Alpha Worlds] \mbox{}

Windows, Windows, «È¤á¡Ð¦øªAºÝ¥ßÅé¥æ½Í(3D chat) µ{¦¡

\item[Powwow] \mbox{}

Windows, ÂI¹ïÂI¤å¦rÁn­µ¥ÕªO³q°T¡A¦pªG§A©I¥s§O¤H¡A¤H­Ì¥i¥H»P§A¥æ½Í¡A¦ý¬O¥L­Ì¤£¯à©I¥s§A¡C

\item[CU-SeeMe] \mbox{}

©Ò¦³¦³¤ä´©ªº¥­»O¡A°t¦X¸ü¤J cuseeme  ¼Ò²Õ¡A¸Ô²Ó²Ó¸`½Ð°Ñ ¾\ \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource}

\item[VDOLive] \mbox{}

Windows, °t¦X vdolive  ­×¸ÉÀÉ

\end{description}


ª`·N: §Y¨Ï¤£¬O¥Ñ§A©I¥s§O¤H¡A¨Ï¥Î {\itshape ipautofw\/} ®M¥ó¬Y¨Ç«È¤áºÝ³nÅé¹³¬O IPhone ¥H¤Î Powwow ¥i¯àÁÙ¬O¥i¥H¹B§@(°Ñ¾\ 4.6  ¸`)



¨ä¥¦«È¤áºÝ³nÅé
\begin{description}
\item[NCSA Telnet 2.3.08] \mbox{}

DOS, ¥]§t telnet, ftp, ping  µ¥µ¥ªº¤@²Õ®M¥ó¡C

\item[PC-anywhere for windows 2.0] \mbox{}

MS-Windows, ¸g¥Ñ TCP/IP »·ºÝ»»±± PC ¡A¥u¦³¦b§@¬°«È¤áºÝ¦Ó«D¥D¾÷ºÝªº±¡§Î¤U¤~¯à¹B§@

\item[Socket Watch] \mbox{}

¨Ï¥Î ntp ¡Ð ºô¸ô®É¶¡¨ó©w

\item[Linux net-acct package] \mbox{}

Linux, ºô¸ô±b¸¹ºÞ²z®M¥ó

\end{description}





\subsubsection{µLªk¨Ï¥Îªº«È¤áºÝ³nÅé}

 
\begin{description}
\item[Intel Internet Phone Beta 2] \mbox{}

¥i¥H³s¤W¦ýÁn­µ¥u¯à³æ¦V(©¹¥~)¶Ç°e

\item[Intel Streaming Media Viewer Beta 1] \mbox{}

µLªk³s¤W¦øªA¾¹

\item[Netscape CoolTalk] \mbox{}

µLªk³s±µ¹ï¤è

\item[talk,ntalk] \mbox{}

³o±N¤£·|¹B§@ ¡Ð »Ý­n¼¶¼g¤@¥÷®Ö¤ß¥N²zµ{¦¡¡C

\item[WebPhone] \mbox{}

¥Ø«eµLªk¹B§@(¥¦°µ¤F¤£¦Xªkªº¦ì§}°²³])¡C

\item[X] \mbox{}

¨S¦³´ú¸Õ¹L¡A¦ý§Ú·Q°£«D¦³¤H«Ø¥ß¤@®M X  ¥N²zµ{¦¡§_«h¥¦µLªk¹B§@¡A³o¥i¯à¬O masquerading µ{¦¡½X¤§¥~ªº¤@­Ó¥~³¡µ{¦¡¡C¤@­ÓÅý¥¦¹B§@ªº¤è¦¡¬O¨Ï¥Î ssh §@¬°Ãìµ²¨Ã¥B¨Ï¥Î¨ä¤º³¡ªº X ¥N²z¥\¯à¨Ó°õ¦æ!



\end{description}





\subsubsection{¤w´ú¸Õ¹L¥i¥H§@¬°{\bfseries ¨ä¥¦}¾÷¾¹ªº¥­»O/§@·~¨t²Î}

 
\begin{itemize}
\item Linux 
\item Solaris
\item Windows 95 
\item Windows NT (both workstation and server) 
\item Windows For Workgroup 3.11 (with TCP/IP package) 
\item Windows 3.1 (with Chameleon package) 
\item Novel 4.01 Server
\item OS/2 (including Warp v3) 
\item Macintosh OS (with MacTCP or Open Transport) 
\item DOS (with NCSA Telnet package, DOS Trumpet works partially)
\item Amiga (with AmiTCP or AS225-stack) 
\item VAX Stations 3520 and 3100 with UCX (TCP/IP stack for VMS)
\item Alpha/AXP with Linux/Redhat
\item SCO Openserver (v3.2.4.2 and 5)
\item IBM RS/6000 running AIX
\end{itemize}


°ò¥»¤W¡A©Ò¦³¤ä´© TCP/IP ¦Ó¥B¤¹³\§A«ü©w§X¹D¾¹/¸ô¥Ñ¾¹(gateway/router)ªº§@·~¨t²Î³£À³¸Ó¯à©M IP Masquerade ¤@°_¤u§@¡C




\subsection{IP ¨¾¤õÀðºÞ²z (ipfwadm) }

³o¤@¸`´£¨ÑÃö©ó ipfwadm  §ó²`¤Jªº¨Ï¥Î«ü¤Þ¡C

³o¬O¤@­Óµ¹¦b©T©w PPP ¦ì§}¤§ PPP ³s½u«á­±ªº¨¾¤õÀð/°°¸Ë¨t²Î¨Ï¥Îªº³]©w¡C«H¿à(trusted) ¬É­±¬° 192.168.255.1, PPP ¬É­±¤w¸g­×§ï¹L¥HÁ×§K¥Ç¿ù :) ¡C§Ú¤À§O¦C¥X¨C¤@­Ó¶i¤J(incoming)¥H¤Î°e¥X(outgoing)¬É­±¨Ó§ì¥XÅÜ§ó»¼°e¸ô®|(stuffed routing) ¥H¤Î/©Î¬O°°¸Ë(masquerading)µ¥µ¥³o¨Ç­Ó IP spoofing §Þ¥©¡C¦P®É¥ô¦ó¨S¦³©ú½T¤¹³\ªºªF¦è³£¬O¸T¤îªº!



\begin{verbatim}
#!/bin/sh
#
# /etc/rc.d/rc.firewall,  ©w¸q¨¾¤õÀð°t¸m¡A±q rc.local °õ¦æ¡C
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

# ´ú¸Õ¥Î¡Aµ¥«Ý¤@¬q®É¶¡µM«á²M°£©Ò¦³ªº¨¾¤õÀð³W«h¡C
# ¦pªG§A§Æ±æ¨¾¤õÀð¤Q¤ÀÄÁ¤§«á¦Û°ÊÃö³¬´N¨ú®ø¤U¦C´X¦æªºµù¸Ñ¡C
# (sleep 600; \
# ipfwadm -I -f; \
# ipfwadm -I -p accept; \
# ipfwadm -O -f; \
# ipfwadm -O -p accept; \
# ipfwadm -F -f; \
# ipfwadm -F -p accept; \
# ) &

# ¶i¤J°°¸Ë¹h¹Dªº³]©w¡A§ó·s¥H¤Î³]©w©Úµ´ªºµ¦²¤(policy)¡C¨Æ¹ê¤W
# ¹w³]ªºµ¦²¤¨S¤°»òÃö«Y¡A¦]¬°­ì¥ý´N§Æ±æ©Úµ´¥H¤Î°O¿ý©Ò¦³³W«h
ipfwadm -I -f
ipfwadm -I -p deny
# °°¸Ë¹h¹Dªº¥»¦a(local) ¬É­±¡A°Ï°ìºô¸ô¸Ìªº¾÷¾¹¡A¤¹³\³s©¹¥ô¦ó
# ¦a¤è
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
# °°¸Ë¹h¹Dªº»·ºÝ(remote)¬É­±¡AÁnºÙ¬O°Ï°ìºô¸ô¸Ìªº¾÷¾¹¡AIP spoofing
# ©Úµ´
ipfwadm -I -a deny -V your.static.PPP.address -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# °°¸Ë¹h¹Dªº»·ºÝ¬É­±¡A¥ô¦ó¨Ó·½¡A¤¹³\°e©¹©T©w (permanent) PPP
# ¦ì§}
ipfwadm -I -a accept -V your.static.PPP.address -S 0.0.0.0/0 -D your.static.PPP.address/32
# ¦^±Â(loopback)¬É­±¬O¤¹³\ªº
ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# ®·®»©Ò¦³³W«h¡A¥ô¦ó¨ä¥¦ªº¶i¤J¤è¦¡³£·|³Q©Úµ´¨Ã°O¿ý¡C¥i±¤¨S¦³
# °O¿ý¥Îªº¿ï¶µ¦ý³o¥i¥H¥N´À
ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# °e¥X°°¸Ë¹h¹Dªº³]©w¡A§ó·s¥H¤Î³]©w©Úµ´ªºµ¦²¤(policy)¡C¨Æ¹ê¤W
# ¹w³]ªºµ¦²¤¨S¤°»òÃö«Y¡A¦]¬°­ì¥ý´N§Æ±æ©Úµ´¥H¤Î°O¿ý©Ò¦³³W«h
ipfwadm -O -f
ipfwadm -O -p deny
# ¥»¦a¬É­±¡A¤¹³\¥ô¦ó¨Ó·½°e¥X¦Ü°Ï°ìºô¸ô
ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16
# »·ºÝ¬É­±°e¥X¦Ü°Ï°ìºô¸ô¡Astuffed routing ¡A©Úµ´
ipfwadm -O -a deny -V your.static.PPP.address -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# °Ï°ìºô¸ôªº¾÷¾¹±q»·ºÝ¬É­±°e¥X¡Astuffed masquerading¡A©Úµ´
ipfwadm -O -a deny -V your.static.PPP.address -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# °Ï°ìºô¸ôªº¾÷¾¹±q»·ºÝ¬É­±°e¥X¡Astuffed masquerading¡A©Úµ´
ipfwadm -O -a deny -V your.static.PPP.address -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# ¥ô¦ó¨ä¥¦»·ºÝ¬É­±°e¥XªºªF¦è³£¬O¤¹³\ªº
ipfwadm -O -a accept -V your.static.PPP.address -S your.static.PPP.address/32 -D 0.0.0.0/0
# ¦^±Â(loopback)¬É­±¬O¤¹³\ªº
ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# ®·®»©Ò¦³³W«h¡A¥ô¦ó¨ä¥¦ªº°e¥X¤è¦¡³£·|³Q©Úµ´¨Ã°O¿ý¡C¥i±¤¨S¦³
# °O¿ý¥Îªº¿ï¶µ¦ý³o¥i¥H¥N´À
ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# °°¸Ë¹h¹DªºÂà°e³]©w¡A§ó·s¥H¤Î³]©w©Úµ´ªºµ¦²¤(policy)¡C¨Æ¹ê¤W
# ¹w³]ªºµ¦²¤¨S¤°»òÃö«Y¡A¦]¬°­ì¥ý´N§Æ±æ©Úµ´¥H¤Î°O¿ý©Ò¦³³W«h
ipfwadm -F -f
ipfwadm -F -p deny
# °°¸Ë°Ï°ìºô¸ôªº¾÷¾¹±q¥»¦a¬É­±°e¥X¦Ü¥ô¦ó¦a¤èªº¸ê®Æ
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
# ®·®»©Ò¦³³W«h¡A¥ô¦ó¨ä¥¦ªºÂà°e¤è¦¡³£·|³Q©Úµ´¨Ã°O¿ý¡C¥i±¤¨S¦³
# °O¿ý¥Îªº¿ï¶µ¦ý³o¥i¥H¥N´À
ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
\end{verbatim}


§A¥i¥H¨Ï¥Î -I, -O ©Î¬O -F ¨Ó±±¨î¨ì¬Y¯S©w¸`ÂIªº¬y¶q¡C°O±o³o¨Ç³W«h¶°¬O¥Ñ¤W©¹¤U±½´yªº¦Ó -a ¥Nªí"ªþ¥[(append)"¨ì¥Ø«e²{¦³ªº³W«h¶°¤¤©Ò¥H¥ô¦ó­­¨î¥²¶·¦b¥þ°ì(global)³W«h¤§«e¥X²{¡C¨Ò¦p(¨S´ú¸Õ¹L) :-

¨Ï¥Î -I ³W«h¡C¥i¯à¬O³t«×³Ì§Öªº¦ý¬O¥¦¥u¯àªý¤î°Ï°ìºô¸ô¸Ìªº¾÷¾¹¡A¨¾¤õÀð¥»¨­¤´µM¥i¥H¦s¨ú"¸T¤î"ªº¸`ÂI¡C·íµM§A¥i¯à·Q¤¹³\³o¼Ëªº²Õ¦X¡C



\begin{verbatim}
... start of -I rules ...
# ©Úµ´¨Ã°O¿ý¥»¦a¬É­±¡A°Ï°ìºô¸ô¸Ìªº¾÷¾¹³q©¹ 204.50.10.13
ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# ¥»¦a¬É­±¡A°Ï°ìºô¸ô¸Ìªº¾÷¾¹¡A¤¹³\³q©¹¥ô¦ó¦a¤è
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
... end of -I rules ...
\end{verbatim}


¨Ï¥Î -O ³W«h¡C³ÌºC¡A¦]¬°«Ê¥]­º¥ý¸g¹L°°¸Ë¦ý³o­Ó³W«hªý¤î¨¾¤õÀð¦s¨ú¸T¤îªº¸`ÂI¡C

\begin{verbatim}
... start of -O rules ...
# ©Úµ´¨Ã°O¿ý°e¥X¦Ü 204.50.10.13 ªº¸ê®Æ
ipfwadm -O -a reject -V your.static.PPP.address -S your.static.PPP.address/32 -D 204.50.10.13/32 -o
# ¤¹³\¥ô¦ó¨ä¥¦»·ºÝ¬É­±°e¥XªºªF¦è
ipfwadm -O -a accept -V your.static.PPP.address -S your.static.PPP.address/32 -D 0.0.0.0/0
... end of -O rules ...
\end{verbatim}


¨Ï¥Î -F ³W«h¡C¥i¯à¤ñ -I ºC¦Ó³o¤´µM¥u¯àªý¤î°°¸Ëªº¾÷¾¹(¨Ò¦p¤º³¡ªº¾÷¾¹)¡A¨¾¤õÀð¤´µM¥i¥H¨ú±o¸T¤îªº¸`ÂI¡C

\begin{verbatim}
... start of -F rules ...
# ©Úµ´¨Ã°O¿ý PPP  ¬É­±°e¥X±q°Ï°ìºô¸ô¨ì 204.50.10.13 ªº¸ê®Æ¡C
ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# °°¸Ë¥»¦a¬É­±±q°Ï°ìºô¸ô°e¥X¦Ü¥ô¦ó¦a¤èªº¸ê®Æ¡C
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
... end of -F rules ...
\end{verbatim}


¤£»Ý­n¦³­Ó¯S©wªº³W«h¨Ó¤¹³\ 192.168.0.0/16 ³q©¹ 204.50.11.0, ³o²[»\©ó¥þ°ì³W«h¤¤¡C

¦³¤@ºØ¥H¤Wªº¤èªk¥i¥H¹ï¬É­±³]©w¤W­z³W«h¡C¨Ò¦p¥i¥H¨Ï¥Î -W eth0 ¨Ó¨ú¥N -V 192.168.255.1¡A¥i¥H¨Ï¥Î -W ppp0  ¨Ó¨ú¥N -V your.static.PPP.address¡C­Ó¤Hªº¿ï¾Ü³Ì­«­n¡C






\subsection{IP ¨¾¤õÀðÃì (ipchains)}

³o­Ó¥D­n¬Oµ¹ 2.2.x ®Ö¤ß¨Ï¥Îªº¨¾¤õÀð³W«hºÞ²z¤u¨ã(¥[¤W¤@­Ó­×¸ÉÀÉ«á¤]¥i¦b 2.0.x ¤W¹B§@)¡C

§Ú­Ì·|¾¨§Ö§ó·s¦¹¸`¡Aµ¹¤@¨Ç¨Ï¥Î ipchains ªº½d¨Ò¡C

²Ó¸`½Ð°Ñ¦Ò 
\nameurl{http://www.rustcorp.com/linux/ipchains/}{Linux IP Firewalling Chains page} ¥H¤Î
\nameurl{http://metalab.unc.edu/mdw/HOWTO/IPCHAINS-HOWTO.html}{Linux IPCHAINS HOWTO}¡C






\subsection{IP Masquerade ¥H¤Î»Ý¨D¦¡¼·±µ(Demand-Dial-Up)}

\begin{enumerate}
\item ¦pªG§A·Q§âºô¸ô³]©w¦¨¦Û°Ê¼·±µ¤Wºô»Úºô¸ô¡A¨º»ò  {\itshape diald\/} demand ¼·±µ®M¥ó±N·|¬O«Ü´Îªº¤u¨ã¡C
\item ­n³]©w diald, ½Ð¬d¬Ý \nameurl{http://home.pacific.net.sg/harish/diald.config.html}{Setting Up Diald for Linux Page} ºô­¶
\item ¤@¥¹ diald ¥H¤Î IP masq  ³]©w§¹¦¨¡A§A¥i¥H¦b¥ô¦ó«È¤áºÝ¾÷¾¹¤W±Ò°Ê web, telnet  ©Î¬O ftp ³s½u¡C
\item Diald ±N·|°»´ú¨ì¶i¤J¨t²Îªº½Ð¨D¡AµM«á¼·±µ¨ì§Aªº ISP ¨Ã«Ø¥ß³s½u¡C
\item ²Ä¤@¦¸³s½u±N·|µo¥Í¹O®É(timeout) ªº±¡§Î¡C¦pªG§A¨Ï¥ÎÃþ¤ñ¦¡ªº¼Æ¾Ú¾÷¨º³o¬OµL¥iÁ×§Kªº¡C
«Ø¥ß¼Æ¾Ú¾÷³sµ²¥H¤Î PPP  ³s½u©Òªá¶Oªº®É¶¡±N·|¨Ï§Aªº«È¤áºÝ³nÅé¤£­@¡C
¦pªG§A¨Ï¥Î ISDN ³s½u¨º³o¬O¥i¥HÁ×§Kªº¡C§A±o°µªº¥u¬Oµ²§ô«È¤áºÝ³nÅé²{¦æªºµ{§Ç¦A­«·s±Ò°Ê§Y¥i¡C
\end{enumerate}







\subsection{IPautofw «Ê¥]Âà°eµ{¦¡}

\nameurl{ftp://ftp.netis.com/pub/members/rlynch/ipautofw.tar.gz}{IPautofw} ¬O¤@­Óµ¹ Linux masquerading ¨Ï¥Îªº¤@¯ë©Ê TCP ¤Î UDP Âà°eµ{¦¡¡C¤@¯ë¨Ï¥Î»Ý­n UDP  ªº®M¥óªº®É­Ô¡A»Ý­n¸ü¤J¯S©wªº ip\_masq ¼Ò²Õ¡Fip\_masq\_raudio, ip\_masq\_cuseeme,... Ipautofw  ¥H§ó¤@¯ë¤Æªº¤è¦¡¹B§@¡A¥¦±N·|Âà°e¥]§t³o¨ÇÀ³¥Îµ{¦¡¯S©w¼Ò²Õ³£¤£·|Âà°eªº¥ô¦ó¸ê®Æ¬y«¬ºA¡C¦pªG¨S¦³¥¿½T¦aºÞ²z³o¥i¯à³y¦¨¦w¥þ¤Wªºº|¬}¡C






\subsection{CU-SeeMe »P Linux IP-Masquerade ªºÂ²µu»¡©ú}



¥Ñ \nameurl{mailto:mikey@swampgas.com}{Michael Owings} ©Ò´£¨Ñ¡C




\subsubsection{Â²¤¶}



\begin{quotation}
¥»¸`¸ÑÄÀÅý CU-SeeMe (¥]¬A Cornell ¤Î White Pine ª©¥») »P Linux ªº IP °°¸Ë¥\¯à¤@°_¹B§@ªº¤èªk¡C
\end{quotation}


CU-SeeMe ¬O¤@­Ó®à¤Wµø°T·|Ä³ªº³nÅé¡A¦³ Windows ¤Î Macintosh ¨âºØ«È¤áºÝ¡C
¤@­Ó§K¶Oªºª©¥»¥i±q
\nameurl{http://cu-seeme.cornell.edu}{Cornell University}
¨ú±o¡C°Ó·~ªº¥[±jª©¥i±q
\nameurl{http://www.wpine.com}{White Pine Software}
¨ú±o¡C

IP °°¸Ë¤¹³\¤@³¡©Î§ó¦h³¡¦b°Ï°ìºô¸ô¤Wªº¤u§@¯¸"°°¸Ë"¦b¤@³¡³s±µ¨ìºô»Úºô¸ôªº Linux ¥D¾÷¤§«á¡C
°Ï°ìºô¸ô¤ºªº¤u§@¯¸¥i¥H´X¥G³z³q¦a¨ú¥Îºô»Úºô¸ô¡A§Y¨Ï¥¦¨S¦³¦Xªkªº IP ¦a§}¡C
Linux ¥D¾÷­«¼g±q¤º³¡ºô¸ô¨ìºô»Úºô¸ôªº¥~°e«Ê¥]¡A¨Ï¥¦­Ì¬Ý°_¨Ó´N¹³¬O±q³o³¡ Linux ¾÷¾¹µo¥Xªº¤@¼Ë¡C
°e¶i¨Óªº¦^À³«Ê¥]¤]³Q§ï¼g¨ÃÂà°e¦Ü¤º³¡ºô¸ôªº¥¿½T¤u§@¯¸¤W¡C
³o¶µ¦w±Æ¨Ï±o³\¦hºô»Úºô¸ôªºÀ³¥Îµ{¦¡¥i¥H³z³q¦a±q¤º³¡ºô¸ôªº¤u§@¯¸¤W°õ¦æ¡C
µM¦Ó¡A¹ï¬Y¨ÇÀ³¥Îµ{¦¡¨Ó»¡(¹³ CU-SeeMe), Linux ªº°°¸Ëµ{¦¡»Ý­n¤@¨Ç¤p§Þ¥©ªº»²§U¤~¯à¨Ï±o«Ê¥]Âà°e±o¥H¥¿½T¹B§@¡C
³o¨Ç»²§U§Þ¥©³q±`¨Ó¦Û©ó¬Y¨Ç¯S®íªº®Ö¤ß¥i¸ü¤J¼Ò²Õ¡C
Ãö©ó IP-Masquerading ªº§ó¦h¸ê°T¡A½Ð°Ñ¦Ò
\nameurl{http://www.indyramp.com/masq/}{The Linux IP Masquerading Website}¡C




\subsubsection{Åý¥¦¹B§@}

­º¥ý§A»Ý­n¾A·í¦a°t¸m®Ö¤ß¡C§AÀ³¸Ó¥[¤J IP-Masquerading ¤Î IP AutoForwarding
ªº§¹¾ã¤ä´©¡CIP Autoforwarding ¥X²{¦b 2.0.30 ¤Î¨ä«áªº®Ö¤ß¿ï¶µ -- §ó¦­ªº®Ö¤ß§A»Ý­n­×¸ÉÀÉ¡C
°Ñ¨£
\nameurl{http://ipmasq.cjb.net}{Linux IP Masquerade Resource} 
Ãö©ó IP-Autoforwarding ªº¸ê°T«ü¤Þ¡C

±µ¤U¨Ó¡A§A­n¨ú±o³Ì·sª©¥»ªº {\ttfamily ip\_masq\_cuseeme.c}¡C
³o¥i¸g¥Ñ°Î¦W FTP ±q
\onlynameurl{ftp://ftp.swampgas.com/pub/cuseeme/ip\_masq\_cuseeme.c}
¨ú±o¡C
³o­Ó·sªº¼Ò²Õ¤]¤w¸g¥[¤J 2.0.31 ªº®Ö¤ß¤§¤¤¡C§A¥i¥H¥Î·sªºª©¥»¨Ó¨ú¥N®Ö¤ß¤¤ªºª©¥»¡C
{\ttfamily ip\_masq\_cuseeme.c} ³q±`¦ì©ó Linux ®Ö¤ß­ì©l½Xªº {\ttfamily net/ipv4} ¥Ø¿ý¤¤¡C
§A¥²¶·½sÄ¶¨Ã¦w¸Ë¦¹¼Ò²Õ¡C

±µ¤U¨Ó¡A§A¥²¶·«Ø¥ß UDP °ð¸¹ 7648-7649 ªº¦Û°ÊÂà°e¦p¤U:

\begin{tscreen}
\begin{verbatim}
ipautofw -A -r udp 7648 7649 -c udp 7648 -u
\end{verbatim}
\end{tscreen}

©Î
\begin{tscreen}
\begin{verbatim}
ipautofw -A -r udp 7648 7649 -h www.xxx.yyy.zzz 
\end{verbatim}
\end{tscreen}


²Ä¤@­Ó§Î¦¡¤¹³\©I¥s§Q¥Î°ð¸¹ 7648 (¥D­nªº cu-seeme °ð¸¹)¶i¥X¤u§@¯¸¡C
²Ä¤G­Ó¨Ï¥Î ipautofw ªº¤è¦¡¶È¤¹­p cu-seeme ¶i¥X www.xxx.yyy.zzz¡C
§Ú¸û³ßÅw«e­±³oºØ§Î¦¡¡A¦]¬°¥¦§ó¦³¼u©Ê¦Ó¥B¨S¦³¥²­n«ü©w¤@­Ó¯S§Oªº¤u§@¯¸ IP¡C
µM¦Ó¡A³o­Ó¤è¦¡·|­n¨D¤@¤u§@¯¸¯à¦¬¨ì©I¥s«e¥ý°e¥X©I¥s¡C

ª`·N³o¨âºØ¤è¦¡³£±N«È¤áºÝ¾÷¾¹ªº UDP °ð¸¹ 7648-7649 ¶}©ñµ¹¥~¬É --
ÁöµM³o¤£¦Ü©ó¦³ÄY­«ªº¦w¥þ¦MÀI¡A§AÁÙ¬OÀ³¯S§O¤p¤ß¡C

³Ì«á¡A¥H¤Uªk¸ü¤J·sªº {\ttfamily ip\_masq\_cuseeme} ¼Ò²Õ:

\begin{verbatim}
modprobe ip_masq_cuseeme 
\end{verbatim}


²{¦b§A¥i¥H±q§A°Ï°ìºô¸ô¤W¤@³¡³Q°°¸Ëªº¾÷¾¹¤W°õ¦æ CU-SeeMe ¨Ã³s±µ¨ì»·ºÝªº¦^À³¾¹(reflector)¤W¡A©Î¥t¤@­Ó CU-SeeMe ªº¨Ï¥ÎªÌ¡C
§AÀ³¸Ó¤]¥i¥H¦¬¨ì©I¥s¡Cª`·N¥~¬Éªº©I¥sªÌ¥²¶·¨Ï¥Î§A Linux §X¹D¾¹ªº IP, ¦Ó¤£¬O³Q°°¸Ë¤u§@¯¸ªº IP¡C




\subsubsection{­­¨î/Äµ§i}






\paragraph{±K½X«OÅ@ªº¦^À³¾¹}

¥Ø«e¨S¦³¥ô¦ó¿ìªk¨Ï¥Î¡C
White Pine ¨Ï¥Î¨Ó·½ IP (¥Ñ«È¤áºÝµ{¦¡­pºâ)¦b¶Ç°e«e±N±K½X½s½X«OÅ@¡C
¦]¬°§Ú­Ì§ï¼g¤F¦ì§}¡A¦^À³¾¹¨Ï¥Î¿ù»~ªº¨Ó·½ IP ¨Ó¸Ñ½X¡A¦]¦¹±o¨ì¤£¥¿½Tªº±K½X¡C
°£«D White Pine §ïÅÜ¥L­Ì±K½X½s½Xªºµ¦²¤(§Ú¤w¸g«ØÄ³¹L¤F)¡A©Î¬O¥L­ÌÄ@·N¶}©ñ¥L­Ì±K½X½s½Xªº¤½¦¡¥H«KÅý§Ú¯à¥[¨ì {\ttfamily ip\_masq\_cuseeme}¡C
¥Ñ©ó«á­±¤@­Ó¿ìªkªº¥i¯à©Ê«Ü¤p¡A¦]¦¹§Ú«D±`¹ªÀy¬Ý¨ì³o¥÷¤å¥óªº¤H»P White Pine Ápµ¸¨Ã«ØÄ³¥L­Ì±Ä¥Î«e¤@ºØ§@ªk¡C
¦]¬°¥»­¶ªº¬y¶q¬Û·íº¡°ªªº¡A§ÚÃhºÃ§Ú­Ì¯à§_²£¥Í¨¬°÷ªº¹q¤l¶l¥ó¥H¨Ï¦¹°ÝÃD¯à¶i¤J White Pine ªºÀu¥ý³B²z¦W³æ¤¤¡C

·PÁÂ Thomas Griwenka ´£¿ô§Ú³o¥ó¨Æ¡C




\paragraph{°õ¦æ¦^À³¾¹}

§A¤£¯à¹Á¸Õ¦b§A¶] {\ttfamily ip\_masq\_cuseeme} ¤Î ipautoforwarding °ð¸¹ 7648 ªº¬Û¦P¾÷¾¹¤W°õ¦æ¦^À³¾¹(reflector)¡C
³o¨S¦³¥Î¡A¦]¬°¨âªÌ³£»Ý­n°t¸m°ð¸¹ 7648¡C
©ÎªÌ¥Î¥t¤@³¡¥iª½¹Fºô»Úºô¸ôªº¥D¾÷¨Ó°õ¦æ¡A©Î¬O¦b°õ¦æ¦^À³¾¹«e¨ø¤U CU-SeeMe ªº«È¤áºÝ¤ä´©¡C




\paragraph{¦h CU-SeeMe ¨Ï¥ÎªÌ}

§A¤£¯à¤@¦¸¦³¦h¦ì CU-SeeMe ¨Ï¥ÎªÌ¦P®É¦b¤@­Ó°Ï°ìºô¸ô¤W­±¡C
³o¬O¥Ñ©ó CU-SeeMe ¹x©T¦a°í«ù¨Ï¥Î°ð¸¹ 7648, ¨Ï±o¦b°Ï°ìºô¸ô¤º¤@¦¸¶È¯à¦³¤@¥x¤u§@¯¸¯à(®e©ö¦a)³Q­«¾É¦V¡C

¨Ï¥Î -c (control port) ¨Ó©I¥s {\ttfamily ipautofw}, §A¥i¥HÁ×§K«ü©w¤@©T©wªº¤u§@¯¸¦ì§}¥h¨Ï¥Î CU-SeeMe --
²Ä¤@³¡¨Ï¥Î±±¨î°ð¸¹ 7648 °e¥X¥ô¦óªF¦èªº¤u§@¯¸·|³Q«ü©w¬°±µ¦¬¨Ó¦Û°ð¸¹ 7648-7649 ªº¬y¶q¡C
¦pªG¸g¹L¤­¤ÀÄÁ¥ª¥k³o³¡¤u§@¯¸¤£¦A¨Ï¥Î°ð¸¹ 7648, ¥t¤@³¡¤u§@¯¸´N¥i±µµÛ¨Ï¥Î¡C




\paragraph{¨ó§U³]©w CU-SeeMe}



­Y¦³¥ô¦óµû½×©Î°ÝÃD½Ð¼g«H¨ì
\onlynameurl{mikey@swampgas.com}¡C
©ÎªÌ¦pªG§AÄ@·Nªº¸Ü¡A§A¥i¥H
\nameurl{http://www.swampgas.com/vc/vc.htm}{³z¹L CU-SeeMe ¨Ó©I¥s§Ú}¡C






\subsection{¨ä¥¦¬ÛÃö¤u¨ã}

§Ú­Ì·|¾¨§Ö§ó·s¦¹¸`¥[¤W§ó¦h¨ä¥¦°°¸Ë¬ÛÃöªº¤u¨ã¦p ipportfw ¥H¤Î masqadmin¡C








\section{±`¨£°ÝÃD¸Ñµª}

¦pªG§A·Q¨ì¥ô¦ó¦³¥Îªº±`¨£°ÝÃD»P¸Ñµª¡A½Ð¼g«H¨ì
\onlynameurl{ambrose@writeme.com} ¤Î
\onlynameurl{dranch@trinnet.net}¡C
½Ð²M·¡¦a»¡©ú°ÝÃD¨Ãªþ¤W¾A·íªº¸Ñµª¡CÁÂÁÂ!




\subsection{IP Masquerade ¯à§_©M°ÊºA°t¸mªº IP ¦@¦P¹B§@?}

¬Oªº¡A¥¦¯à©M§A ISP °ÊºA°t¸mªº IP, ³q±`¬O¥Ñ¤@³¡ DHCP ¦øªA¾¹¤À°tªº¦ì§}¤@°_¹B§@¡C
¥u­n§A¦³¤@­Ó¦Xªkªººô»Úºô¸ô¦ì§}¡A¥¦´N¯à¹B§@¡C·íµM¡A©T©wªº IP ¤@¼Ë¨S°ÝÃD¡C




\subsection{§Ú¯à¨Ï¥Î¼Æ¾Ú¾÷¡ADSL, ½Ã¬P³s½uµ¥¨Ó³s±µºô»Úºô¸ô¨Ã¨Ï¥Î IP Masquerade ¶Ü?}

·íµM¡A¥u­n Linux ¤ä´©¸Óºô¸ô¬É­±¡A¥¦´N¯à¹B§@¡C




\subsection{IP Masquerade ¤ä´©¤°»òÀ³¥Îµ{¦¡?}

­n«O«ù¤@¥÷"¯à¥ÎªºÀ³¥Îµ{¦¡"¦Cªí¬O¬Û·í§xÃøªº¡C
¤£¹L¡A¤j³¡¤À¥¿±`ªººô»Úºô¸ôÀ³¥Îµ{¦¡³£³Q¤ä´©¡A¨Ò¦pÂsø°¾¹(Netscape, MSIE µ¥),
ftp (¹³ WS\_FTP), Real Audio, telnet, SSH, POP3 (¦¬«Hµ{¦¡ - Pine, Outlook µ¥),
SMTP(°e«Hµ{¦¡), µ¥µ¥¡C

¨Ï¥Î½ÆÂø¨ó©w©Î¯S®í³s½u¤è¦¡ªºÀ³¥Îµ{¦¡¡A¨Ò¦pµø°T·|Ä³³nÅé´N»Ý­n¯S§Oªº»²§U¤u¨ã¡C

¶i¤@¨Bªº²Ó¸`¡A½Ð°Ñ¦Ò Lee Nevo ºûÅ@ªº
\nameurl{http://dijon.nais.com/~nevo/masq/}{applications that work thru Linux IP masquerading}¡C




\subsection{§Ú¦p¦ó¦b Redhat, Debian, Slackware µ¥¨Ï¥Î IP Masquerade ©O?}

¤£½×§A¨Ï¥Î¦óºØµo¦æ®M¥ó¡A¥»¤å¥ó¤¤´y­zªº¤èªk³£À³¸Ó¯à¾A¥Î¡C
¬Y¨Ç®M¥ó¥i¯à¥]§t¤F GUI ©Î¬O¯S§Oªº³]©wÀÉ®×¯àÂ²¤Æ°t¸mªº¨BÆJ¡C
§Ú­Ì¬OºÉ¤OÅý³o¥÷¤å¥ó¼g±o¾A¥Î³Ì¤@¯ë¤Æªº±¡§Î¡C




\subsection{§Ú¤É¯Å¨ì 2.2.x ªº®Ö¤ß¡A¬°¤°»ò IP Masquerade ¤£¯à¥Î¤F?}

°²³]§Aªº Linux ¥D¾÷¤w¸g¾A·í¦a³s¤Wºô»Úºô¸ô»P§Aªº¤º³¡ºô¸ô¡A¦³´X¥ó¨Æ§A¥²»ÝÀË¬d:

\begin{itemize}
\item ½T©w§A¤w½sÄ¶¨Ã¸ü¤J¥²­nªº¯S©Ê»P¼Ò²Õ¡C°Ñ¨£«e­±³¹¸`ªº»¡©ú¡C
\item ÀË¬d {\ttfamily /usr/src/linux/Documentation/Changes} ¨Ã½T©w§A¦w¸Ë¤F³Ì§C»Ý¨Dªººô¸ô¤u¨ã¡C
\item ½T©w§A¥´¶}¤F IP Âà°e¾÷¨î¡C¸ÕµÛ°õ¦æ
\begin{tscreen}
\begin{verbatim}
echo "1" > /proc/sys/net/ipv4/ip_forwarding
\end{verbatim}
\end{tscreen}
\item §A¥²¶·¨Ï¥Î
\nameurl{http://www.rustcorp.com/linux/ipchains/}{ipchains}
¨Ó³B²z IP °°¸Ë¤Î¨¾¤õÀð³W«h¡C
\item ±N¾ã­Ó³]©w°t¸mªº¹Lµ{¦A°µ¤@¦¸! «Ü¦h®É­Ô¥u¬O¥´¿ù¦r©Î¬O§A©¿²¤¤F¤@­Ó·MÄøªº¿ù»~¡C
\end{itemize}





\subsection{§Ú¤w¸g¤É¯Å¨ì 2.0.30 «áªº®Ö¤ß¡A¬°¤°»ò IP Masquerade ÁÙ¤£¯à¥Î?}

°²³]§Aªº Linux ¥D¾÷¤w¸g¾A·í¦a³s¤Wºô»Úºô¸ô»P§Aªº¤º³¡ºô¸ô¡A¦³´X¥ó¨Æ§A¥²»ÝÀË¬d:

\begin{itemize}
\item ½T©w§A¤w½sÄ¶¨Ã¸ü¤J¥²­nªº¯S©Ê»P¼Ò²Õ¡C°Ñ¨£«e­±³¹¸`ªº»¡©ú¡C
\item ÀË¬d {\ttfamily /usr/src/linux/Documentation/Changes} ¨Ã½T©w§A¦w¸Ë¤F³Ì§C»Ý¨Dªººô¸ô¤u¨ã¡C
\item ½T©w§A¥´¶}¤F IP Âà°e¾÷¨î¡C¸ÕµÛ°õ¦æ
\begin{tscreen}
\begin{verbatim}
echo "1" > /proc/sys/net/ipv4/ip_forwarding
\end{verbatim}
\end{tscreen}
\item §A¥²¶·¨Ï¥Î
\nameurl{http://www.xos.nl/}{ipfwadm}
¨Ó³B²z IP °°¸Ë¤Î¨¾¤õÀð³W«h¡C­n¦b 2.0.x ¨Ï¥Î ipchains ªº¸Ü§A¥²¶·¥[¤W­×¸É¡C
\item ±N¾ã­Ó³]©w°t¸mªº¹Lµ{¦A°µ¤@¦¸! «Ü¦h®É­Ô¥u¬O¥´¿ù¦r©Î¬O§A©¿²¤¤F¤@­Ó·MÄøªº¿ù»~¡C
\end{itemize}





\subsection{§ÚµLªkÅý IP Masquerade ¹B§@! ¦³ Windows ¥­¥xªº¿ï¾Ü¶Ü?}

©Ò¥H§A­n©ñ±ó¤@­Ó¥i¦b³Ì§CµwÅé»Ý¨D¨Ï¥Îªº§K¶O¡A¥i¾a¡A°ª®Ä²vªº¸Ñ¨M¤è®×¡A¦Ó·Qªá¿ú¦b¬Y­Ó»Ý­n§ó°ªµwÅé¡A§C®Ä²v¥B¤£¥i¾aªº¥¼¨Ó?
(¶â¡A¬Oªº¡A§Ú¯uªº¹J¹L³o¼Ëªº¸gÅç ;-) )

¦n§a¡A¨º¬O§Aªº¨Æ¡C¥Î·j´M¤ÞÀº§ä§ä MS Proxy Server, Wingate, ©Î¬Ý¬Ý www.winfiles.com¡C §O»¡¬O§Ú§i¶D§A¡C




\subsection{§ÚÀË¬d¹L§Ú©Ò¦³ªº³]©w¤F¡A¤´µLªkÅý IP Masquerade ¤u§@¡C§Ú¸Ó«ç»ò¿ì?}

\begin{itemize}
\item §NÀR¤@¤U¡Cµ¹§A¦Û¤v¤@ªM©@°Ø¨Ã¥ð®§¤@¤U¡AµM«á¸Õ¸Õ¤U­±ªº«ØÄ³¡C
\item ¬Ý¤@¤U \nameurl{http://home.indyramp.com/lists/masq/}{IP Masquerade Mailing List Archive},
¤j³¡¥÷§A­nªºµª®×¤w¸g¦bµ¥µÛ§A¤F¡C
\item §â§Aªº°ÝÃD°e¨ì IP Masquerade ³q«H½×¾Â¤W¡A²Ó¸`½Ð¬Ý¤U¤@«h°ÝÃD¡C
½Ð¶È¦³¦b§AµLªk§ä¨ìµª®×®É¤~³o»ò°µ¡C
\item ¦b Linux ªººô¸ô¬ÛÃö°Q½×¸s¤¤µo°Ý¡C
\item ¼g«H¨ì \onlynameurl{ambrose@writeme.com}
¤Î \onlynameurl{dranch@trinnet.net}¡C
¦P®É°e«Hµ¹§Ú­Ì§A·|¦³¸û¨Îªº¾÷·|±o¨ì¦^À³¡CDavid ¦^«Hªº±¡ªp¸û¨Î¡A¦Ü©ó§Úªº¦^À³®É¶¡¹À¡A¤£¤©¸mµû¡C
\item ¦A¦¸ÀË¬d§Aªº³]©w :-)
\end{itemize}





\subsection{§Ú¦p¦ó¥[¤J IP Masquerade ³q«H½×¾Â?}

­n¥[¤J IP Masquerade ³q«H½×¾Âªº¸Ü¡A¼g«H¨ì
\onlynameurl{masq-subscribe@indyramp.com}¡C

¼ÐÃD»P«H¥ó¤º®e±N³Q©¿²¤¡C³o¥i¨Ï±o§A¦¬¨ì¨Ó¦Û½×¾Âªº¨C¤@­Ó°T®§¡C
¦pªG§A»Ý­nªº¸Ü¡AÅwªï§A¨Ï¥Î¦¹¤è¦¡¡C¦ý¦pªG¥i¥Hªº¸Ü¡A½Ð§ï¥ÎºëµØ°Ï(digest)¡C
¨Ï¥ÎºëµØ°Ï¥i´î»´¦øªA¾¹ªº­t¸ü¡Cª`·N§A¥u¯à¨Ï¥Î§A¥Î¨Ó­q¾\ªº±b¸¹/¦ì§}µo°e«H¥ó¡C

·Q±o¨ì§ó¦h«ü¥Oªº»¡©ú¡A¼g«H¨ì
\onlynameurl{masq-help@tori.indyramp.com}¡C




\subsection{§Ú·Q¨ó§U IP Masquerade ªºµo®i¡C§Ú¸Ó«ç»ò°µ?}

¼g«H¨ì
\onlynameurl{masq-dev-subscribe@tori.indyramp.com} 
(©Î¬OºëµØ°Ï§Î¦¡¡A¨Ï¥Î
\onlynameurl{masq-dev-digest-subscribe@tori.indyramp.com})¡C
¥[¤J IP Masquerading DEVELOPERS ªº³q«H½×¾Â¨Ã½Ð±Ð¨ºÃä°¶¤jªº¶}µoªÌ¡C

§O¦b¨ºÃä¸ß°Ý»P IP Masquerade µo®iµLÃöªº°ÝÃD!!!!




\subsection{¦b¨º¸Ì¥i§ä¨ì§ó¦h IP Masquerade ªº¸ê°T?}

§A¥i¦b David ¤Î§Ú´£¹Lªº
\nameurl{http://ipmasq.cjb.net/}{Linux IP Masquerade Resource}
§ä¨ì§ó¦h IP Masquerade ªº¸ê°T¡C°Ñ¨£ 6.2 ¤p¸`¡C

§A¤]¥i¦b Indyramp Consulting ºûÅ@ªº
\nameurl{http://www.indyramp.com/masq/}{The Semi-Original Linux IP Masquerading Web Site} 
§ä¨ì§ó¦h¸ê°T¡C³o¤]¬O´£¨Ñ IP Masquerade ³q«H½×¾Âªº¦a¤è¡C




\subsection{§Ú·QÂ½Ä¶¥»¤å¥ó¦¨¨ä¥¦»y¨¥¡A§Ú¸Ó«ç»ò°µ?}

½Ð¥ý½T©w§A·QÂ½Ä¶ªº»y¨¥ÁÙ¨S¦³¨ä¥¦¤H°µ¹L¡C
¤@¥÷¥i¨ú±oªºÂ½Ä¶¤å¥ó¦Cªí¥i±q
\nameurl{http://ipmasq.cjb.net/}{Linux IP Masquerade Resource}
±o¨ì¡C

¼g«Hµ¹§Ú¨ì \onlynameurl{ambrose@writeme.com},
§Ú·|±H³Ì·sª©ªº SGML ­ì©lÀÉµ¹§A¡C






\subsection{³o¤å¥ó¦³ÂI¹L®É¤F¡A§AÁÙ¦³¦bºûÅ@¶Ü?
§A¯à¥[¶i§ó¦h ... ªº¸ê°T¶Ü? ¦³¥ô¦ó§ïµ½ªº­p¹º¶Ü?}

¬Oªº¡A¥»¤å¥ó¦³³QºûÅ@¡C¦]¬°¨â¥÷¤u§@¨Ï§Ú¤Ó¦£¦Ó¨S¦³¤Ó¦h®É¶¡©ñ¦b³oÃä¨Ï§Ú·P¨ì¤ºª¹¡A§Ú«Ü©êºp¡C
µM¦Ó¡A¦³¤F David Ranch ¥[¤J¥»¤å¥óªººûÅ@¡A±¡ªpÀ³¦³§ïµ½¡C

¦pªG§AÄ±±o¬Y¤@¥DÃDÀ³³Q¥[¨ì¤å¥ó¤¤¡A½Ð¼g«Hµ¹§Ú¤Î David¡C
³Ì¦n§A¥i¥H´£¨Ñ¸Ó¸ê°T¡C¦pªG¦X¾Aªº¸Ü§Ú¤Î David ·|§â³o¸ê°T¥[¨ì¤å¥ó¤¤¡C«D±`·PÁÂ§Aªº°^Äm¡C

§Ú­Ì¤]¦³¤@¨Ç·sªºÂI¤l»P­p¹º¨Ó§ï¶i³o¥÷¤å¥ó¡A¹³¬O¥]§t¤£¦Pºô¸ô³]©wªº®×¨Ò±´°Q¡A
§ó¦hÃö©ó¦w¥þ©Ê¡Aipchains ªº¨Ï¥Î¡Aipfwadm/ipchains ³W«h½d¨Ò¡A§ó¦hªº±`¨£°ÝÃD»P¸Ñµª¡A
¥H¤Î¥]§t§ó¦h¨ó©w»P°ð¸¹Âà°eªº¤u¨ã¹³¬O {\ttfamily masqadmin} µ¥µ¥¡C
¦pªG§AÄ±±o§A¥i¥HÀ°¦£ªº¸Ü¡A½Ð¾¨ºÞ°µ¡CÁÂÁÂ¡C




\subsection{§Ú²×©óÅý IP Masquerade ¯à°Ê¤F¡A¦n´Î! §Ú·QÁÂÁÂ§A­Ì¡A§Ú¸Ó«ç»ò°µ?}

·PÁÂ³o¨Çµo®iªÌ¨Ã·P¿E¥L­Ì©Ò§ë¤Jªº®É¶¡»P§V¤O¡C¼g«Hµ¹§Ú­Ì¨ÃÅý§Ú­Ìª¾¹D§A¦³¦h§Ö¼Ö¡C
¦V¨ä¥¦¤H¤¶²Ð Linux ¨ÃÀ°¥L­Ì¸Ñ¨M°ÝÃD¡C






\section{¨ä¥¦}






\subsection{¦³¥Îªº¸ê·½}

\begin{itemize}
\item \nameurl{http://ipmasq.cjb.net/}{IP Masquerade Resource page}
À³¦³§ó¦h«Ø¥ß IP Masquerade ªº¸ê°T¡C\\ 
\item \nameurl{http://www.indyramp.com/masq/list/}{IP masquerade mailing list archive}
¥]§t³Ìªñ°e¨ì³q«H½×¾Â¤Wªº«H¥ó¡C
\item µ¹®Ö¤ß 2.2.x »P 2.0.x ªº \nameurl{http://ipmasq.cjb.net/ipmasq-HOWTO.html}{Linux IP Masquerade mini HOWTO}¡C
\item ¦pªG§A¥Î§óÂÂªº®Ö¤ß¡A½Ð¬Ý \nameurl{http://ipmasq.cjb.net/ipmasq-HOWTO-1.2.x.txt}{IP Masquerade HOWTO for kernel 1.2.x}
\item \nameurl{http://www.indyramp.com/masq/ip_masquerade.txt}{IP masquerade FAQ}
¦³¬Y¨Ç¤@¯ëªº¸ê°T¡C
\item \nameurl{http://metalab.unc.edu/mdw/HOWTO/IPCHAINS-HOWTO.html}{Linux IPCHAINS HOWTO} ¤Î \onlynameurl{http://www.rustcorp.com/linux/ipchains/}
¦³³\¦hÃö©ó ipchains ¨Ï¥Îªº¸ê°T¡A¨Ã¦³ ipchains ªº­ì©l½X¤Î¤G¶i¦ì°õ¦æÀÉ¡C
\item \nameurl{http://www.xos.nl/linux/ipfwadm/}{X/OS Ipfwadm page} 
¥]§t {\ttfamily ipfwadm} ®M¥óªº­ì©l½X¡A°õ¦æÀÉ¡A¤å¥ó¤Î¨ä¥¦ªº¸ê°T¡C
\item ¥Ñ Lee Nevo ©ÒºûÅ@ªººô­¶ \nameurl{http://dijon.nais.com/~nevo/masq/}{¥i»P Linux IP masquerading ¹B§@ªºÀ³¥Îµ{¦¡} 
´£¨Ñ´£¥Ü»P§Þ¥©¨Ï±oÀ³¥Îµ{¦¡¯à»P IP Masquerade ¹B§@¡C
\item The \nameurl{http://metalab.unc.edu/mdw/LDP/nag/nag.html}{LDP Network Administrator's Guide} 
³o¬O·s¤â¹Á¸Õ³]©wºô¸ôªº¥²­n¸ê°T¡C
\item \nameurl{http://www.ecst.csuchico.edu/~dranch/LINUX/TrinityOS.wri}{Trinity OS Doc},
¤@¥÷Ãö©ó Linux ºô¸ô¬Û·í®e©ö²z¸Ñªº«ü¤Þ¡C
\item \nameurl{http://metalab.unc.edu/mdw/HOWTO/NET-3-HOWTO.html}{Linux NET-3 HOWTO}
¤]¦³³\¦hÃö©ó Linux ºô¸ô¤è­±¦³¥Îªº¸ê°T¡C
\item \nameurl{http://metalab.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html}{Linux ISP Hookup HOWTO} ¥H¤Î
\nameurl{http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html}{Linux PPP HOWTO}
µ¹§A¦p¦ó§â Linux ¥D¾÷³s¤Wºô»Úºô¸ôªº¬ÛÃö¸ê°T¡C
\item \nameurl{http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html}{Linux Ethernet-Howto}
¦³Ãö³]©w°õ¦æ¤A¤Óºô¸ôªº°Ï°ìºô¸ô«Ü´Îªº¸ê°T¨Ó·½¡C
\item §A¤]¥i¯à¹ï \nameurl{http://metalab.unc.edu/mdw/HOWTO/Firewall-HOWTO.html}{Linux Firewalling and Proxy Server HOWTO} ¦³¿³½ì¡C
\item \nameurl{http://metalab.unc.edu/mdw/HOWTO/Kernel-HOWTO.html}{Linux Kernel HOWTO}
±N·|«ü¤Þ§A½sÄ¶®Ö¤ßªº¹Lµ{¡C
\item ¨ä¥¦ªº \nameurl{http://metalab.unc.edu/mdw/HOWTO/HOWTO-INDEX-3.html}{Linux HOWTOs}
¹³¬O Kernel HOWTO¡C
\item ±i¶K¨ì³o­Ó USENET ·s»D¸s²Õ: \onlynameurl{comp.os.linux.networking}
\end{itemize}





\subsection{Linux IP Masquerade ¸ê·½}

\nameurl{http://ipmasq.cjb.net/}{Linux IP Masquerade Resource}
¬O¤@±Mªù¥Î¨Ó´£¨Ñ Linux IP Masquerade ¸ê°Tªº¯¸¥x¡A¤]¬O¥Ñ David Ranch ¤Î§Ú¨ÓºûÅ@¡C
³oÃä¦³Ãö©ó IP Masquerade ³Ì·sªº¸ê°T¡A¥i¯à¤]¦³¥¼¥]§t¦b¥»¤å¥óªº¨ä¥¦¸ê°T¡C

§A¥i¦b¤U¦C¦aÂI§ä¨ì Linux IP Masquerade Resource:
\begin{itemize}
\item \onlynameurl{http://ipmasq.cjb.net/},
¥D¯¸¥x¡A­«¾É¦Ü \onlynameurl{http://www.tor.shaw.wave.ca/\~{}ambrose/}
\item \onlynameurl{http://ipmasq2.cjb.net/}, 
²Ä¤G¤À¯¸, ­«¾É¦Ü
\onlynameurl{http://www.geocities.com/SiliconValley/Heights/2288/}
\end{itemize}







\subsection{·PÁÂ}

\begin{itemize}
\item  David Ranch, dranch@trinnet.net\\ 
 ¨ó§UºûÅ@¥»¤å¥ó¤Î Linux IP Masquerade ¸ê·½ºô­¶, ..., ±ÚÁc¤£¤Î³Æ¸ü :-)
\item  Michael Owings, mikey@swampgas.com\\ 
 ´£¨ÑÃö©ó CU-SeeMe ªºÂ²µu»¡©ú¤å¥ó¡C
\item  Gabriel Beitler, gbeitler@aciscorp.com\\ 
 on providing section 3.3.8 (setting up Novel)
\item Ed Doolittle, dolittle@math.toronto.edu \\ 
 «ØÄ³¦b {\ttfamily ipfwadm} ¥[¤W {\ttfamily -V} ¿ï¶µ¥H¼W¥[¦w¥þ©Ê¡C
\item Matthew Driver, mdriver@cfmeu.asn.au\\ 
on helping extensively on this HOWTO, and providing section 3.3.1 (setting up Windows 95)
\item Ken Eves, ken@eves.com\\ 
on the FAQ that provides invaluable information for this HOWTO 
\item Ed. Lott, edlott@neosoft.com\\ 
for a long list of tested system and software
\item Nigel Metheringham, Nigel.Metheringham@theplanet.net\\ 
on contributing his version of IP Packet Filtering and IP Masquerading HOWTO, which make this HOWTO a better and technical in-depth document\\ 
section 4.1, 4.2, and others
\item Keith Owens, kaos@ocs.com.au\\ 
on providing an excellent guide on ipfwadm section 4.2\\ 
on correction to {\ttfamily ipfwadm -deny} option which avoids a security hole, and clarified the status of {\ttfamily ping} over IP Masquerade 
\item Rob Pelkey, rpelkey@abacus.bates.edu\\ 
on providing section 3.3.6 and 3.3.7 (setting up MacTCP and Open Transport)
\item Harish Pillay, h.pillay@ieee.org \\ 
on providing section 4.5 (dial-on-demand using diald)
\item Mark Purcell, purcell@rmcs.cranfield.ac.uk\\ 
on providing section 4.6 (IPautofw)
\item Ueli Rutishauser, rutish@ibm.net\\ 
on providing section 3.3.9 (setting up OS/2 Warp)
\item John B. (Brent) Williams, forerunner@mercury.net\\ 
on providing section 3.3.7 (setting up Open Transport)
\item Enrique Pessoa Xavier, enrique@labma.ufrj.br\\ 
on the bootp setup suggestion
\item developers of IP Masquerade for this great feature
\begin{quotation}
\begin{itemize}
\item Delian Delchev, delian@wfpa.acad.bg
\item Nigel Metheringham, Nigel.Metheringham@theplanet.net 
\item Keith Owens, kaos@ocs.com.au 
\item Jeanette Pauline Middelink, middelin@polyware.iaf.nl 
\item David A. Ranch, trinity@value.net
\item Miquel van Smoorenburg, miquels@q.cistron.nl
\item Jos Vos, jos@xos.nl
\item Paul Russell, Paul.Russell@rustcorp.com.au
\item ÁÙ¦³¨ä¥¦§Ú§Ñ¤F´£ªº(½ÐÅý§Úª¾¹D)
\end{itemize}
\end{quotation}

\item ©Ò¦³°e¦^õX¤Î«ØÄ³¨ì³q«H½×¾Â¤Wªº¨Ï¥ÎªÌ¡A¯S§O¬O¨º¨Ç³ø§i¤å¥ó¤Wªº¿ù»~¥H¤Î¤w¤ä´©»P¥¼¤ä´©ªº«È¤áºÝªº¡C
\item ¦pªG§Ú¨S¦³¥]¬A¬Y¨Ç¨Ï¥ÎªÌ°eµ¹§Úªº¸ê°T§Ú·P¨ì©êºp¡C¦³¦p¦¹¦hªº«ØÄ³»P·Qªk°e¨ì§Ú³o¸Ì¡A¦ý§Ú¥u¬O¨S¦³¨¬°÷ªº®É¶¡¥h½T©w©ÎªÌ§Ú¤£¤p¤ß¥á¤F¡C
§Ú¥¿ºÉ§Ú³Ì¤jªº§V¤O¾ã¦X©Ò¦³°eµ¹§Úªº¸ê°T¨ì³o¥÷¤å¥ó¸Ì¡C·PÁÂ§Aªº¨¯³Ò¡A¦Ó§Ú¤]§Æ±æ§A¯àÅé½Ì§Úªº±¡ªp¡C
\end{itemize}







\subsection{°Ñ¦Ò¸ê®Æ}

\begin{itemize}
\item Ken Eves ªº IP masquerade ±`¨£°Ýµª¶°
\item Indyramp Consulting ¤§ IP masquerade ³q«H½×¾Â
\item X/OS ªº Ipfwadm  ºô­¶
\item ¦U­ÓÃö©óºô¸ôªº Linux HOWTOs
\end{itemize}






\end{document}
