|
---|
D.M.Z
CONTENT
PRE
NEXT
8.1 Untangling the P's SLIP°ú ¸¶Âù°¡Áö·Î, PPPµµ ½Ã¸®¾ó Ä¿³Ø¼ÇÀ» ÅëÇØ µ¥ÀÌÅͱ׷¥À» º¸³»´Â ÇÁ·ÎÅäÄÝÀ̳ª, ÀüÀÚÀÇ ¸î°¡Áö ºÎÁ·ÇÑ Á¡À» º¸¿ÏÇÑ´Ù. ±×°ÍÀº ±¸µ¿½Ã¿¡ Åë½ÅÇÏ´Â ÂÊ°£¿¡ IP ÁÖ¼Ò³ª ÃÖ´ë µ¥ÀÌÅͱ׷¥ Å©±â°°Àº ¿É¼ÇÀ» Çù»óÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í, Ŭ¶óÀ̾ðÆ®ÀÎÁõÀ» Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ ´É·Â °¢°¢¿¡, IP´Â º°°³ÀÇ ÇÁ·ÎÅäÄÝÀ» °¡Áø´Ù. ¾Æ·¡¿¡¼ ¿ì¸®´Â ÀÌ·¯ÇÑ PPPÀÇ ±âº» Ãʼ®À» °£·«ÇÏ°Ô³ª¸¶ ´Ù·ê °ÍÀ̳ª, ÀÌ·¯ÇÑ ¼³¸íÀº ¾Æ¸¶µµ ´ç½Å¿¡°Õ ÅξøÀÌ ºÎÁ·ÇÑ °ÍÀ̸®¶ó. PPP¿¡ °üÇØ ´õ ¸¹Àº °ÍÀ» ¾Ë°íÀÚ ÇÑ´Ù¸é RFC 1548°ú, °ü·ÃµÈ ½Ê¿©°³ÀÇ RFCµé¿¡¼ ±×°ÍÀÇ ¸í¼¼¼¸¦ Àо±æ ±ÇÇÑ´Ù. PPPÀÇ ÃÖÇÏÀ§¿£ High-Level Data Control Protocol, ¾à¾î·Î HDLC°¡ ÀÖÀ¸¸ç, ÀÌ´Â °³º° PPP ÇÁ·¹ÀÓ¿¡ ´ëÇÑ °æ°è¼±À» Á¤ÀÇÇÏ°í 16bit checksumÀ» Á¦°øÇÑ´Ù. º¸´Ù ¿ø½ÃÀûÀÎ SLIP ĸ½¶È ¹æ½Ä°ú´Â ´ëÁ¶ÀûÀ¸·Î, PPP ÇÁ·¹ÀÓÀº IP ÀÌ¿ÜÀÇ ÇÁ·ÎÅäÄÝ, Áï NovellÀÇ IPX³ª Appletalk °°Àº °ÍµéÀÇ ÆÐŶµµ ¼ö¿ëÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ÀÖ´Ù. PPP´Â ±âº» HDLC ÇÁ·¹ÀÓ¿¡ ÇÁ·ÎÅäÄÝ Çʵ带 Ãß°¡ÇÏ¿©, ÇÁ·¹ÀÓÀÌ ¿î¹ÝÇÏ°í ÀÖ´Â ÆÐŶÀÇ Å¸ÀÔÀÌ ÀνÄÇÒ ¼ö ÀÖ°Ô ÇÔÀ¸·ÎÇؼ À§¿Í °°Àº ÀÏÀ» ¼öÇàÇÑ´Ù. LCP, Link Control ProtocolÀº HDLCÀÇ ÃÖ»óÀ§¿¡ »ç¿ëµÇ¸ç, Maximum Receive Unit (MRU)°°Àº µ¥ÀÌÅ͸µÅ©¿¡ ¼ÓÇÑ ¿É¼ÇÀ» Çù»óÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. MRU´Â ¸µÅ©ÀÇ ÇÑÂÊÀÌ ¹ÞÀ» ¼ö ÀÖ´Ù°í µ¿ÀÇÇÏ´Â ÃÖ´ë µ¥ÀÌÅͱ׷¥ Å©±â¸¦ ³ªÅ¸³½´Ù. PPP¸µÅ©ÀÇ ¼³Á¤´Ü°è¿¡¼ ÇÑ°¡Áö Áß¿äÇÑ ÀýÂ÷´Â Ŭ¶óÀ̾ðÆ® ÀÎÁõÀÌ´Ù. ±×°ÍÀÌ °Á¦ÀûÀÌÁö´Â ¾Ê´õ¶óµµ dial-up¶óÀο¡¼ Á¤¸»·Î ÇÊ¿äÇÑ °ÍÀÌ´Ù. º¸Åë, Àüȹ޴ ȣ½ºÆ®(¼¹ö)´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸î°¡Áö secret key¸¦ ¾Ë°í ÀÖ´ÂÁö Áõ¸íÇÏ°Ô ÇÔÀ¸·Î½á ±×°ÍÀ» ÀÎÁõÇÑ´Ù. ¸¸¾à ÀüÈ°Å´Â ÂÊÀÌ Á¤È®ÇÑ secret key¸¦ ¸¸µéÁö ¸øÇÑ´Ù¸é, Ä¿³Ø¼ÇÀº öȸµÈ´Ù. PPP¿¡¼ÀÇ ÀÎÁõÀº µÎ ´Ü°èÀÌ´Ù. Áï ÀüÈ°Å´Â ÂÊÀº ¼¹ö¿¡°Ô ÀÚ½ÅÀ» ÀÎÁõ½Ãų °ÍÀ» ¿ä±¸ÇÑ´Ù. ÀÌ ÀÎÁõ ÀýÂ÷µéÀº ¿ÏÀüÈ÷ °¢°¢ µ¶¸³ÀûÀÎ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ´Ù¸¥ ÀÎÁõŸÀÔ¿¡ ´ëÇÏ¿© µÎ°³ÀÇ ÇÁ·ÎÅäÄÝÀÌ Á¸ÀçÇϸç, Á» ´õ µÚ¿¡ ³íÀÇÇÒ °ÍÀÌ´Ù. ±×°ÍµéÀÇ À̸§Àº Password Authentiation Protocol (PAP)¿Í Challenge Handshake Authentication Protocol (CHAP)ÀÌ´Ù. IP, AppleTalk µî°ú °°ÀÌ µ¥ÀÌÅ͸µÅ©¸¦ µû¶ó ¶ó¿ìÆ®µÇ´Â °¢ ³×Æ®¿÷ ÇÁ·ÎÅäÄÝÀº, »óÀÀÇÏ´Â Network Control Protocol (NCP)À» »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î ¼³Á¤µÈ´Ù. ¿¹¸¦ µé¾î, ¸µÅ©¸¦ µû¶ó IP µ¥ÀÌÅͱ׷¥À» º¸³»·Á¸é, °¡Àå ¸ÕÀú °¢°¢ ¾î¶² IP¸¦ »ç¿ëÇÒ °ÍÀÎÁö ¾çÂÊ PPP°¡ Çù»óÇØ¾ß ÇÑ´Ù. À̸¦ À§ÇØ »ç¿ëµÇ´Â Á¦¾î ÇÁ·ÎÅäÄÝÀº IPCP, Áï Internet Protocol Control ProtocolÀÌ´Ù. Ç¥ÁØ IP µ¥ÀÌÅͱ׷¥ ÀÌ¿Ü¿¡µµ, PPP´Â IP µ¥ÀÌÅͱ׷¥ÀÇ header compression (Çì´õ ¾ÐÃà)µµ Áö¿øÇϴµ¥, ÀÌ°ÍÀº TCPÀÇ Çì´õ¸¦ 3 byteÀÇ Å©±â·Î ÀÛ°Ô ÁÙÀÌ´Â ±â¼úÀÌ´Ù. ±×°ÍÀº ¿ª½Ã³ª CSLIP¿¡¼µµ »ç¿ëµÇ¸ç º¸´Ù ±¸¾îÀûÀ¸·Î VJ header compressionÀ̶ó ĪÇÑ´Ù. compressionÀÇ »ç¿ëÀº ±¸µ¿½Ã¿¡ IPCP¸¦ ÅëÇØ Çù¾àµÈ´Ù.
¸®´ª½º »ó¿¡¼ PPPÀÇ ±â´ÉÀº, Ä¿³Î³»ÀÇ low-level HDLC µå¶óÀ̹ö¿Í ¿©·¯ Á¦¾î ÇÁ·ÎÅäÄÝÀ» Á¶Á¤ÇÏ´Â À¯Àú Â÷¿øÀÇ µÎ ºÎºÐÀ¸·Î ³ª´¶´Ù. ÇöÀçÀÇ ¸®´ª½º¿ë PPP ¸±¸®Áî´Â linux-ppp-1.0.0À¸·Î Ä¿³Î PPP ¸ðµâ, pppd, ±×¸®°í ¸®¸ðÆ® ½Ã½ºÅÛ¿¡ dial up Çϴµ¥ »ç¿ëµÇ´Â chatÀ̶ó´Â À̸§ÀÇ ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ´Ù. PPP Ä¿³Î µå¶óÀ̹ö´Â Michael CallahanÀÌ ½è°í pppd´Â Sun°ú 386 BSD ¸Ó½ÅÀÇ °ø°³ PPP implementation¿¡¼ À¯·¡ÇÑ °ÍÀ¸·Î, Drew Perkins¸¦ ºñ·ÔÇÑ »ç¶÷µéÀÌ ¾´ °ÍÀ̸ç, Paul Mackerras°¡ °ü¸®ÇÑ´Ù. ±×°ÍÀº Al Longyear¿¡ ÀÇÇØ ¸®´ª½º·Î Æ÷ÆõǾú°í, chatÀº Karl Fox¿¡ ÀÇÇØ ¾²¿´´Ù. SLIP°ú ¸¶Âù°¡Áö·Î PPP´Â Ư¼öÇÑ ¶óÀÎ ±ÔÀ² (line discipline)¿¡ ÀÇÇØ ¼öÇàµÈ´Ù. ¾î¶² ½Ã¸®¾ó¶óÀÎÀ» PPP ¸µÅ©·Î »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é, ¸ÕÀú Æò¼Ò¿Í °°ÀÌ ¸ðµ©À¸·Î Ä¿³Ø¼ÇÀ» ¼º¸³ÇÑ ÈÄ ±× ¶óÀÎÀ» PPP¸ðµå·Î º¯È¯ÇÑ´Ù. ÀÌ ¸ðµå¿¡¼, µé¾î¿À´Â ¸ðµç µ¥ÀÌÅÍ´Â PPP µå¶óÀ̹ö·Î ³Ñ°ÜÁö°í, PPP µå¶óÀ̹ö´Â µé¾î¿À´Â HDLC ÇÁ·¹ÀÓ¿¡ ´ëÇØ ÀûÀý¼º ¿©ºÎ¸¦ üũÇÏ°í (°¢ HDLC ÇÁ·¹ÀÓÀº 16ºñÆ® checksumÀ» °®°í ´Ù´Ñ´Ù.), ±×°ÍµéÀ» Ç®¾î¼ ¹ß¼ÛÇÑ´Ù. ÇöÀç·Î ±×°ÍÀº IP µ¥ÀÌÅͱ׷¥À» ´Ù·ê ¼ö ÀÖÀ¸¸ç, ¼±ÅÃÀûÀ¸·Î Van Jacobson header compressionÀ» »ç¿ëÇϱ⵵ ÇÑ´Ù. ¸®´ª½º°¡ IPX¸¦ Áö¿øÇÏ°Ô µÇ¸é, ¸®´ª½º°¡ IPX¸¦ Áö¿øÇϰԵǸé, PPP µå¶óÀ̹öµµ IPX ÆÐŶÀ» ´Ù·ê ¼ö ÀÖµµ·Ï È®ÀåµÉ °ÍÀÌ´Ù. Ä¿³Î µå¶óÀ̹ö´Â, ½ÇÁ¦·Î ³×Æ®¿÷ trafficÀ» ¸µÅ©¸¦ µû¶ó º¸³¾¼ö ÀÖ°Ô µÇ±â Àü¿¡ ÇÊ¿äÇÑ Àü¹ÝÀûÀÎ ÃʱâÈ¿Í ÀÎÁõ´Ü°è¸¦ ¼öÇàÇÏ´Â PPP µ¥¸óÀÎ, pppdÀÇ µµ¿òÀ» ¹Þ´Â´Ù. pppdÀÇ µ¿ÀÛÀº ¿©·¯ ¿É¼ÇÀ» ÅëÇØ Àß Á¶ÀýµÉ ¼ö ÀÖ´Ù. PPP°¡ ´Ù¼Ò º¹ÀâÇϵí, ´Ü ÇϳªÀÇ chapter¿¡¼ ±×°ÍÀÇ ¸ðµÎ¸¦ ¼³¸íÇÏ´Â°Ç ºÒ°¡´ÉÇÏ´Ù. µû¶ó¼ ÀÌ Ã¥Àº pppdÀÇ ¼Ò½º ¹èÆ÷ÆÇ ³»ÀÇ ¸Å´º¾ó ÆäÀÌÁö¿Í README¸¦ ÂüÁ¶Ç϶ó. ±×°ÍµéÀº ÀÌ Àå¿¡¼ ÇØ°áÇØ ÁÙ ¼ö ¾ø´Â ´ëºÎºÐÀÇ Àǹ®Á¡À» ÇØ°áÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁÙ °ÍÀÌ´Ù. ¸¸¾à ¸ðµç ¹®¼¸¦ ÀÐ°í³ ÈÄ¿¡µµ ¿©ÀüÈ÷ Àǹ®Á¡ÀÌ ³²¾ÆÀÖ´Ù¸é, ´º½º ±×·ì comp.protocols.ppp¿¡ µµ¿òÀ» ¿äûÇ϶ó, ¿©±â´Â pppdÀÇ °³¹ß¿¡ °ü°èµÈ »ç¶÷µéÀÇ ´ëºÎºÐ°ú Á¢ÃËÇÒ ¼ö ÀÖ´Â °÷ÀÌ´Ù.
´ç½ÅÀÌ PPP¸µÅ©¸¦ ÅëÇØ ÀÎÅͳݿ¡ ¿¬°áÇÏ°íÀÚ ÇÒ ¶§, ´ç½ÅÀº loopback µð¹ÙÀ̽º¿Í resolver°°Àº ±âº»ÀûÀÎ ³×Æ®¿öÅ· ¼ö¿ë ´É·Â¤§À» ¼Â¾÷ÇØ¾ß ÇÑ´Ù. µÎ°¡Áö ¸ðµÎ ÀÌÀü Àå¿¡¼ ´Ù·é°ÍµéÀÌ´Ù. ½Ã¸®¾ó ¸µÅ© »ó¿¡¼ DNS¸¦ »ç¿ëÇÏ´Â °Í¿¡ °üÇØ ¾ê±âÇß´ø °Íµéµµ ÀÖ´Ù. ÀÌ´Â SLIP chapter¸¦ Âü°íÇ϶ó. ¾î¶»°Ô pppd·Î PPP Ä¿³Ø¼ÇÀ» ¼ö¸³ÇÏ´ÂÁö ¼Ò°³ÇÏ´Â ¿¹Á¦·Î½á, ´Ù½Ã±Ý ´ç½ÅÀÌ vlager¿¡ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. ´ç½ÅÀº ÀÌ¹Ì PPP ¼¹öÀÎ c3po¿¡ dial upÇؼ ppp °èÁ¤À¸·Î ·Î±×ÀÎ ÇØ ³õ¾Ò°í, c3po´Â ÀÚ½ÅÀÇ PPP µå¶óÀ̹ö¿¡ ½Ãµ¿À» °É¾î³õÀº »óÅÂÀÌ´Ù. ´ÙÀ̾󸵿¡ »ç¿ëÇÑ ÇÁ·Î±×·¥ÀÌ Á¾·áÇÑ ÈÄ, ´ç½ÅÀÇ ´ÙÀ½ÀÇ Ä¿¸Çµå¸¦ ½ÇÇàÇÑ´Ù. #pppd /dev/cua3 38400 crtscts defaultroute ÀÌ°ÍÀº ½Ã¸®¾ó¶óÀÎ cua3¸¦ PPP ¸ðµå·Î µ¹¸®°í c3po¿¡ IP ¸µÅ©¸¦ Çϳª ¼ö¸³ÇÑ´Ù. ½Ã¸®¾ó Æ÷Æ®¿¡ »ç¿ëµÇ´Â Àü¼Û¼Óµµ´Â 38400 bps°¡ µÉ °ÍÀÌ´Ù. crtscts ¿É¼ÇÀº Æ÷Æ®»ó¿¡¼ 9600 bps ÀÌ»óÀÇ ¼Óµµ°¡ Àý´ëÀûÀ¸·Î ÇÊ¿äÇÑ hardware handshake¸¦ ÄÒ´Ù. pppd°¡ ±¸µ¿µÈ ÈÄ °¡Àå ¸ÕÀú ÇÏ´Â °ÍÀº LCP¸¦ »ç¿ëÇÏ¿© ¸®¸ðÆ®ÂÊ°ú ½Ã¸®¾ó ¶óÀÎÀÇ ¼ºÁúÀ» Çù¾àÇÏ´Â °ÍÀÌ´Ù. º¸Åë ±âº»°ªÀÇ ¿É¼Ç ¼¼Æ®·Î pppd°¡ Çù¾àÇϱ⠶§¹®¿¡, ¿©±â¿¡ ´ëÇØ µé¾î°¡Áø ¾Ê°Ú´Ù. ÀÌÈÄÀÇ Àý¿¡¼ LCP¿¡ ´õ ÀÚ¼¼È÷ ´Ù·ç¾î º¼ °ÍÀÌ´Ù. ´çºÐ°£, c3po°¡ ¿ì¸®¿¡°Ô ¾î¶°ÇÑ ÀÎÁõµµ ¿ä±¸ÇÏÁö ¾Ê´Â´Ù°í °¡Á¤ÇÏÀÚ. ±×·¯¸é ¼³Á¤´Ü°è´Â ¼º°øÀûÀ¸·Î ³¡³µ´Ù. pppd´Â ÀÌÁ¦ »ó´ë¿Í IPCP, Áï IP control protocolÀ» »ç¿ëÇÏ¿© IP ÆĶó¹ÌÅ͸¦ Çù»óÇÒ °ÍÀÌ´Ù. ¿ì¸®°¡ À§¿¡¼ ¾î¶°ÇÑ Æ¯Á¤ IP ÁÖ¼Òµµ pppd¿¡ ÁöÁ¤ÇØ ÁÖÁö ¾Ê¾ÒÀ¸¹Ç·Î, resolver°¡ ·ÎÄà ȣ½ºÆ®¸¦ °Ë»öÇÏ¿© ¾ò¾îÁø ÁÖ¼Ò¸¦ »ç¿ëÇÏ·Á ÇÒ °ÍÀÌ´Ù. ±×¸®°í ¾çÂÊ ¸ðµÎ ÀÚ½ÅÀÇ ÁÖ¼Ò¸¦ °¢°¢ announce ÇÒ °ÍÀÌ´Ù. º¸ÅëÀÇ °æ¿ì ÀÌ·¯ÇÑ µðÆúÆ® °ªÀÌ À߸øµÇ¾î ÀÖ´Â °æ¿ì´Â ¾ø´Ù. ½ÉÁö¾î´Â ´ç½ÅÀÇ ¸Ó½ÅÀÌ ÀÌ´õ³Ý »ó¿¡ ÀÖÀ»Áö¶óµµ, ÀÌ´õ³Ý°ú PPP ÀÎÅÍÆäÀ̽º¿¡ µ¿ÀÏÇÑ IP ÁÖ¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÔ¿¡µµ ºÒ±¸ÇÏ°í, pppd´Â ´Ù¸¥ ÁÖ¼Ò¸¦ »ç¿ëÅä·Ï Çϰųª »ó´ëÂÊ¿¡ ¾î¶² ƯÁ¤ ÁÖ¼Ò¸¦ ¿ä±¸Çϰųª ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇÀº ÀÌÈÄÀÇ Àý¿¡¼ ³íÀÇÇÑ´Ù. IPCP ¼Â¾÷´Ü°è¸¦ °ÅÄ£ÈÄ, pppd´Â ´ç½Å È£½ºÆ®ÀÇ ³×Æ®¿öÅ· ·¹À̾ PPP¸µÅ©¸¦ »ç¿ëÇϵµ·Ï ÁغñÇÒ °ÍÀÌ´Ù. ±×°ÍÀº ¸ÕÀú È°¼ºÈµÈ ù¹ø° PPP ¸µÅ©¿¡ ppp0¸¦ µÎ¹ø°´Â ppp1µîÀ» »ç¿ëÇÏ¿© PPP ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ point-to-point ¸µÅ©·Î ¼³Á¤ÇÑ´Ù. ´ÙÀ½À¸·Î, ¸µÅ©ÀÇ ¹Ý´ëÆíÀÇ È£½ºÆ®¸¦ °¡¸®Å°´Â ¶ó¿ìÆà Å×ÀÌºí ¿£Æ®¸®¸¦ ¼Â¾÷ÇÑ´Ù. À§¿¡¼ º» ¿¹Á¦¿Í °°ÀÌ, pppd´Â c3po¸¦ °¡¸®Å°´Â ±âº» ³×Æ®¿÷ ·çÆ®(route)¸¦ ¸¸µé °ÍÀ̸ç, ±× ÀÌÀ¯´Â ¿ì¸®°¡ defaultroute ¾÷¼ÇÀ» ÁÖ¾ú±â ¶§¹®ÀÌ´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ ·ÎÄà ³×Æ®¿÷¿¡ Á¸ÀçÇÏÁö ¾Ê´Â È£½ºÆ®·ÎÀÇ ¸ðµç µ¥ÀÌÅͱ׷¥À» c3po¿¡ º¸³»µµ·Ï ¸¸µç´Ù. pppd´Â ´Ù¼öÀÇ ¼·Î´Ù¸¥ ¶ó¿ìÆà ±¸Á¶¸¦ Áö¿øÇϸç, À̵éÀº ÀÌ ÀåÀÇ Á» ´õ ÈĹݺο¡¼ ´Ù·ê °ÍÀÌ´Ù.
pppd°¡ ±×°ÍÀÇ Ä¿¸Çµå¶óÀÎ ÀÎÀÚ¸¦ ºÐ¼®Çϱ⿡ ¾Õ¼, ±×°ÍÀº ±âº» ¿É¼ÇÀ» À§ÇØ ¸î°³ÀÇ ÆÄÀÏÀ» »ìÇÉ´Ù. ÀÌ·¯ÇÑ ÆÄÀϵéÀº ÀÓÀÇÀÇ °³¼öÀÇ ¶óÀο¡ °ÉÃÄÁ®ÀÖ´Â ÀûÀýÇÑ Ä¿¸Çµå¶óÀÎ ÀÎÀÚ¸¦ Áö´Ñ´Ù. ÁÖ¼®¹®Àº Çؽ¬ ±âÈ£·Î Ç¥½ÃµÈ´Ù. ù¹ø° ¿É¼ÇÆÄÀÏÀº /etc/ppp/optionsÀ¸·Î, pppd°¡ ±¸µ¿µÉ¶§¸¶´Ù ½ºÄµµÈ´Ù. ±×°ÍÀº Á¯¿ªÀûÀÎ µðÆúÆ® °ªÀ» ÁöÁ¤Çϴµ¥ ¾²´Âµ¥ Àû´çÇÏ´Ù. ¿Ö³ÄÇϸé, ±×°ÍÀº ´ç½ÅÀÇ À¯ÀúµéÀÌ º¸¾È¿¡ ¾Ç¿µÇâÀ» ³¢Ä¢¼ö ÀÖ´Â ÀÏÀ» ÇÏÁö ¸øÇϵµ·ÏÇÑ´Ù. ¿¹¸¦µé¾î, pppd°¡ ¾î¶² Á¾·ùÀÇ ÀÎÁõ(PAPÀ̳ª CHAPÁßÀÇ Çϳª)À» »ó´ëÆí¿¡ ¿ä±¸ÇÏ°Ô ¸¸µé·Á¸é ÀÌ ÆÄÀÏ¿¡ auth ¿É¼ÇÀ» Ãß°¡ÇϸéµÈ´Ù. ÀÌ ¿É¼ÇÀº À¯Àú¿¡ ÀÇÇØ overrideµÉ ¼ö ¾øÀ¸¹Ç·Î, ¿ì¸®ÂÊÀÇ ÀÎÁõ µ¥ÀÌÅͺ£À̽º¿¡ ¾ø´Â ¾Æ¹« ½Ã½ºÅÛÀ̳ª PPP Ä¿³Ø¼ÇÀ» ¼ö¸³ÇÒ ¼ö ¾ø°Ô µÈ´Ù. /etc/ppp/options µÚ¿¡ ÀÐÈ÷´Â ´Ù¸¥ ¿É¼ÇÆÄÀÏÀº À¯ÀúÀÇ µð·ºÅ丮³»ÀÇ .ppprcÀÌ´Ù. ±×°ÍÀº »ç¿ëÀÚ°¡ ÀڽŸ¸ÀÇ µðÆúÆ® ¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ´ÙÀ½Àº /etc/ppp/optionsÀÇ »ùÇÃÆÄÀÏÀÌ´Ù.
# Global options for pppd running on vlager.vbrew.com auth # require authentication usehostname # use local hostname for CHAP lock # use UUCP-style device locking domain vbrew.com # our domain name ÀÌ ¿É¼Çµé Áß Ã³À½ÀÇ µÑÀº ÀÎÁõ¿¡ Àû¿ëµÇ°í ¾Æ·¡¿¡¼ ¼³¸íÇÑ´Ù. lock Å°¿öµå´Â pppd°¡ µð¹ÙÀ̽º Àá±Ý(locking)¿¡ Ç¥ÁØ UUCP ¹æ½ÄÀ» ¾²µµ·Ï ¸¸µç´Ù. À̸¦ »ç¿ëÇϸé, ½Ã¸®¾ó µð¹ÙÀ̽º¿¡ Á¢±ÙÇÏ´Â °¢ ÇÁ·Î¼¼½º, À̸¦Å׸é /dev/cua3´Â µð¹ÙÀ̽º°¡ »ç¿ëÁßÀ̶ó´Â °ÍÀ» ¾Ë¸®±âÀ§ÇØ UUCP spool µð·ºÅ丮¾È¿¡ LCK..cua3¶ó´Â lock ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. ÀÌ´Â ½Ã¸®¾ó µð¹ÙÀ̽º°¡ PPP¿¡ »ç¿ëÁßÀ϶§ ´Ù¸¥ ÇÁ·Î±×·¥, À̸¦Å׸é minicom ¶Ç´Â uucico°°Àº ÇÁ·Î±×·¥ÀÌ ±×°ÍÀ» ¿Áö ¸øÇÏ°Ô Çϴµ¥ ÇÊ¿äÇÏ´Ù. Àü¿ª ¼³Á¤ÆÄÀÏ¿¡ ÀÌ ¿É¼ÇÀ» ÁÖ´Â ÀÌÀ¯´Â À§¿¡¼ º» °Í°ú °°Àº ¿É¼ÇµéÀÌ overrideµÉ ¼ö ¾ø±â ¶§¹®¿¡ ³³µæÇÒ¸¸ÇÑ ¸¸ÅÀÇ º¸¾È ·¹º§À» Á¦°øÇϱ⠶§¹®ÀÌ´Ù. ±×·¯³ª, ¾î¶² ¿É¼ÇÀº ÀÌÈÄ overrideµÇ´Âµ¥, ÀÌ·¯ÇÑ °Íµé Áß Çϳª°¡ connectÀÌ´Ù.
À§ÀÇ ¿¹Á¦¿¡¼ ´ç½Åµµ ´À²¼À» ÇÑ°¡Áö ºÒÆíÇÑ Á¡Àº pppd¸¦ ±¸µ¿½ÃÅ°±â Àü¿¡ Ä¿³Ø¼ÇÀ» ¼öµ¿À¸·Î ¼ö¸³ÇØ¾ß ÇÏ´Â °ÍÀÌ´Ù. dip°ú´Â ´Þ¸®, pppd¿£ ¿ø°Ý ½Ã½ºÅÛ¿¡ Àüȸ¦ °É°í ·Î±×ÀÎ ÇÏ´Â ¿ëµµÀÇ ½ºÅ©¸³Æ® ¾ð¾î°¡ ¾ø´Ù. ±×·¯³ª ±×´ë½Å ¸î¸î ¿ÜºÎ ÇÁ·Î±×·¥À̳ª ½© ½ºÅ©¸³Æ®¿¡ ÀÇÁ¸ÇÔÀ¸·Î½á À̸¦ ÇØ°áÇÑ´Ù. connect Ä¿¸Çµå¶óÀÎ ¿É¼ÇÀ» ÁÖ¸é ½ÇÇàµÇ´Â ¸ðµç Ä¿¸Çµå´Â pppd¿¡ ÁÖ¾îÁú °ÍÀÌ°í, pppd´Â Ä¿¸ÇµåÀÇ Ç¥ÁØÀԷ°ú Ç¥ÁØÃâ·ÂÀ» ½Ã¸®¾ó ¶óÀο¡ redirectÇÒ °ÍÀÌ´Ù. À̸¦ À§ÇÑ À¯¿ëÇÑ ÇÁ·Î±×·¥Àº Don Libes°¡ ¾´ expect·Î, ±×°ÍÀº Tcl ±â¹ÝÀÇ °·ÂÇÑ ¾ð¾îÀ̸ç ÀÌ·¯ÇÑ Á¾·ùÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» À§ÇØ µðÀÚÀÎ µÇ¾ú´Ù. pppd ÆÐÅ°Áö¿£ UUCP½ºÅ¸ÀÏÀÇ chat ½ºÅ©¸³Æ®¸¦ ¾µ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â, À¯»ç ÇÁ·Î±×·¥ÀÎ chatÀ̶ó´Â °ÍÀÌ µþ·Á ÀÖ´Ù. ±âº»ÀûÀ¸·Î, chat ½ºÅ©¸³Æ®´Â ¸®¸ðÆ® ½Ã½ºÅÛ¿¡¼ ±â´ëµÇ´Â ¹®ÀÚ¿°ú º¸³»·Á´Â ´ë´äÀ» °è¼Ó ÁÖ°í ¹Þ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¿ì¸®´Â expect¿Í send ¹®ÀÚ¿À» °¢°¢ È£ÃâÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº º¸ÆíÀûÀÎ chat ½ºÅ©¸³Æ®¿¡¼ ¹ßÃéÇÑ °ÍÀÌ´Ù.
ogin: biff ssword: s3kr3t ÀÌ°ÍÀº chat¿¡°Ô ¸®¸ðÆ® ½Ã½ºÅÛÀÌ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ º¸³»±æ ±â´Ù¸®¶ó°í ¸»ÇÑ´Ù. ±×¸®°í ·Î±×ÀÎ ³×ÀÓ biff¸¦ ¸®ÅÏÇÑ´Ù. ¿ì¸®´Â ´ÜÁö oginÀ» ±â´Ù¸± »ÓÀÌ°í, ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®ÀÇ Ã¹ ±ÛÀÚ°¡ ´ë¹®ÀÚ L À̵çÁö ¼Ò¹®ÀÚ lÀ̵çÁö, ȤÀº º¯ÇüµÇ¾î µµÂøÇϵçÁö¿¡ »ó°üÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. ´ÙÀ½ÀÇ ¹®ÀÚ¿Àº ´Ù½Ã expect ¹®ÀÚ¿·Î, chatÀÌ Æнº¿öµå ÇÁ·ÒÇÁÆ®¸¦ ±â´Ù¸®°í ±× ´ë´äÀ¸·Î Æнº¿öµå¸¦ º¸³»µµ·Ï ¸¸µç´Ù. ÀÌ´Â chat ½ºÅ©¸³Æ®¿¡ ´ëÇÑ ±âº»ÀûÀÎ ¸ðµç°ÍÀÌ´Ù. ¹°·Ð PPP ¼¹ö¿¡ ´ÙÀ̾ó¾÷ ÇϱâÀ§ÇÑ ¿ÏÀüÇÑ ½ºÅ©¸³Æ®´Â ¿ª½Ã³ª ÀûÀýÇÑ ¸ðµ© Ä¿¸Çµåµµ Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ´ç½ÅÀÇ ¸ðµ©ÀÌ Hayes Ä¿¸Çµå ¼¼Æ®¸¦ ÀÌÇØÇÑ´Ù°í °¡Á¤ÇÏ°í, ¼¹öÀÇ ÀüȹøÈ£°¡ 318714¶ó¸é, c3po¿Í ¿¬°áÇÏ°íÀÚ ÇÏ´Â chat ½ÇÇ๮Àº ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
$ chat -v '' ATZ OK ATDT318714 CONNECT '' ogin: ppp word: GaGariN µðÆúÆ®·Î, ù¹ø° ¹®ÀÚ¿Àº expect ¹®ÀÚ¿ÀÌÁö¸¸, ¿ì¸®°¡ ÀÚ±ØÀ» ÁÖÁö ¾ÊÀ¸¸é ¸ðµ©ÀÌ ¾Æ¹«°Íµµ ¾ê±âÇÏÁö ¾Ê±â ¶§¹®¿¡, ¿ì¸®´Â ¹Ýµå½Ã ¹®ÀÚ¿¿¡ °ø¹é ¹®ÀÚ¿À» ÁöÁ¤ÇÔÀ¸·Î½á chatÀÌ Ã¹¹ø° expect¸¦ °Ç³Ê ¶Ù¾î¾ß ÇÑ´Ù. ±×¸®°í °è¼Ó Hayes ȣȯ ¸ðµ©ÀÇ ¸®¼Â Ä¿¸ÇµåÀÎ ATZ¸¦ º¸³»°í ±×°ÍÀÇ ´ë´ä (OK)¸¦ ±â´Ù¸°´Ù. ±× ´ÙÀ½ ¹®ÀÚ¿Àº µÞºÎºÐÀÇ ÀüȹøÈ£·Î ´ÙÀ̾óÇÏ´Â Ä¿¸Çµå¸¦ chat¿¡ º¸³»°í CONNECT ¸Þ½ÃÁö¸¦ ´ë´äÀ¸·Î ±â´ëÇÑ´Ù. ´Ù½Ã±Ý °ø¹é ¹®ÀÚ¿ÀÌ µû¶ó ºÙ´Âµ¥, ±× ÀÌÀ¯´Â Áö±Ý ¿ì¸®´Â ¾î¶² °Íµµ º¸³¾ ÇÊ¿ä¾øÀÌ ´ÜÁö ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ ±â´Ù¸®±â ¶§¹®ÀÌ´Ù. chat ½ºÅ©¸³Æ®ÀÇ ³ª¸ÓÁö ºÎºÐÀº ¾Æ·¡¿¡ ÀûÈù´ë·Î µ¿ÀÛÇÑ´Ù. -v ¿É¼ÇÀº chatÀÌ ¸ðµç µ¿ÀÛÀ» syslog µ¥¸óÀÇ local2¿¡ log¸¦ º¸³»°Ô ¸¸µç´Ù. Ä¿¸Çµå¶óÀÎ »ó¿¡¼ chat ½ºÅ©¸³Æ®¸¦ ÁöÁ¤ÇÏ´Â °ÍÀº ÀÏÁ¤ÇÑ À§Çè ºÎ´ãÀ» ¾È°í ÀÖ´Ù. ¿Ö³ÄÇϸé À¯Àú°¡ ps Ä¿¸Çµå·Î ÇÁ·Î¼¼½ºÀÇ Ä¿¸Çµå ¶óÀÎÀ» º¼ ¼ö Àֱ⠶§¹®À¸·Î, À̸¦ ÇÇÇϱâ À§Çؼ±, À̸¦Å׸é dial-c3po¶ó´Â ÆÄÀÏ¿¡ chat ½ºÅ©¸³Æ®¸¦ Áý¾î ³ÖÀ¸¸é µÈ´Ù. ´ç½ÅÀº ÆÄÀÏ¸í ¾Õ¿¡ -f ¿É¼ÇÀ» ÁÖ¾î, chatÀÌ Ä¿¸Çµå¶óÀÎ ´ë½Å¿¡ ÆÄÀÏ¿¡¼ ½ºÅ©¸³Æ®¸¦ ÀÐ°Ô ¸¸µé ¼ö ÀÖ´Ù ´ÙÀ½Àº ¿ÏÀüÇÑ pppd Ä¿¸ÇµåÀÌ´Ù.
#pppd connect /dev/cua3 38400 crtscts defaultroute dialup ½ºÅ©¸³Æ®¸¦ ÁöÁ¤ÇÏ´Â connect ¿É¼Ç ¿Ü¿¡µµ, ¿ì¸®´Â µÎ°³ÀÇ ¿É¼ÇÀ» Ä¿¸Çµå¶óÀο¡ ´õ Ãß°¡ÇÏ¿´´Ù: -detach´Â ppp°¡ Äֿܼ¡¼ ¶³¾îÁ® ¹é±×¶ó¿îµå ÇÁ·Î¼¼½º°¡ µÇÁö ¾Ê°Ô ÇÑ´Ù. modem Å°¿öµå´Â ±×°ÍÀÌ ¸î°¡ÁöÀÇ ¸ðµ© °íÀ¯µ¿ÀÛ, Áï ÀüÈ °É±â ÀüÈÄ¿¡ ¶óÀÎÀ» ²÷´Â °Í°ú°°Àº ÀÏÀ» ½Ã¸®¾ó µð¹ÙÀ̽º »ó¿¡¼ ¼öÇàÇϵµ·Ï ¸¸µç´Ù. ¸¸¾à ÀÌ Å°¿öµå¶ö »ç¿ëÇÏÁö À¸¤¦´Â´Ù¸é, pppd´Â Æ÷Æ®ÀÇ DCD ¶óÀÎÀ» ¸ð´ÏÅÍÇÏÁö ¾ÊÀ» °ÍÀÌ°í, µû¶ó¼ ¸®¸ðÆ® ÂÊ¿¡¼ ±â´ëÄ¡¾Ê°Ô Àüȸ¦ ²÷´õ¶óµµ °¨ÁöÇÏÁö ¸øÇÑ´Ù. À§¿¡ º¸¿©ÁØ ¿¹Á¦´Â ´Ù¼Ò ´Ü¼øÇÏ´Ù; chatÀº º¸´Ù º¹ÀâÇÑ ½ºÅ©¸³Æ®µµ ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ÇÑ°¡Áö À¯¿ëÇÑ ±â´ÉÀº, ¿¡·¯°¡ ³¯¶§ abort½ÃÅ°´Â ¹®ÀÚ¿À» ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀϹÝÀûÀÎ abort ¹®ÀÚ¿Àº BUSY¶Ç´Â NO CARRIER·Î, º¸Åë ÀüÈ°Ç ¹øÈ£°¡ ÅëÈÁßÀ̰ųª ÀüÈ ¼ö½ÅÀ½ÀÌ ¾øÀ» ¶§ ¸ðµ©ÀÌ ¹ß»ý½ÃÅ°´Â °ÍÀÌ´Ù. chatÀÌ timeoutÇÏ´Â ´ë½Å, ÀÌ°ÍÀ» Áï½Ã ÀÎÁöÇϵµ·Ï ¸¸µé±âÀ§Çؼ ´ç½ÅÀº ½ºÅ©¸³Æ® óÀ½¿¡ ABORT Å°¿öµå·Î ±×°ÍÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
#chat -v ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ... ºñ½ÁÇÑ ¾ç»ó¿¡¼, ´ç½ÅÀº TIMEOUT¿É¼ÇÀ» Áý¾î³Ö¾î chat ½ºÅ©¸³Æ® ÀϺο¡ ´ëÇØ timeout °ªÀ» º¯°æÇÒ ¼öµµ ÀÖ´Ù. ¼¼ºÎÀûÀÎ ¼³¸íÀ» º¸°íÀÚÇÑ´Ù¸é chat(8) ¸Å´º¾ó ÆäÀÌÁö¸¦ üũÇ϶ó. ¶§¶§·Î, ´ç½ÅÀº chat ½ºÅ©¸³Æ®¿¡¼ ÀÏÁ¾ÀÇ Á¶°Ç ½ÇÇàÀ» ¿øÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ´ç½ÅÀÌ ¸®¸ðÆ® ÂÊÀÇ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®·Î ¼ö½ÅÇÒ ¼ö ¾øÀ» ¶§, ´ç½ÅÀº BREAK ¶Ç´Â ij¸®Áö ¸®ÅÏÀ» º¸³»°íÀÚ ÇÒ °ÍÀÌ´Ù. À̴ ÷ÀÚ¸¦ ¿¹»ó ¹®ÀÚ¿(expect string)¿¡ µ¡ºÙÈûÀ¸·Î½á °¡´ÉÇÏ´Ù. ±×°ÍÀº ½ºÅ©¸³Æ® Àüü°¡ ±×·¯Çϵí, Àü¼Û ¹®ÀÚ¿°ú ¿¹»ó ¹®ÀÚ¿ÀÇ ¿¬¼ÓÀ¸·Î ±¸¼ºµÇ¸ç, ¿¬ÀÚºÎÈ£·Î ±¸ºÐµÈ´Ù. ±×°ÍÀº, ÷ÀÚ°¡ µû¶óºÙÀº ¿¹»ó ¹®ÀÚ¿ÀÌ ½Ã°£¾È¿¡ ¼ö½ÅµÇÁö ¾Ê´Â¶§ ¾ðÁ¦¶óµµ ½ÇÇàµÈ´Ù. À§ÀÇ ¿¹Á¦¿¡¼ ´ÙÀ½°ú °°ÀÌ chat ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
ogin:-BREAK-ogin: ppp ssword: GaGariN ÀÌÁ¦, chatÀÌ ¸®¸ðÆ® ½Ã½ºÅÛÀÌ º¸³»´Â ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ º¸Áö ¸øÇÒ¶§, ÷ÀÚ°¡ ½ÇÇàµÇ¾î, ¸ÕÀú BREAK¸¦ º¸³»°í ´Ù½Ã ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ ±â´Ù¸®°Ô µÈ´Ù. ¸¸¾à ÇÁ·ÒÇÁÆ®°¡ ³ªÅ¸³´Ù¸é ½ºÅ©¸³Æ®´Â Æò»ó½Ã¿Í °°ÀÌ °è¼Ó ÁøÇàµÉ °ÍÀÌ°í, ±×·¸Áö ¾Ê´Ù¸é ¿¡·¯¸¦ ³»°í Á¾·áÇÏ°Ô µÈ´Ù.
µðÆúÆ®·Î, pppd´Â °æ·Î¿Í ¿¡·¯¸Þ½ÃÁö¸¦ syslog µ¥¸ó¿¡ º¸³¾°ÍÀÌ´Ù. ´ç½ÅÀº À̸¦ ÆÄÀÏ¿¡ ¶Ç´Â Äܻ쿡 redirectÇÏ´Â ¿£Æ®¸®¸¦ syslog.conf¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾Ê´Ù¸é syslog´Â ´Ü¼øÈ÷ ÀÌ ¸Þ½ÃÁö¸¦ ÆıâÇÑ´Ù. ´ÙÀ½ÀÇ ¿£Æ®¸®´Â ¸ðµç ¸Þ½ÃÁö¸¦ /var/log/ppp-log¿¡ º¸³½´Ù.
daemon.* /var/log/ppp-log ¸¸¾à ´ç½ÅÀÇ PPP ¼Â¾÷ÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾ÊÀ» ¶§, ÀÌ ·Î±×ÆÄÀÏÀ» »ìÆ캸´Â °ÍÀº ¹«¾ùÀÌ À߸øµÇ¾î °¡°í ÀÖ´ÂÁö¿¡ ´ëÇØ Ã¹¹ø°·Î ÈùÆ®¸¦ ÁÙ °ÍÀÌ´Ù. ¸¸¾à À̰͵µ º° µµ¿òÀÌ µÇÁö ¾Ê´Â´Ù¸é, debug ¿É¼ÇÀ» »ç¿ëÇÏ¿© º°µµÀÇ µð¹ö±ë Ãâ·ÂÀ» ÄÑÁÙ ¼öµµ ÀÖ´Ù. ÀÌ·¸°ÔÇϸé pppd´Â, ÁÖ°í ¹Þ´Â ¸ðµç Á¦¾îÆÐŶÀÇ ³»¿ëÀ» syslog¿¡ º¸³½´Ù. ¸ðµç ¸Þ½ÃÁö´Â daemon ±â´É¿¡ º¸³»¾îÁú °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î, °¡Àå °·ÂÇÑ ±â´ÉÀ» ¹ßÈÖÇÏ´Â °ÍÀº pppd¸¦ kdebug ¿É¼ÇÀ» ÁÖ¾î ½ÇÇà½ÃÅ´À¸·Î kernel-level µð¹ö±ëÀ» »ç¿ëÅä·Ï ÇÏ´Â °ÍÀÌ´Ù. ±× ¿É¼Ç µÚ¿¡´Â ´ÙÀ½ÀÇ °ª¿¡ ´ëÇÑ bitwise ORÀÎ ¼ýÀÚ ÀÎÀÚ°¡ ºÙ´Â´Ù: ÀϹÝÀûÀº µð¹ö±ë ¸Þ½ÃÁö¸¦ À§Çؼ± 1À», ¸ðµç incoming HDLC ÇÁ·¹ÀÓÀÇ ³»¿ëÀ» Ãâ·ÂÇϱâ À§Çؼ± 2¸¦, ±×¸®°í 4ÀÇ °ªÀº µå¶óÀ̹ö°¡ ¿ÜºÎ·Î ³ª°¡´Â ¸ðµç HDLC ÇÁ·¹ÀÓÀ» Ãâ·ÂÇÏ°Ô ÇÑ´Ù. Ä¿³Î µð¹ö±ë ¸Þ½ÃÁö¸¦ capture ÇϱâÀ§Çؼ±, syslogd µ¥¸óÀÌ proc/kmsg ÆÄÀÏÀ» Àеµ·Ï ½ÇÇà½ÃÅ°°Å³ª klogd µ¥¸óÀ» µ¹·Á¾ßÇÑ´Ù. ±×°ÍµéÁß ¾î´ÀÂÊÀÌ°Ç Ä¿³Îµð¹ö±ëÀ» syslogÀÇ kernel±â´ÉÂÊÀ¸·Î µ¹¸°´Ù.
IPCP´Â ¸µÅ© ¼³Á¤½Ã±â¿¡ ¸î°¡Áö IP ÆĶó¹ÌÅ͸¦ »óÈ£Çù¾àÇϴµ¥ »ç¿ëµÈ´Ù. º¸Åë, ¾çÂÊÀº ÀÚ½ÅÀÌ ¾î¶²°ªÀ» µðÆúÆ®¿¡¼ º¯°æÇÏ°íÀÚ ÇÏ´ÂÁö ¾Ë¸®´Â IPCP Configuration Request ÆÐŶÀ» º¸³¾ °ÍÀÌ´Ù. ¼ö½ÅÃø¿¡¼ ¸®¸ðÆ®ÂÊÀº °¢ ¿É¼ÇÀ» Â÷·Ê·Î °Ë»çÇÏ¿© ±×°ÍÀ» ½ÂÀÎÇϰųª °ÅºÎÇÑ´Ù. pppd´Â Çù¾àÇÏ°íÀÚÇÏ´Â IPCP ¿É¼Ç¿¡ °üÇÑ ¸¹Àº ÄÁÆ®·ÑÀ» Á¦°øÇÑ´Ù. ´ç½ÅÀº ¾Æ·¡¿¡ ³íÀÇÇÒ ´Ù¾çÇÑ Ä¿¸Çµå¶óÀÎ ¿É¼ÇÀ¸·Î À̸¦ Á¶ÀýÇÒ ¼ö ÀÖ´Ù. À§ÀÇ ¿¹Á¦¿¡¼, ¿ì¸®´Â pppd°¡ c3po¿¡ dialupÇÏ°í IP¸µÅ©¸¦ Æ®µµ·Ï Çß´Ù. ¸µÅ©ÀÇ ¾î´ÀÂÊ¿¡µµ ƯÁ¤ÇÑ IP ÁÖ¼Ò¸¦ ¼±ÅÃÇϵµ·Ï ÁغñµÇÁö ¾Ê¾Ò°í, ±× ´ë½Å vlagerÀÇ ÁÖ¼Ò¸¦ ·ÎÄà IP ÁÖ¼Ò·Î ¼±ÅÃÇÏ°í c3po°¡ ÀÚ½ÅÀÇ ÁÖ¼Ò¸¦ Á¦°øÇÏ°Ô ÇÑ´Ù. ±×·¯³ª ¶§¶§·Î ¸µÅ©ÀÇ ÇÑÂÊ ¶Ç´Â ´Ù¸¥ ÂÊ¿¡ ¾î¶² ÁÖ¼Ò°¡ »ç¿ëµÇ´ÂÁö ÄÁÆ®·ÑÇÏ´Â °ÍÀº À¯¿ëÇÑ ÀÏÀÌ´Ù. pppd´Â ÀÌ¿¡ ´ëÇÑ ¸î°¡Áö º¯¼ö¸¦ Áö¿øÇÑ´Ù. ƯÁ¤ ÁÖ¼Ò¸¦ ¿ä±¸Çϱâ À§»õ¼±, º¸Åë pppd¿¡ ´ÙÀ½ÀÇ ¿É¼ÇÀ» ÁØ´Ù.
local_addr:remote_addr local_addr¿Í remote_addr¿¡´Â dotted quad notation ¶Ç´Â È£½ºÆ®³×ÀÓÀ» ÁöÁ¤ÇØ ÁØ´Ù. ÀÌ°ÍÀº pppd°¡ ù¹ø° ÁÖ¼Ò¸¦ ÀÚ½ÅÀÇ IP ÁÖ¼Ò·Î, ±×¸®°í µÎ¹ø°¸¦ »ó´ëÀÇ ÁÖ¼Ò·Î »ç¿ëÇÏ°Ô ÇÑ´Ù. ¸¸¾à »ó´ëÆíÀÌ IPCP Çù¾àµµÁß¿¡, ±× µÑ ÁßÀÇ ÇÑ°¡Áö¶óµµ °ÅºÎÇÑ´Ù¸é IP ¸µÅ©´Â ¼º¸³µÇÁö ¾Ê´Â´Ù. ¸¸¾à, »ó´ë°¡ »ç¿ëÇÏ´Â ÁÖ¼Ò¸¦ ±×´ë·Î ¹Þ¾ÆµéÀÌ°í ·ÎÄà ÁÖ¼Ò¸¸À» ÁöÁ¤ÇÏ±æ ¿øÇÑ´Ù¸é, ´Ü¼øÈ÷ remote_addr ºÎºÐÀ» ºñ¿ö³õÀ¸¸é µÈ´Ù. ¿¹¸¦µé¾î, vlager°¡ ÀÚ½ÅÀÇ ÁÖ¼Ò´ë½Å 130.83.4.27ÀÇ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ°Ô ÇÏ·Á¸é, 130.83.4.27À̶ó°í Ä¿¸Çµå¶óÀÎ»ó¿¡ ÁÖ¸éµÈ´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô, ¸®¸ðÆ® ÁÖ¼Ò¸¸À» ÁöÁ¤ÇÏ°íÀÚ ÇÑ´Ù¸é, local_addr Çʵ带 °ø¹éÀ¸·Î ³²±â¸é µÈ´Ù. µðÆúÆ®·Î, pppd´Â ´ç½Å È£½ºÆ®ÀÇ ÁÖ¼Ò¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. ¸¹Àº Ŭ¶óÀ̾ðÆ®¸¦ ´Ù·ç´Â ¸î¸î PPP¼¹ö´Â ÁÖ¼Ò¸¦ µ¿ÀûÀ¸·Î ÇÒ´çÇÑ´Ù: dial inÇÒ ¶§ ½Ã½ºÅÛ¿¡ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ°í ´Ù½Ã ·Î±×¿ÀÇÁÇÑ ÈÄ ±×°ÍÀ» µÇµ¹·Á ¹Þ´Â´Ù. ±×°ú °°Àº ¼¹ö¿¡ dialupÇÒ ¶§´Â, pppd°¡ ¼¹ö¿¡ ƯÁ¤ IPÁÖ¼Ò¸¦ ¿äûÇÏÁö ¾Ê°í, ¼¹ö°¡ »ç¿ëÇ϶ó´Â ÁÖ¼Ò¸¦ ¹Þ¾ÆµéÀÌ´ÂÁö¸¦ È®ÀÎÇؾßÇÑ´Ù. ÀÌ ¸»Àº Áï, local_addrÀÎÀÚ¸¦ ÁöÁ¤ÇÏ¸é ¾ÈµÈ´Ù´Â ¶æÀÏ»Ó ¾Æ´Ï¶ó, pppd°¡ ·ÎÄà ȣ½ººêÀÇ ÁÖ¼Ò¸¦ »ç¿ëÇÏ´Â ´ë½Å »ó´ë°¡ IP ÁÖ¼Ò¸¦ Á¦°øÇØÁÖ±æ ±â´Ù¸®µµ·Ï ¸¸µå´Â noipdefault ¿É¼ÇÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù´Â ¶æÀÌ´Ù. 8.7.2 Routing Through a PPP Link ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÑ ÈÄ, pppd´Â º¸Åë È£½ºÆ®°¡ »ó´ëÆí(peer)ÂÊÀ¸·Î¸¸ ¶ó¿ìÆ®Çϵµ·Ï ¼Â¾÷ÇÑ´Ù. ¸¸¾à ¸®¸ðÆ® È£½ºÆ®°¡ LAN »ó¿¡ ÀÖÀ¸¸é, ´ç¿¬È÷ »ó´ëÂÊ È£½ºÆ® "µÚ¿¡" Àִ ȣ½ºÆ®¿¡µµ ¿¬°áÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ´Ù½Ã¸»ÇØ, ³×Æ®¿÷ ·çÆ®°¡ ¼Â¾÷µÇ¾î¾ß ÇÑ´Ù. ¿ì¸®´Â ÀÌ¹Ì defaultroute¿É¼ÇÀ» »ç¿ëÇÏ¿© pppd°¡ µðÆúÆ® ·çÆ®¸¦ ÁöÁ¤Çϵµ·Ï ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¾Ò´Ù. ÀÌ ¿É¼ÇÀº ´ç½ÅÀÌ dialupÇÑ PPP¼¹ö¸¦ ´ç½ÅÀÇ ÀÎÅÍ³Ý °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëÇÒ ¶§, ¸Å¿ì À¯¿ëÇÏ´Ù. ¹Ý´ëÀÇ °æ¿ì, Áï ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ÇÑ È£½ºÆ®¿¡´ëÇØ °ÔÀÌÆ®¿þÀÌ·Î µ¿ÀÛÇÒ ¶§¿¡µµ ¿ª½Ã³ª »ó´ëÀûÀ¸·Î ½±°Ô ¼º¸³µÈ´Ù. ¿¹·Î½á, loner¶ó´Â ¸Ó½ÅÀ» Áý¿¡ °®°í ÀÖ´Â Virtual BreweryÀÇ »ç¿øÀ» »ý°¢Çغ¸ÀÚ. PPP¸¦ ÅëÇØ vlager¿¡ ¿¬°áÇÒ ¶§, ±×´Â BreweryÀÇ ¼ºê³Ý »óÀÇ ÁÖ¼Ò¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. vlager¿¡¼ ¿ì¸®´Â loner¸¦ À§ÇÑ proxy ARP ¿£Æ®¸®¸¦ ¼³Ä¡ÇØ ÁÙ proxy arp ¿É¼ÇÀ» pppd¿¡°Ô ÁØ´Ù. ÀÌ·¯¸é ÀÚµ¿ÀûÀ¸·Î Brewery¿Í Winery¿¡ ÀÖ´Â ¸ðµç È£½ºÆ®¿¡¼ loner¿¡ ¾ï¼¼½º ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ±×·¯³ª, ¿¹¸¦ µé¾î µÎ LANÀ» ¸µÆ®ÇÒ ¶§¿Í °°Àº °æ¿ì¿¡ ¸ðµçÀÏÀÌ ½±°Ô µÇÁö¸¸Àº ¾Ê´Â´Ù. ÀÌ´Â º¸Åë ƯÁ¤ ³×Æ®¿÷ ·çÆ®¸¦ Ãß°¡ÇÒ °ÍÀ» ¿äÇϴµ¥, ¿Ö³ÄÇÏ¸é ¾çÂÊÀÌ PPP ¸µÅ©¸¦ default route·Î »ç¿ëÇÑ´Ù¸é loop°¡ ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù. Áï ¾Ë¼ö ¾ø´Â ¸ñÀûÁö·Î ÇâÇÏ´Â ÆÐŶÀº time-to-live·Î expireµÉ ¶§±îÁö ¾çÂÊÀ» ¿Ô´Ù°¬´Ù ÇÑ´Ù´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, Virtual Brewery°¡ ´Ù¸¥ µµ½Ã¿¡ Áö»ç¸¦ ¾Ö¾ú´Ù°í °¡Á¤ÇÏÀÚ. ±× Áö»ç¿¡¼± BreweryÀÇ class B ³×Æ®¿÷ÀÇ ¼ºê³Ý 3ÀÎ IP ³×Æ®¿÷ ¹øÈ£ 191.72.3.0À» »ç¿ëÇÏ¿© ÀÚü ÀÌ´õ³ÝÀ» ¿î¿µÇÑ´Ù. ±×µéÀº °í°´ µ¥ÀÌÅÍ º£À̽ºµîÀ» ¾÷µ¥ÀÌÆ®Çϱâ À§ÇØ PPP¸¦ ÅëÇØ BreweryÀÇ ÁÖ ÀÌ´õ³Ý¿¡ ¿¬°áÇÏ°íÀÚ ÇÒ °ÍÀÌ´Ù. ÀÌ ¶§ vlager´Â ¶Ç´Ù½Ã °ÔÀÌÆ®¿þÀÌ·Î µ¿ÀÛÇÑ´Ù; ±× »ó´ëÆíÀº sub-etha¶ó°íÇϸç 191.72.3.1ÀÇ IP Ãß¼Ò¸¦ °®°í ÀÖ´Ù. sub-etha°¡ vlager¿¡ ¿¬°áÇÒ ¶§, ±×°ÍÀº Æò»ó½Ã¿Í °°ÀÌ vlager¸£¤Å °¡¸®Å°´Â default route¸¦ ¸¸µé °ÍÀÌ´Ù. ±×·¯³ª vlager »ó¿¡¼´Â sub-etha¸¦ ÅëÇÏ´Â ¼ºê³Ý 3¸¦ À§ÇÑ ³×Æ®¿÷ ·çÆ®¸¦ ¼³Ä¡ÇÒ °ÍÀÌ´Ù. À̸¦ À§ÇØ, ¿ì¸®´Â Áö±Ý±îÁö ³íÇÏÁö ¾Ê¾Ò´ø pppdÀÇ ±â´É, Áï ip-up Ä¿¸Çµå¸¦ »ç¿ëÇÑ´Ù. ÀÌ°ÍÀº /etc/ppp¿¡ À§Ä¡ÇÑ ¼¿ ½ºÅ©¸³Æ® ¶Ç´Â ÇÁ·Î±×·¥À¸·Î, PPP ÀÎÅÍÆäÀ̽º°¡ ¼³Á¤µÈ ÈÄ ½ÇÇàµÈ´Ù. ÇöÀç·Î, ±×°ÍÀº ´ÙÀ½ÀÇ ÆĶó¹ÌÅ͸¦ °¡Áö°í ½ÇÇàµÈ´Ù.
ip-up iface device speed local_addr remote_addr iface¶õ¿¡´Â »ç¿ëÇÏ´Â ÀÎÅÍÆäÀ̽º¸íÀ» ³ÖÀÚ. ±×¸®°í device´Â »ç¿ëÇÏ´Â ½Ã¸®¾ó µð¹ÙÀ̽º ÆÄÀÏÀÇ °æ·Î¸íÀÌ°í (Ç¥ÁØ ÀÔ·Â/Ãâ·ÂÀÌ »ç¿ëµÉ ¶§ /dev/ttyÀÌ´Ù), speed´Â µð¹ÙÀ̽ºÀÇ ¼ÓµµÀÌ´Ù. local_addr¿Í remote_addr´Â ¸µÅ©ÀÇ ¾çÂÊ¿¡¼ »ç¿ëÇÏ´Â IP ÁÖ¼Ò¸¦ dotted quat notationÀ¸·Î Àû´Â´Ù. ¿ì¸®ÀÇ °æ¿ì, ip-up ½ºÅ©¸³Æ®´Â ´ÙÀ½ ÄÚµåÀÇ ÀϺθ¦ °¡Áö°í ÀÖ´Ù.
#!/bin/sh case $5 in 191.72.3.1) # this is sub-etha route add -net 191.72.3.0 gw 191.72.3.1;; esac exit 0 ÀÌ¿Í ºñ½ÁÇÏ°Ô, /etc/ppp/ip-downÀº ¸µÅ©°¡ ºÐ¸®µÈ ÈÄ ip-upÀÇ ¸ðµç µ¿ÀÛÀ» Ãë¼ÒÇϴµ¥ »ç¿ëµÈ´Ù. ±×·¯³ª, ¶ó¿ìÆà ±¸Á¶´Â ¾ÆÁ÷ ¿ÏÀüÄ¡ ¾Ê´Ù. ¿ì¸®´Â ¾çÂÊ PPP È£½ºÆ®¿¡ ¶ó¿ìÆà Å×ÀÌºí ¿£Æ®¸®¸¦ ¼Â¾÷ÇßÀ¸³ª, ¾çÂÊ ³×Æ®¿÷ »óÀÇ ¸ðµç È£½ºÆ®´Â PPP ¸µÅ©¿¡ ´ëÇØ ÀüÇô ¾Ë°í ÀÖÁö ¾Ê´Ù. ÀÌ´Â, Áö»çÀÇ ¸ðµç È£½ºÆ®°¡ sub-etha¸¦ °¡¸®Å°´Â default route¸¦ °¡Áö°í ÀÖ°í, ¸ðµç Brewery È£½ºÆ®°¡ µðÆúÆ®·Î vlager·Î ¶ó¿ìÆ®ÇÑ´Ù¸é, Å« ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ¸¸¾à ÀÌ¿Í °°Àº °æ¿ì°¡ ¾Æ´Ï¶ó¸é, º¸Åë ´ç½ÅÀÌ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ´Ü ÇÑ°¡Áö ¹æ¹ýÀº gated¿Í °°Àº ¶ó¿ìÆà µ¥¸óÀ» ¾²´Â °ÍÀÌ´Ù. vlager¿¡ ³×Æ®¿÷ ·çÆ®¸¦ »ý¼ºÇÑ ÈÄ, ¶ó¿ìÆà µ¥¸óÀº ¼ºê³Ý¿¡ ¹°·ÁÀÖ´Â ¸ðµç È£½ºÆ®¿¡ »õ·Î¿î ·çÆ®¸¦ broadcastÇÒ °ÍÀÌ´Ù.
À§¿¡¼ ¿ì¸®´Â, ¸µÅ©ÀÇ ¼ºÁúÀ» Çù¾à(negotiate)ÇÏ°í ¸µÅ©¸¦ Å×½ºÆ®Çϴµ¥ »ç¿ëµÇ´Â LCP (Link Control Protocol)À» º» ÀûÀÌ ÀÖ´Ù.
LCP°¡ Çù¾àÇÏ´Â °¡Àå Áß¿äÇÑ µµ°¡Áö ¿É¼ÇÀº maximum receive unit°ú Asynchronous Control Character MapÀÌ´Ù. ±× ¿Ü¿¡µµ ¸¹Àº LCP Á¦¾î ¿É¼ÇµéÀÌ Á¸ÀçÇϳª, ¿©±â¼ ³íÀÇÇϱ⿣ ³Ê¹« Àü¹®ÀûÀÎ °ÍµéÀÌ´Ù. ±×¿¡´ëÇؼ± RFC 1548À» ÂüÁ¶Ç϶ó. ÈçÈ÷ async mapÀ̶ó ºÎ¸£±âµµ ÇÏ´Â Asynchronous Control Character MapÀº Àüȼ±°ú °°Àº ºñ µ¿±âÀûÀÎ ¸µÅ©»ó¿¡¼, escape µÇ¾î¾ß(ƯÁ¤ two-character sequence·Î ´ëüµÇ¾î¾ß)¸¸ ÇÏ´Â ÄÁÆ®·Ñ ij¸¯Å͸¦ ÀνÄÇϴµ¥ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¾î, À߸ø ¼³Á¤µÈ ¸ðµ©ÀÌ XOFFÀÇ ¼ö½ÅÀ¸·Î ¸µÅ©¸¦ ²÷¾î ¹Ù·² ¼öµµ Àֱ⠶§¹®¿¡ Software handshake¿¡ ¾²ÀÌ´Â XON°ú XOFF ij¸¯Å͸¦ ÇÇÇÏ°íÀÚ ÇÒ °ÍÀÌ´Ù. ¶Ç´Ù¸¥ ¿¹·Î½á Ctrl-] (telnetÀÇ escape ij¸¯ÅÍ)¸¦ µé ¼ö ÀÖ´Ù. PPP¤¤´Â ASCII ÄÚµå 0¿¡¼ 31±îÁö¸¦ async map¿¡ ÁöÁ¤ÇÔÀ¸·Î½á ±× ij¸¯Å͵éÀ» escape½Ãų ¼ö ÀÖ°Ô ÇÑ´Ù. async mapÀº ASCII NUL ij¸¯ÅÍ¿¡ »óÀÀÇÏ´Â ÃÖ¼Ò significant bit°ú ASCII 31¿¡ »óÀÀÇÏ´Â ÃÖ´ë significant bitÀ» °¡Áö´Â 31ºñÆ® ³ÐÀÌÀÇ ºñÆ®¸ÊÀÌ´Ù. ¸¸¾à ºñÆ®°¡ ÁöÁ¤µÇ¾ú´Ù¸é, º¸³»±â Àü¿¡ ±× ij¸¯ÅÍ°¡ ¹Ýµå½Ã escapeµÇ¾î¾ß ÇÑ´Ù°í ¾Ë¸°´Ù. Ãʱ⿡, async mapÀº 0xffffffff·Î ÁöÁ¤µÇ¸ç, ¸ðµç ÄÁÆ®·Ñ ij¸¯ÅÍ°¡ escapeµÈ´Ù. »ó´ëÆí¿¡°Ô, ¸ðµç ÄÁÆ®·Ñij¸¯ÅÍ°¡ escapeµÇ´Â ´ë½Å ¸î°¡Áö¸¸À» escape½ÃÅ°°íÀÚÇÒ ¶©, asuncmap¿É¼ÇÀ» »ç¿ëÇÏ¿© pppd¿¡ »õ·Î¿î asyncmapÀ» ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÜÁö ^S¿Í ^Q(ASCII 17°ú 19·Î, º¸Åë XON°ú XOFF¿¡ »ç¿ëµÈ´Ù)¸¸À» escape½ÃÅ°·Á¸é ´ÙÀ½°ú °°ÀÌ Ç϶ó.
asyncmap 0x000A0000 Maximum Recieve Unit (MRU)´Â ¿ì¸®°¡ ¼ö½ÅÇÏ°íÀÚ ÇÏ´Â HDLC ÇÁ·¹ÀÓÀÇ ÃÖ´ë Å©±â¸¦ »ó´ëÆí¿¡°Ô ¾Ë¸°´Ù. ÀÌ°ÍÀº MTU °ª(Maximum Transfer Unit)°ú ºñ½ÁÇÑ°Í °°Áö¸¸ ¾à°£ÀÇ Â÷ÀÌÁ¡À» °®°í ÀÖ´Ù. MTU´Â Ä¿³Î ³×Æ®¿÷ µð¹ÙÀ̽ºÀÇ ÆĶó¹ÌÅÍÀÌ°í, ÀÎÅÍÆäÀ̽º°¡ ´Ù·ê ¼ö ÀÖ´Â ÃÖ´ë ÇÁ·¹ÀÓ Å©±â¸¦ ³ªÅ¸³½´Ù. MRU´Â ±×°Íº¸´Ù Å« ÇÁ·¹ÀÓÀ» ¹ß»ý½ÃÅ°Áö ¾Êµµ·Ï ¸®¸ðÆ®¿¡°Ô Á¶¾ðÇÏ´Â °ÍÀÌ´Ù; ±×·³¿¡µµ ÀÎÅÍÆäÀ̽º´Â 1500 ¹ÙÀÌÆ®±îÁöÀÇ ÇÁ·¹ÀÓÀ» ¼ö½ÅÇÒ ¼ö ÀÖ´Ù. MRU¸¦ ¼±ÅÃÇÏ´Â °ÍÀº, ¸µÅ©°¡ Àü¼ÛÇÒ ¼ö ÀÖ´Â ´É·ÂÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó, ¹«¾ùÀÌ ÃÖ»óÀÇ Ã³¸®·®À» Á¦°øÇÏ´À³ÄÀÇ ¹®Á¦ÀÌ´Ù. ¸¸¾à ¸µÅ©¸¦ ÅëÇØ ÀÎÅÍ·¢Æ¼ºêÇÑ ¾îÇø®ÄÉÀ̼ÇÀ» µ¹¸± ÀÛÁ¤À̶ó¸é, MRU°ªÀ» 296À¸·Î ³·°Ô ÁöÁ¤ÇÏ´Â °ÍÀÌ ÁÁÀº »ý°¢ÀÌ´Ù. ±×¸®ÇÏ¿© À̵û±Ý¾¿ Å« ÆÐŶ(À̸¦Å׸é, FTP ¼¼¼Ç¿¡¼)¶§¹®¿¡ ´ç½ÅÀÇ Ä¿¼°¡ "jump"µÇ´Â ÀÏÀÌ ¾øµµ·ÏÇÑ´Ù. pppd¿¡ 296ÀÇ MRU¸¦ ¿ä±¸Ç϶ó°í ¸»ÇÏ·Á¸é, mru 296ÀÇ ¿É¼ÇÀ» ÁÖ¸éµÈ´Ù. ±×·¯³ª ÀÛÀº MRU´Â ´ÜÁö VJ header compressionÀ» ²¨µÎ¾úÀ» ¶§¸¸ ÇØ´çµÈ´Ù(±×°ÍÀº µðÆúÆ®·Î ÄÑÁ®ÀÖ´Ù). pppd´Â, configuration requestÀÇ ÃÖ´ëÄ¡¿Í °°ÀÌ, ¸µÅ©°¡ Á¾°áµÇ±âÀü¿¡ ±³È¯µÇ¾î¾ßÇÒ negotiation processÀÇ µ¿ÀÛ¿¡ °üÇÑ ¸ðµç °ÍÀ» ¼³Á¤ÇÏ´Â ¸î°¡Áö LCP ¿É¼Ç¶ÇÇÑ °¡Áö°í ÀÖ´Ù. ÀÌ°ÍÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö Á¤È®È÷ ¾ËÁö ¸øÇÑ´Ù¸é °Çµå¸®Áö ¾Ê´ÂÆíÀÌ ÁÁ´Ù. ¸¶Áö¸·À¸·Î, LCP echo ¸Þ½ÃÁö¿¡ Àû¿ëµÇ´Â µÎ°³ÀÇ ¿É¼ÇÀÌ ÀÖ´Ù. PPP´Â Echo Request¿Í Echo ResponseÀÇ µÎ°³ÀÇ ¸Þ½ÃÁö¸¦ Á¤ÀÇÇÑ´Ù. pppd´Â ¸µÅ©°¡ ÀÛµ¿ÁßÀÎÁö üũÇϱâ À§ÇØ ÀÌ ±â´ÉÀ» »ç¿ëÇѸç, lcp-echo-internal¿¡ ÃÊ´ÜÀ§ ½Ã°£À» ÁÜÀ¸·Î½á À̸¦ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÀÌ ½Ã°£µ¿¾È ¸®¸ðÆ® È£½ºÆ®¿¡¼ ÇÁ·¹ÀÓÀ» ¹ÞÁö ¸øÇÒ °æ¿ì pppd´Â Echo Request¸¦ ¹ß»ý½ÃÅ°°í, »ó´ëÆíÀÇ Echo Response¸¦ ±â´Ù¸°´Ù. ¸¸¾à »ó´ëÂÊ¿¡¼ reponse¸¦ ÁÖÁö ¾Ê´Â´Ù¸é, ¸µÅ©´Â ÀÏÁ¤¼öÀÇ request¸¦ º¸³½ ÈÄ ¿¬°áÀ» Á¾·áÇÑ´Ù. ÀÌ ¼ö´Â lcp-echo-failure ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®·Î, ÀÌ ±â´ÉÀº µÑ´Ù ²¨Á® ÀÖ´Ù.
8.9 General Security Considerations Á¦´ë·Î ¼³Á¤µÇÁö ¾ÊÀº PPP µ¥¸óÀº º¸¾È¿¡ ±¸¸ÛÀ» ¶ÕÀ» ¼öµµ ÀÖÀ¸¸ç, ´©±¸¶óµµ ´ç½ÅÀÇ ÀÌ´õ³Ý¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ°Ô ¸¸µé Á¤µµ·Î »óŸ¦ ¾ÇÈ ½Ãų¼ö ÀÖ´Ù (´ç¿¬È÷ ÀÌ´Â ¹«Ã´À̳ª ³ª»ÛÀÏÀÌ´Ù). ÀÌ Àý¿¡¼ ¿ì¸®´Â ´ç½ÅÀÇ PPP ¼³Á¤À» ¾ÈÀüÇÏ°Ô ¸¸µé ¸î°¡Áö ´ëó¹æ¹ýÀ» ³íÀÇÇÒ °ÍÀÌ´Ù. pppdÀÇ ÇÑ°¡Áö ¹®Á¦Á¡Àº, ³×Æ®¿÷ µð¹ÙÀ̽º¿Í ¶ó¿ìÆà Å×À̺íÀ» ¼³Á¤ÇÒ ¶§ root ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀÌ´Ù. ´ç½ÅÀº º¸Åë À̸¦ root·Î setuidÇÏ¿© ÇØ°áÇÒ °ÍÀ̳ª, ÀÌ°ÍÀº À¯Àúµéµµ ¿©·¯ º¸¾È°ü·Ã ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï ¸¸µç´Ù. À¯ÀúµéÀÌ ÀÌ ¿É¼ÇÀ» ±³¹¦ÇÏ°Ô Á¶ÀÛÇÏ¿© attackÇÏ´Â ÀÏÀ» ¹æÁöÇϱâ À§Çؼ± Àü¿ª(global)ÆÄÀÏÀÎ /etc/ppp/options¿¡, Using Option Files ÀýÀÇ »ùÇà ÆÄÀÏ¿¡¼ º» °Í°°ÀÌ ¸î°¡Áö µðÆúÆ® °ªÀ» ÁöÁ¤ÇØ ÁÙ °ÍÀ» ±ÇÇÑ´Ù. ÀÎÁõ(authentication) ¿É¼Ç °°Àº °ÍµéÀº À¯Àú¿¡ ÀÇÇØ override µÉ ¼ö ¾ø±â ¶§¹®¿¡, ±³¹¦ÇÑ Á¶ÀÛÇØ´ëÇØ Àû´çÇÒ Á¤µµÀÇ ¹æ¾î¸¦ ÇØÁØ´Ù. ¹°·Ð, ´ç½ÅÀº PPP·Î ±³½ÅÇÏ´Â ½Ã½ºÅÛ¿¡¼µµ ´ç½ÅÀ» º¸È£ÇؾßÇÑ´Ù. ´Ù¸¥ ´©±¸ÀΠôÇϴ ȣ½ºÆ®¸¦ ¸·±â À§Çؼ´Â, ¾ðÁ¦³ª ´ç½ÅÀÇ »ó´ëÆí¿¡¼ ÀÏÁßÀÇ ÀÎÁõÀ» ¿ä±¸ÇؾßÇÒ °ÍÀÌ´Ù. Ãß°¡·Î, ´ç½ÅÀº ¿ÜºÎ È£½ºÆ®°¡ ±×µéÀÌ ¼±ÅÃÇÑ IP ÁÖ¼Ò¸¦ Á¦¸Ú´ë·Î »ç¿ëÇϵµ·Ï ³»¹ö·Á µÎ¾î¼± ¾ÈµÇ°í, ¸¸¾à ±×·¸°Ô ÇÒ¶§¶óµµ Á¦ÇÑÀº ÇؾßÇÑ´Ù. ´ÙÀ½Àý¿¡¼´Â ÀÌ ÁÖÁ¦¸¦ ´Ù·é´Ù.
PPP¿¡¼ °¢ ½Ã½ºÅÛÀº »ó´ëÆí¿¡°Ô, µÎ°¡Áö ÀÎÁõ ÇÁ·ÎÅäÄÝ Áß Çϳª¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀ» ÀÎÁõ(authenticate)Ç϶ó°í ¿ä±¸Çϴµ¥, ÀÌ µÎ ÇÁ·ÎÅäÄÝÀº Password Authentication Protocol (PAP), ±×¸®°í Challange Handshake Authentication Protocol (CHAP)ÀÌ´Ù. Ä¿³Ø¼ÇÀÌ ¼º¸³µÇ¸é °¢ ÃøÀº ÀüÈ °Å´Â ÂÊÀ̵ç ÀüÈ ¹Þ´Â ÂÊÀÌµç »ó´ëÆí¿¡°Ô ÀÚ½ÅÀ» ÀÎÁõÇÒ °ÍÀ» ¿ä±¸ÇÑ´Ù. PAP´Â ±âº»ÀûÀ¸·Î º¸ÅëÀÇ ·Î±×ÀÎ ÇÁ·Î½ÃÀú¿Í µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î µ¿ÀÛÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â À¯Àú ³×ÀÓ°ú (¾ÏÈ£È ÇÒ¼öµµ ÀÖ´Â) Æнº¿öµå¸¦ ¼¹ö·Î º¸³¿À¸·Î½á ÀÎÁõÇÏ°í, ¼¹ö´Â secret µ¥ÀÌÅͺ£À̽º¿¡¼ ±×°ÍÀ» ºñ±³ÇÑ´Ù. ÀÌ ±â¹ýÀº ½Ã¸®¾ó ¶óÀÎÀ» °¨Ã»ÇÏ¿© Æнº¿öµå¸¦ ¾ò¾î³»°Å³ª, ³ë°¡´Ù attack¿¡´Â ¼Ó¼ö ¹«Ã¥ÀÌ´Ù. CHAP¿£ ÀÌ·¯ÇÑ °áÁ¡ÀÌ ¾ø´Ù. CHAP¿¡¼, ÀÎÁõÇÏ´Â ÂÊ(Áï, ¼¹ö)Àº ·£´ýÀ¸·Î ¹ß»ýµÇ´Â "challenge" ¹®ÀÚ¿À» ±×°ÍÀÇ È£½ºÆ® ³×ÀÓ°ú ÇÔ²² Ŭ¶óÀ̾ðÆ®·Î º¸³½´Ù. Ŭ¶óÀ̾ðÆ®´Â ÀûÀýÇÑ secretÀ» °Ë»öÇÏ°í, challenge¿Í ±×°ÍÀ» °áÇÕ½ÃÅ°¸ç, one-wayÇؽÌÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ±× ¹®ÀÚ¿À» ¾ÏÈ£ÈÇϴµ¥ È£½ºÆ®³×ÀÓÀ» »ç¿ëÇÑ´Ù. ±× °á°ú¹°Àº Ŭ¶óÀ̾ðÆ®ÀÇ È£½ºÆ®³×ÀÓ°ú ÇÔ²² ¼¹ö·Î µÇµ¹¾Æ¿À¸ç, ¼¹ö´Â ÀÌÁ¦ µ¿ÀÏÇÑ ¿¬»êÀ» ¼öÇàÇÏ¿©, µ¿ÀÏÇÑ °á°ú¿¡ À̸¦°æ¿ì Ŭ¶óÀ̾ðÆ®¸¦ ÀÎÁõÇÑ´Ù. CHAPÀÇ ¶Ç´Ù¸¥ ±â´ÉÀº, ½ÃÀÛÇÒ ¶§¿¡¸¸ Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÎÁõÀýÂ÷¸¦ ¿äÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, Ŭ¶óÀ̾ðÆ®°¡ Ȥ½Ã ħÀÔÀÚ·Î µÚ¹Ù²îÁö´Â ¾Ê¾Ò´ÂÁö (¿¹¸¦ µé¾î, Àüȼ± ½ºÀ§Äª¿¡ ÀÇÇØ) È®ÀÎÇϱâ À§ÇØ ÀÏÁ¤°£°ÝÀ¸·Î challenge¸¦ º¸³½´Ù. pppd´Â CHAP¿Í PAPÀ» À§ÇÑ secret keyµéÀ» µÎ °³ÀÇ ÆÄÀÏ¿¡, Áï /etc/ppp/chap-secrets¿Í pap-secret¿¡ º°µµ·Î º¸°üÇÑ´Ù. ¾î´ÀÆÄÀÏ¿¡ Àִ ȣ½ºÆ®¿¡ µé¾î°¡´õ¶óµµ, »ó´ëÆí¿¡°Ô ¿ì¸®ÀÚ½ÅÀ» ÀÎÁõ½ÃÅ°´Âµ¥ CHAP ¶Ç´Â PAPÀ» »ç¿ëÇÏ´õ¶óµµ ±¦ÂúÀº ÄÁÆ®·ÑÀ» °¡Áú ¼ö ÀÖ´Ù. ¹°·Ð ±× ¹Ý´ëÀÇ °æ¿ìµµ ¸¶Âù°¡ÁöÀÌ´Ù. µðÆúÆ®·Î, pppd´Â ¸®¸ðÆ®¿¡¼ÀÇ ÀÎÁõÀ» ÇÊ¿ä·Î ÇÏÁö ¾ÊÀ¸³ª, ¸®¸ðÆ®°¡ ÀÚ½ÅÀ» ÀÎÁõÇϵµ·Ï ¿ä±¸Çϴµ¥´Â ÀÀÇÑ´Ù. CHAP°¡ PAPº¸´Ù ÈξÀ °·ÂÇϹǷÎ, pppd´Â °¡±ÞÀû ÀüÀÚ¸¦ »ç¿ëÇÏ·ÁÇÑ´Ù. ¸¸¾à »ó´ëÂÊÀÌ ±×°ÍÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù¸é, ȤÀº pppd°¡ chap-secrets ÆÄÀÏ ³»¿¡¼ ¸®¸ðÆ® ½Ã½ºÅÛÀ» À§ÇÑ CHAP secretÀ» ¹ß°ßÇÏÁö ¸øÇÒ °æ¿ì, PAPÀ¸·Î ÀüȯÇÑ´Ù. ¸¸¾à »ó´ëÆí¿¡´ëÇÑ PAP secret Á¶Â÷µµ °®°í ÀÖÁö ¾Ê´Ù¸é, ÀÎÁõÀ» ¸ðµÎ °ÅºÎÇÑ´Ù. ±× °á°ú·Î Ä¿³Ø¼ÇÀº ö°ÅµÈ´Ù. ¸î°¡Áö ¹æ¹ýÀ¸·Î ÀÌ·¯ÇÑ µ¿ÀÛÀ» ¹Ù²Ü ¼ö Àִµ¥, ¿¹¸¦ µé¾î auth Å°¿öµå¸¦ ÁÖ¸é pppd´Â »ó´ëÆí¿¡ ÀÚ½ÅÀ» ÀÎÁõÇ϶ó°í ¿ä±¸ÇÑ´Ù. pppd´Â °¢°¢ ÀÚ½ÅÀÇ CHAPÀ̳ª PAP µ¥ÀÌÅͺ£À̽º¿¡¼ »ó´ëÆíÀÇ secretÀ» °®°í ÀÖ´ÂÁö¿¡ µû¶ó ±× µÑÁßÀÇ Çϳª¸¦ »ç¿ëÇϴµ¥ ÀÀÇÑ´Ù. ±× ¿Ü¿¡µµ ƯÁ¤ ÀÎÁõ ÇÁ·ÎÅäÄÝÀ» Ä¿°Å³ª ²ø ¼ö ÀÖ´Â ¿É¼ÇÀÌ ¸î°³ ´õ ÀÖÁö¸¸ ¿©±â¿¡¼ °Å·ÐÇÏÁø ¾Ê´Â´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº pppd(8) ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇϱ⠹ٶõ´Ù. ¸¸¾à PPP·Î Åë½ÅÇÏ´Â ¸ðµç ½Ã½ºÅÛÀÌ ±×µé ÀÚ½ÅÀ» ÀÎÁõÇϴµ¥ µ¿ÀÇÇÑ´Ù¸é, auth ¿É¼ÇÀ» /etc/ppp/options Àü¿ª ÆÄÀÏ¿¡ ³Ö°í chap-secrets ÆÄÀÏ¿¡ °¢ ½Ã½ºÅÛ¿¡ ´ëÇÑ Æнº¿öµå¸¦ Á¤ÀÇÇØ µÎ¾î¾ß ÇÒ °ÍÀÌ´Ù. ¾î¶² ½Ã½ºÅÛÀÌ CHAPÀ» Áö¿øÇÏÁö ¾Ê´Â´ë¸é, pap-secrets ÆÄÀÏ¿¡ ¿£Æ®¸®¸¦ Ãß°¡Ç϶ó. ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ´ç½ÅÀº ÀÎÁõ¹ÞÁö ¸øÇÑ ½Ã½ºÅÛÀÌ ´ç½ÅÀÇ È£½ºÆ®¿¡ ¿¬°áÇÒ ¼ö ¾øÀ½À» È®½ÅÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ µÎ ¼¹ö´Â µÎ °¡ÁöÀÇ PPP secret ÆÄÀÏÀÎ, pap-secrets¿Í chap-secrets¿¡ °üÇØ ³íÇÑ´Ù. ±× µÑÀº /etc/ppp³»¿¡ ÀÖ°í, Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö, ±×¸®°í Æнº¿öµåÀÇ ¼¼°¡Áö¸¦ Æ÷ÇÔÇϸç, Ãß°¡·Î IP ÁÖ¼ÒÀÇ ¸ñ·Ïµµ µé¾î°¥ ¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®¿Í ¼¹öÇʵå¿ì Çؼ®Àº CHAP°ú PAP¿¡¼ ¼·Î ´Ù¸£¸ç, ÀÌ´Â »ó´ëÆíÀÌ ¿ì¸®¸¦ ÀÎÁõÇϵµ·Ï ÇÒÁö ¶Ç´Â ¿ì¸®°¡ ¼¹ö¿¡°Ô ÀÎÁõÇ϶ó°í ¿ä±¸ÇÏ´ÂÁö¿¡ ´Þ·ÁÀÖ´Ù.
CHAPÀ» »ç¿ëÇÏ¿© ¼¹ö¿¡ ÀÚ½ÅÀ» ÀÎÁõ½ÃÅ°·ÁÇÒ ¶§, pppd´Â Ŭ¶óÀ̾ðÆ® ÇÊ´õ°¡ ·ÎÄà ȣ½ºÆ®³×ÀÓ°ú µ¿ÀÏÇÏ°í, ¼¹öÇʵ尡 CHAP Challenge·Î º¸³»¿Â ¸®¸ðÆ® È£½ºÆ®³×ÀÓ°ú µ¿ÀÏÇÑ ¿£Æ®¸®°¡ ÀÖ´ÂÁö pap-secretsÆÄÀÏÀ» °Ë»çÇÑ´Ù. »ó´ëÆí¿¡ ÀÚ½ÅÀ» ÀÎÁõÇ϶ó°í ÇÒ¶§, ±× ¿ªÇÒÀº ´Ü¼øÈ÷ ±× ¹Ý´ë°¡ µÈ´Ù: ±×·¯¸é pppd´Â Ŭ¶óÀ̾ðÆ® Çʵ尡 ¸®¸ðÆ® È£½ºÆ®³×ÀÓ (Ŭ¶óÀ̾ðÆ®ÀÇ CHAP Response ³»¿¡ º¸³»Á® ¿Â)°ú µ¿ÀÏÇÏ°í, ¼¹öÇʵ尡 ·ÎÄà ȣ½ºÆ®³×ÀÓ°ú ´çÀÏÇÑ ¿£Æ®¸®¸¦ ã´Â´Ù. ´ÙÀ½Àº vlagerÀÇ chap-secrets ÆÄÀÏÀÌ´Ù.
# CHAP secrets for vlager.vbrew.com # # client server secret addrs #------------------------------------------------------------------- vlager.vbrew.com c3po.lucas.com "Use The Source Luke" vlager.vbr c3po.lucas.com vlager.vbrew.com "riverrun, pasteve" c3po.lucas * vlager.vbrew.com "VeryStupidPassword" pub.vbrew. c3po¿Í PPP ¿¬°áÀ» ÇÒ ¶§, c3po´Â CHAP Challenge¸¦ º¸³¿À¸·Î½á, vlager¿¡°Ô CHAPÀ» »ç¿ëÇÏ¿© ÀÚ½ÅÀ» ÀÎÁõÇ϶ó°í ÇÑ´Ù. ±×·¯¸é pppd´Â Ŭ¶óÀ̾ðÆ® Çʵ尡 vlager.vbrew.comÀÌ°í ¼¹ö Çʵ尡 c3po.lucas.comÀÎ ¿£Æ®¸®°¡ ÀÖ´ÂÁö chap-secrets ÆÄÀÏÀ» ÈȾ°í À§¿¡ º¸À̴ ù¹ø° ¶óÀÎÀ» ã¾Æ³½´Ù. ±×¸®°í´Â challange ¹®ÀÚ¿°ú secret (Use The Source Luke)¿¡¼ CHAP Response¸¦ ¸¸µé¾î³»¾î c3po·Î º¸³½´Ù. ±×¿Í µ¿½Ã¿¡, pppd´Â °íÀ¯ÇÑ challenge ¹®ÀÚ¿°ú fully qualified È£½ºÆ®³×ÀÓ vlager.vbrew.comÀ» Æ÷ÇÔÇÑ, c3po¿¡ ´ëÇÑ CHAP challenge¸¦ ÀÛ¼ºÇÑ´Ù. c3po´Â ¹æ±Ý À§¿¡¼ ¸»ÇÑ °Í°ú °°Àº ¾ç½ÄÀ¸·Î CHAP Response¸¦ ¸¸µé¾î vlager¿¡ µÇµ¹·Á ÁØ´Ù. ÀÌÁ¦ pppd´Â Response¿¡¼ Ŭ¶óÀ̾ðÆ® È£½ºÆ®³×ÀÓ (c3po.lucas.com)À» Ç®¾î³»¾î, Ŭ¶óÀ̾ðÆ® Çʵ忡 c3po, ¼¹ö Çʵ忡 vlager¿Í ÀÏÄ¡ÇÏ´Â ¶óÀÎÀ» chap-secrets ÆÄÀÏ¿¡¼ ã´Â´Ù. À§ÀÇ µÎ¹ø° ¶óÀÎÀÌ ÀÌ·¯ÇÏ´Ù. ±×¸®ÇÏ¿© pppd´Â CHAP challenge¿Í secretÀÎ riverrun, pasteve¸¦ Á¶ÇÕÇÏ¿© ¾ÏÈ£ÈÇÑ °á°ú¸¦ c3poÀÇ CHAP Response¿Í ºñ±³ÇÑ´Ù. ³×¹ø° Çʵå´Â ¿É¼ÇÀ¸·Î, ù¹ø° Çʵ忡 ¸í½ÃµÈ Ŭ¶óÀ̾ðÆ®°¡ ¹Þ¾ÆµéÀÌ´Â IP ÁÖ¼Ò¸¦ ³ª¿ÇÑ´Ù. ±× ÁÖ¼Ò´Â dotted quad notation ¶Ç´Â resolver·Î °Ë»öµÇ´Â È£½ºÆ®³×ÀÓÀ» ÁØ´Ù. ¿¹¸¦ µé¾î, ¸¸¾à c3po°¡ IPCP negotiation Áß¿¡ ¸®½ºÆ®¿¡ ¾ø´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÒ °ÍÀ» ¿äûÇÑ´Ù¸é, ±× ¿äûÀº °ÅºÎµÉ °ÍÀÌ¿© IPCP´Â Á¾·áÇÑ´Ù. °Ô´Ù°¡ À§¿¡ º¸ÀÌ´Â »ùÇà ÆÄÀÏ¿¡¼, c3po´Â ÀÚ½ÅÀÇ °íÀ¯ IP ÁÖ¼Ò¸¦ »ç¿ëÇϵµ·Ï Á¦ÇÑ µÇ¾î ÀÖ´Ù. ¸¸¾à ±× ÁÖ¼Ò Çʵ尡 ºñ¾î ÀÖ´Ù¸é, ¾î´À ÁÖ¼Òµµ Çã¿ëÇÑ´Ù; - °ªÀº Ŭ¶óÀ̾ðÆ® ¸ðµÎÀÇ IP »ç¿ëÀ» ¸·´Â´Ù. »ùÇà chap-secrets ÆÄÀÏÀÇ ¼¼¹ø° ¶óÀÎÀº ¾î¶°ÇÑ È£½ºÆ®µµ vlager¿Í PPP ¸µÅ©¸¦ ¼ö¸³ÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇϴµ¥, ÀÌÀ¯´Â *ÀÇ Å¬¶óÀ̾ðÆ® ¶Ç´Â ¼¹ö Çʵå´Â ¸ðµç È£½ºÆ®¿¡ ´ëÀÀµÇ±â ¶§¹®ÀÌ´Ù. ´ÜÁö ÇÊ¿äÇÑ °ÍÀº Ŭ¶óÀ̾ðÆ®°¡ secretÀ» ¾Ë¾Æ¾ßÇÏ°í, pub.vbrew.comÀÇ ÁÖ¼Ò¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù´Â °Í »ÓÀÌ´Ù. pppd°¡ ¼¹ö/Ŭ¶óÀ̾ðÆ® Æä¾î¿¡ Àû¿ëµÇ´Â ƯÁ¤ ¿£Æ®¸® ´ëºÎºÐÀ» ¾ðÁ¦³ª »ç¿ëÇÒ °ÍÀ̹ǷÎ, secret ÆÄÀÏ ¾îµð¿¡¼°Ç ¿ÍÀϵåÄ«µå È£½ºÆ®³×ÀÓ ¿£Æ®¸®¸¦ ¾µ ¼ö ÀÖ´Ù. pppd°¡, secret ÆÄÀÏ¿¡¼ È£½ºÆ® ¿¡ÀÓÀ» °Ë»öÇÏ¿¡ ¾ò¾î³»´Â °úÁ¤¿¡ ´ëÇؼ± ¸î°¡Áö ¸»ÇÒ ³»¿ëÀÌ ÀÖ´Ù. ÀÌÀü¿¡ ¼³¸íÇÏ¿´µ¡, ¸®¸ðÆ® È£½ºÆ® ³×ÀÓÀº CHAP Challenge ¶Ç´Â Response ÆÐŶ ³»¿¡ Æ÷ÇԵǾî Àü´ÞµÈ´Ù. ·ÎÄà ȣ½ºÆ® ³×ÀÓÀº µðÆúÆ®·Î gethostname(2)ÇÔ¼ö·Î ¾ò¾îÁø´Ù. ¸¸¾à ½Ã½ºÅÛ ³×ÀÓÀ» ÀÎÁõ¹ÞÁö ¾ÊÀº(unqulified) È£½ºÆ® ³×ÀÓÀ¸·Î ÁöÁ¤ÇØ µÎ¾ú´Ù¸é, domain ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© pppd¿¡ Ãß°¡·Î µµ¸ÞÀÎ ³×ÀÓÀ» ÁÖ¾î¾ß ÇÑ´Ù.
# pppd ...domain vbrew.com ÀÌ´Â ÀÎÁõ¿¡ °ü°èµÈ ¸ðµç ÀýÂ÷¿¡ ÀÖ¾î¼, BreweryÀÇ µµ¸ÞÀÎ ³×ÀÓÀ» vlager¿¡ ÷ºÎÇÑ´Ù. pppdÀÇ ·ÎÄà ȣ½ºÆ® ³×ÀÓ ³»¿ëÀ» ¼öÁ¤ÇÏ´Â ¶Ç ´Ù¸¥ ¿É¼Çµé·Î´Â usehostname°ú nameÀÌ ÀÖ´Ù. "local:varremote"¸¦ »ç¿ëÇÏ¿© ·ÎÄà IP ÁÖ¼Ò¸¦ Áְųª, local¿¡ dotted quad ´ë½Å À̸§À» Áشٸé, pppd´Â À̸¦ È£½ºÆ®³×ÀÓÀ¸·Î »ç¿ëÇÒ °ÍÀÌ´Ù. ´õ ÀÚ¼¼ÇÑ »çÇ×Àº pppd(8) ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇ϶ó. PAP secret ÆÄÀÏÀº CHAPÀÇ ±×°Í°ú ¾ÆÁÖ À¯»çÇÏ´Ù. óÀ½ µµ Çʵ忣 Ç×»ó À¯Àú ³×ÀÓ°ú ¼¹ö ³×ÀÓÀÌ µé¾î ÀÖ°í, ¼¼¹ø°´Â PAP secretÀÌ µé¾î°£´Ù. ¸®¸ðÆ®°¡ ÀÎÁõ ¿äûÀ» º¸³»¸é, pppd´Â ¼¹ö Çʵ尡 ·ÎÄà ȣ½ºÆ® ³×ÀÓ°ú µ¿ÀÏÇÏ°í, À¯Àú Çʵ尡 request ³»ÀÇ À¯Àú ³×ÀÓ°ú µ¿ÀÏÇÑ ¿£Æ®¸®¸¦ »ç¿ëÇÑ´Ù. ÀÚ½ÅÀ» »ó´ë¿¡°Ô ÀÎÁõÇÒ °æ¿ì¿¡ pppd´Â À¯Àú Çʵ尡 ·ÎÄà À¯Àú ³×ÀÓ°ú µ¿ÀÏÇÏ°í ¼¹ö Çʵ尡 ¸®¸ðÆ® È£½ºÆ® ³×ÀÓ°ú °°Àº ¶óÀο¡¼ secretÀ» ÃßÃâÇÒ °ÍÀÌ´Ù. ´ÙÀ½Àº PAP secret ¿¹Á¦ ÆÄÀÏÀÌ´Ù.
# /etc/ppp/pap-secrets # # user server secret addrs vlager-pap c3po cresspahl vlager.vbrew.com c3po vlager DonaldGNUth c3po.lucas.com ù¹ø° ¶óÀÎÀº ¿ì¸®¸¦ c3po¿¡ ÀÎÁõÇÒ ¶§ »ç¿ëµÈ´Ù. µµ¹ø° ¶óÀÎÀº c3po¶óÀº À¯Àú°¡ ¾î¶»°Ô ÀÚ½ÅÀ» ¿ì¸®¿¡°Ô ÀÎÁõ½ÃÅ°´Â°¡¸¦ º¸¿©ÁØ´Ù. ù¹ø° Ä÷³ÀÇ vlager-pap¶ó´Â À̸§Àº ¿ì¸®°¡ c3po¿¡ º¸³»´Â À¯Àú ³×ÀÓÀÌ´Ù. µðÆúÆ®·Î, pppd·ÎÄà ȣ½ºÆ® ³×ÀÓÀ» À¯Àú³×ÀÓÀ¸·Î ¾²³ª, user ¿É¼ÇµÚ¿¡ À̸§À» ÁÖ¾î ´Ù¸¥ À̸§À» ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. »ó´ëÆí°úÀÇ ÀÎÁõÀ» À§ÇØ pap-secret ÆÄÀÏ¿¡¼ ¿£Æ®¸® Çϳª¸¦ »Ì¾Æ³¾ ¶§, pppd´Â ¸®¸ðÆ® È£½ºÆ® ³×ÀÓÀ» ¾Ë¾Æ¾ß¸¸ ÇÑ´Ù. pppd ÀÚü·Î´Â »ó´ëÆí È£½ºÆ® ³×ÀÓÀ» ã¾Æ³»Áø ¸øÇϹǷÎ, Ä¿¸Çµå ¶óÀÎ »ó¿¡¼ remotename Å°¿öµå µÚ¿¡ »ó´ëÆí È£½ºÆ® ³×ÀÓÀ» ÁÖ¾î ÁöÁ¤ÇÒ ¼ö ÀÏ´Ù. ¿¹¸¦ µé¾î, À§ÀÇ c3po¿Í ÀÎÁõÇÏ´Â ¿£Æ®¸®¸¦ »ç¿ëÇϱâ À§Çؼ±, Ä¿¸Çµå ¶óÀο¡ ´ÙÀ½ÀÇ ¿É¼ÇÀ» pppd¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.
\#{} pppd ... remotename c3po user vlager-pap ¸¶Ä¡ CHAP secret ÆÄÀÏ¿¡¼Ã³·³, ³×¹ø° Çʵ忡(±×¸®°í µÚµû¸£´Â ¸ðµç Çʵ忡) ƯÁ¤ È£½ºÆ®°¡ ¾î¶² IP ÁÖ¼Ò¸¦ ¾²µµ·Ï Çã¿ëÇÒ Áö¸¦ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù. ±×·¯¸é, »ó´ëÆíÀº ±× ¸ñ·Ï ³»ÀÇ ÁÖ¼Ò¸¸À» ¿ä±¸ÇÒ °ÍÀÌ´Ù. ¿¹Á¦ ÆÄÀÏ¿¡¼´Â c3po°¡ ½ÇÁ¦ ÀÚ½ÅÀÇ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ±æ ¿ä±¸ÇÑ´Ù. PAPÀÌ ´Ù¼Ò ¾àÇÑ ÀÎÁõ ¹æ½ÄÀ̶ó´Âµ¥ ÁÖÀÇÇ϶ó. ±×¸®°í °¡´ÉÇÏ´Ù¸é CHAP¸¦ ´ë½Å »ç¿ëÇ϶ó°í ±ÇÇÑ´Ù. ±×¸®ÇÏ¿© ¿ì¸®´Â ¿©±â¼ PAPÀÇ Á» ´õ ¼¼ºÎÀûÀÎ »çÇ×Àº ´Ù·çÁö ¾Ê¾Ò´Ù. PAP »ç¿ë¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é, pppd(8) ¸Å´º¾ó ÆäÀÌÁö¿¡¼ ±×°ÍÀÇ ±â´ÉÀ» Á»´õ ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
pppd¸¦ ¼¹ö¸ðµå·Î µ¹¸®·Á¸é, Ä¿¸Çµå¶óÀο¡ Àû´çÇÑ ¿É¼ÇÀ» Á» ´õ Áֱ⸸ÇÏ¸é µÈ´Ù. Ãß»óÀûÀ¸·Î ¾ê±âÇÒ¶§, ´ç½ÅÀº Ư¼öÇÑ °èÁ¤, À̸¦Å׸é ppp¸¦ ¸¸µé°í °Å±â¿¡ pppd¸¦ ÀÌ ¿É¼ÇÀ» ÁÖ°í ½ÇÇà½ÃÅ°´Â ½ºÅ©¸³Æ® ¶Ç´Â ÇÁ·Î±×·¥À» ·Î±×ÀÎ ½©·Î ÁØ´Ù. ¿¹¸¦ µéÀÚ¸é, ´ÙÀ½°ú °°Àº ¶óÀÎÀ» /etc/passwd¿¡ ³Ö´Â´Ù.
ppp:*:500:200:Publiv PPP Account:/tmp:/etc/ppp/ppplogin ¹°·Ð, À§¿¡¼ º¸´Â °Í°ú´Â ´Ù¸¥ uid¿Í gid¸¦ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù. ±×¸®°í passwd Ä¿¸Çµå¸¦ ½á¼ À§ÀÇ °èÁ¤¿¡ Æнº¿öµå¸¦ ÁöÁ¤ÇØ Áà¾ßÇÒ °ÍÀÌ´Ù. ppplogin ½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°´Ù.
#!/bin/sh # ppplogin - script to fire up pppd on login mesg n stty -echo exec pppd -detach silent modem crtscts mesg Ä¿¸Çµå´Â ´Ù¸¥ »ç¿ëÀÚ°¡, write Ä¿¸Çµå µîÀ¸·Î, »ç¿ëÁßÀÎ tty¿¡ ¾²±â¸¦ ÇÒ ¼ö ¾ø°Ô ÇÑ´Ù. stty Ä¿¸Çµå´Â Character echoingÀ» ²ö´Ù. ÀÌ°ÍÀº ²À ÇÊ¿äÇÏ´Ù. ¸¸¾à À̸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é »ó´ëÆí¿¡¼ º¸³½ °ÍµéÀÌ ´Ù½Ã echoµÇ¾î µ¹¾Æ°¡°Ô µÇ±â ¶§¹®ÀÌ´Ù. À§¿¡ ÁØ ¿É¼Ç Áß¿¡ °¡Àå Áß¿äÇÑ pppd ¿É¼ÇÀº -detachÀÌ´Ù. ¿Ö³ÄÇÏ¸é ±×°ÍÀÌ pppd°¡ Á¦¾îÁßÀÎ tty¿¡¼ µû·Î ºÐ¸®µÇ¾î ³ª¿ÀÁö ¾Ê°Ô Çϱ⠶§¹®ÀÌ´Ù. ¸¸¾à ÀÌ ¿É¼ÇÀ» ÁöÁ¤ÇØ ÁÖÁö ¾Ê´Â´Ù¸é, pppd´Â ¹é±×¶ó¿îµå·Î °¡¹ö¸®°Ô µÇ°í ½© ½ºÅ©¸³Æ®´Â Á¾·áµÈ´Ù. µû¶ó¼ ½Ã¸®¾ó¶óÀÎÀÌ hang upµÇ¾î Ä¿³Ø¼ÇÀÌ dropµÈ´Ù. silent ¿É¼ÇÀº pppd°¡ sendingÀ» ½ÃÀÛÇϱâ Àü¿¡, ÀüÈ°Ç ½Ã½ºÅÛ¿¡¼ÀÇ ÆÐŶÀ» ¼ö½ÅÇÒ ¶§±îÁö ´ë±âÇÏ°Ô ÇÑ´Ù. ÀÌ´Â ±× ½Ã½ºÅÛÀÌ PPP Ŭ¶óÀ̾ðÆ®¸¦ ±¸µ¿Çϴµ¥ ½Ã°£ÀÌ °É¸®´õ¶óµµ transmit timeoutÀÌ ÀϾÁö ¾Ê°Ô ÇÑ´Ù. modem Ä¿¸Çµå´Â, pppd°¡ »ó´ëÆíÀÌ Ä¿³Ø¼ÇÀ» drop Çß´ÂÁö DTR ¶óÀÎÀ» »ìÆ캸°ÔÇÏ°í, crtscts´Â hardware handshake¸¦ ÄÒ´Ù. ÀÌ ¿É¼Çµé ¿Ü¿¡µµ, auth¸¦ Ä¿¸Çµå ¶óÀÎÀ̳ª Àü¿ª ¿É¼Ç ÆÄÀÏ¿¡ ÁöÁ¤ÇÏ¿© ÁÖ¾î, ¾î¶°ÇÑ ÀÎÁõ´Ü°è¸¦ °ÅÄ¡°Ô²û ÇÒ ¼ö ÀÏ´Ù. ¸Å´º¾ó ÆäÀÌÁö¿¡¼´Â °³º°ÀûÀÎ ÀÎÁõ Æ÷·ÎÅäÄÝÀ» ÄÑ°í ²ô´Â µîÀÇ Á¶ÀýÀ» Çϴ ƯÁ¤ ¿É¼Çµé¿¡ ´ëÇØ ÀÚ¼¼È÷ ´Ù·ç°í ÀÖ´Ù.
|
Other Chapters
1. Introduction to Networking |
Appendix
A. A Null Printer Cable for PLIP |