Point  to  Point   Tunneling   Protocol
ppTp VPN Linux client  ¼³Á¤ ¹æ¹ý
    version 2.20
    ±Û¾´ÀÌ : (ÁÖ)¸®´ª½º·¦ ´ëÇ¥ÀÌ»ç ¹èö¼ö <ceo_nospam@linuxlab.kr> - ¸ÞÀÏ º¸³¾¶§´Â _nospam À» »©¾ß ÇÑ´Ù.

    »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ ÆÇ´ÜÀ¸·Î ¾Æ·¡ ÇÁ·Î±×·¥ ¼³Ä¡ ¹× »ç¿ë ¿©ºÎ¸¦ °áÁ¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ ¼³Á¤À¸·Î ÀÎÇØ ¸®´ª½º È£½ºÆ®ÀÇ ¿ÀÀÛµ¿, µ¥ÀÌŸ ¼Õ½Ç µî ¾î¶°ÇÑ ¹°Àû, Á¤½ÅÀû ¼ÕÇØ°¡ ¹ß»ýµÇµµ ÀÌ´Â ÀÌ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÑ »ç¶÷ ÀÚ½ÅÀÇ Ã¥ÀÓÀÌ´Ù.

    ¼³Ä¡°¡ Á¦´ë·Î ¾ÈµÈ´Ù°í PC¸¦ ¹ß·Î °È¾îÂ÷¼­ PC°¡ ºÎ¼­Áö°Å³ª ¹ß°¡¶ôÀÌ »ß´Â°Í, ¸Ó¸®Ä«¶ôÀ» Áã¾î ¶â¾î ´ë¸Ó¸®°¡ µÇ´Â°Í, ¶Ç ¹ã»õ ¼³Ä¡ÇÏ´Ù°¡ ´ÊÀáÀÚ¼­ ȸ»ç¿¡ Áö°¢ÇØ »ó»ç¿¡°Ô ²ÙÁö¶÷ µè°í ȱ±è¿¡ ¼ú¸¶½Ã°í À½ÁÖ¿îÀüÇÏ´Ù ¹ú±ÝÀ» ¹«´Â µîÀÇ ÀÏüÀÇ °£Á¢ÀûÀÎ ¼ÕÇصµ ¿ª½Ã º»ÀÎÀÇ Ã¥ÀÓÀÌ ¾Æ´Ï´Ù.

    . ÀÌ ±Û¿¡¼­ ¸®´ª½º client ¶õ ¸®´ª½º·¦ÀÇ pptp VPN ¼­¹ö¸¦ ¿¬°áÇÏ´Â »ç¿ëÀÚ Ãø ¸®´ª½º È£½ºÆ®¸¦ ¸»ÇÑ´Ù.
    . ÀÌÅÚ¸¯Ã¼·Î Ç¥½ÃÇÑ ºÎºÐÀº »ç¿ëÀÚ°¡ ÀÔ·ÂÇÏ´Â ¸í·ÉÀÌ´Ù. (µÚ¿¡ <Enter> Å°¸¦ ´­·¯¾ß ÇÑ´Ù.)
    . ȸ»ö ¹ÙÅÁÀº ¸®´ª½º client ÀÇ È­¸é Ãâ·ÂÀÌ´Ù.

    [»çÁ·]

    1. ¾Æ·¡ ¼³¸íÀº µ¥ºñ¾È ¹èÆ÷º»À» ±âÁØÀ¸·Î ÇÑ´Ù.

    2. ¸®´ª½º Àü¹®°¡¶ó¸é ¾Æ·¡ ¼³¸íÀ» ÀÐÁö ¾Ê°íµµ pptp ¸¦ ¿¬°áÇÒ¼ö ÀÖ´Ù.
      ¾Æ·¡ ¼³¸íÀ» ÀÐ°íµµ pptp ¸¦ ¿¬°áÇÏÁö ¸øÇÑ´Ù¸é ¸®´ª½º¸¦ »ç¿ëÇÏÁö ¸»°í À©µµ¿ì¸¦ »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù.

    3. Áú¹®ÀÌ ÀÖÀ¸¸é °Ô½ÃÆÇ¿¡ ±Û ¿Ã¸®±â ¹Ù¶õ´Ù.(ÀüÈ­»óÀ¸·Î´Â ±â¼ú Áö¿øÀ» ¾Ê½À´Ï´Ù.)

  1. »çÀü Áغñ »çÇ×

    • ¸®´ª½º·¦¿¡¼­ " °øÀÎ IP" °èÁ¤°ú Æнº¿öµå¸¦ ¹Þ´Â´Ù. (http://pptp.kr)

      *. ¹«·á Å×½ºÆ® °èÁ¤À¸·Î´Â pptp ¿¬°á ±îÁö¸¸ Å×½ºÆ® °¡´ÉÇÏ´Ù. ±× ÀÌ»ó(¿ÜºÎ¿¡¼­ ÇÒ´ç ¹ÞÀº IP·Î ¿¬°á )À» Å×½ºÆ®ÇÏ·Á¸é ¹Ýµå½Ã °øÀÎ IP¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù.

    • ¸®´ª½º client ¿¡ ¾Æ·¡ ¼¼ ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇ¾î Àִ°¡ È®ÀÎÇÑ´Ù. µð·ºÅ͸® À§Ä¡µµ ¾Æ·¡¿Í °°¾Æ¾ß ÇÑ´Ù.

      1. which pppd
      /usr/sbin/pppd

      2. which pptp
      /usr/sbin/pptp

      3. which ip
      /sbin/ip

    • ls -l /etc ¸í·ÉÀ» ÁÙ ¶§ ¾Æ·¡¿Í °°Àº ¶óÀÎÀÌ ³ª¿Í¾ß ÇÑ´Ù.

      drwxr-xr-x 3 root root 4096 Aug 18 18:17 ppp

    • ls -l /usr/sbin/pppd ¸í·ÉÀ» ÁÖ¸é ¾Æ·¡Ã³·³ ³ª¿Í¾ß ÇÑ´Ù.

      -rwsr-xr-- 1 root dip 260920 2007-03-17 15:52 /usr/sbin/pppd

      ¸Ç ¾ÕÀÇ rws °¡ Áß¿äÇÏ´Ù. ¸¸¾à ÀÌ ºÎºÐÀÌ rwx ·Î³ª¿À¸é ¾Æ·¡ ¸í·ÉÀ» ÁØ´Ù.

      chmod 4754 /usr/sbin/pppd

    • °øÀ¯±â »ç¿ë½Ã ÁÖÀÇ »çÇ×.

      ¾Æ·¡ÀÇ ¸ðµç ¼³Á¤Àº °øÀ¯±â¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ ÀÛµ¿ÇÑ´Ù. ´Ü ´ÙÀ½ µÎ °¡Áö¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù.

      1. °øÀ¯±â¿¡ pptp Åë°ú(passthrough) ±â´ÉÀÌ ÀÖ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù. ¸Å´º¾ó¿¡ pptp Åë°ú ±â´ÉÀÌ ÀÖ´Ù°í Çؼ­ ±×´ë·Î ¹Ï¾î¼­´Â ¾ÈµÈ´Ù. À©µµ¿ì PC ¸¦ °øÀ¯±â ¾Æ·¡¿¡ ¿¬°áÇؼ­ VPN ¿¬°áÀÌ µÅ´ÂÁö È®ÀÎÇØ º»´Ù.

        º»ÀÎÀÌ ¾Æ´Â¹Ù·Î´Â ±¹³»¿¡¼­ ¸¹ÀÌ »ç¿ëÇÏ´Â ±¹»ê °øÀ¯±â ´ëºÎºÐÀÌ pptp Åë°ú ±â´ÉÀÌ ¾ø´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº ÀÚÁÖ¹Þ´Â Áú¹® 3 ¹øÀ» Âü°íÇϱ⠹ٶõ´Ù.

      2. ¸®´ª½º client ¿¡¼­ °øÀ¯±âÀÇ ·ÎÄ® Æ÷Æ®·Î ping ÀÌ µÅ´ÂÁö ±×¸®°í ÀÎÅÍ³Ý »çÀÌÆ®(¸®´ª½º·¦ VPN ¼­¹öÀÇ IP)·Î ping ÀÌ µÅ´ÂÁö¸¦ È®ÀÎÇؾßÇÑ´Ù.

    • ¹æÈ­º® ¹Ø¿¡¼­ ¿¬°á

      ¹æÈ­º® »ç¿ë½Ã´Â ¹æÈ­º® ¾÷ü¿¡ pptp Åë°ú ±â´ÉÀ» ³Ö¾î ´Þ¶ó°í ¾Ö±âÇØ¾ß ÇÑ´Ù.
      ¹æÈ­º®ÀÌ ¸®´ª½º¶ó¸é Ä¿³ÎÀ» ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù.

        [ /usr/sbin/pptp ÄÄÆÄÀÏ ]

    /usr/sbin/pptp (pptp client) ÆÄÀÏÀÌ ¾øÀ¸¸é ¼Ò½º ÆÄÀÏ pptp-linux-x.y.z.tar.gz À» ´Ù¿î¹Þ¾Æ ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù.

    1. ´Ù¿î ¹ÞÀº pptp-linux-1.4.0.tar.gz ÆÄÀÏÀ» /tmp µð·ºÅ͸®¿¡ ³Ö´Â´Ù.
    2. cd /tmp
    3. tar zxvf pptp-linux-1.4.0.tar.gz
    4. cd pptp-linux-1.4.0
    5. make
    6. make install
    À§ÀÇ °úÁ¤À» ¸¶Ä¡¸é /usr/sbin µð·ºÅ͸®¿¡ pptp ¶õ ÆÄÀÏÀÌ ¸¸µé¾î Áø´Ù.
    ÄÄÆÄÀÏÀÌ ¾ÈµÈ´Ù¸é RedHat Fedora Core release 3 (Heidelberg) ¿ë pptp binary file À» ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇØ º»´Ù. ´Ü °ü·Ã ¶óÀ̺귯¸®°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

    *. ¸¶¿ì½º ¿ìÃø ¹öÆ°À¸·Î À§ÀÇ ¸µÅ©¸¦ Ŭ¸¯ÇØ ´Ù¿î ¹ÞÀº ÈÄ /usr/sbin ¿¡ ³Ö°í
    chmod 755 /usr/sbin/pptp ¸í·ÉÀ» ÁØ´Ù.

  2. °ü·Ã »çÀÌÆ®/±Û

    1. pptp client : http://pptpclient.sourceforge.net
    2. pppd : pppd ¼³Ä¡
    3. pppd : ppp »ç¿ë

  3. [ÁÖ ÀÇ ]

    ¸®´ª½º client ¿¡ pppoe ¹æ½ÄÀÇ ADSL ¸ðµ©À» Á÷Á¢ ¿¬°áÇÑ °æ¿ì¿¡´Â Ưº°ÇÑ ÁÖÀÇ°¡ ÇÊ¿äÇÏ´Ù.(ADSL ¸ðµ©À» °øÀ¯±â¿¡ ¿¬°áÇÑ °æ¿ì´Â »ó°ü¾ø´Ù.) pppoe ¿Í pptp ¸ðµÎ ppp ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϹǷΠÀϺΠ¼³Á¤ ÆÄÀÏÀÌ Ãæµ¹ÇÒ ¼ö ÀÖ´Ù.

    *. ÃÖ±Ù¿¡ ³ª¿À´Â ÀϺΠADSL °ú VDSL Àº pppoe ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. DHCP(IP ÀÚµ¿ ºÎ¿©)¸¦ »ç¿ëÇÑ´Ù.

    ¸®´ª½º¿¡¼­ pppoe ÇÁ·Î±×·¥À» »ç¿ëÇؼ­ ADSL ¶óÀÎÀ» ¿¬°áÇß´Ù¸é ¾Æ·¡ "5." ¹ø ¸í·É ½ÇÇà½Ã pppoe ÇÁ·Î±×·¥ÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. µû¶ó¼­ ¾Æ·¡ ¸í·É ½ÇÇà Àü¿¡ ÇÊÈ÷ /etc/ppp µð·ºÅ͸®¸¦ ¹é¾÷ ¹Þ¾Æ¾ß ÇÑ´Ù.

    • cd /etc
    • cp -a /etc/ppp /etc/ppp.bak

    ¹®Á¦ ¹ß»ý½Ã ¿ø»óÅ·Πº¹¿ø ÇÏ·Á¸é

    • cd /etc
    • rm -rf ppp
    • cp -a ppp.bak ppp

  4. ¾Æ·¡ ¼³Á¤Àº root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.

  5. ¸®´ª½º client ¼³Á¤ ÇÁ·Î±×·¥ (linuxlab-pptpc.tar)À» /tmp µð·ºÅ͸®¿¡ ´Ù¿î ¹Þ´Â´Ù.

  6. tar  xvf  /tmp/linuxlab-pptpc.tar  -C/etc/ppp ¸í·ÉÀ» ½ÇÇà

    ( -C/etc/ppp ¿¡¼­ C ´Â ´ë¹®ÀÚÀÌ´Ù. Áß°£¿¡ °ø¹éÀÌ ¾ø´Ù.)

    • /etc/ppp µð·ºÅ͸®¿¡ ¾Æ·¡ ´Ù¼¸ ÆÄÀÏÀÌ »ý¼ºµÈ´Ù.(¾Æ·¡ ÆÄÀÏÀÌ ¾È ³ªÅ¸³ª¸é tar ¸í·ÉÀÌ Æ²·È´Ù.)

      chap-secrets  chk-vpn  cron-pptpc  ip-up  pptpc

    • /etc/ppp/peers ¿¡ ¾Æ·¡ ÆÄÀÏÀÌ »ý¼ºµÈ´Ù.

      linuxlab

    [Âü °í] : °¢ ÆÄÀÏÀÇ ¼³¸í

    ÆÄÀϸímode¼³¸í
    chap-secrets-rwx------ÀÎÁõ ÆÄÀÏ. °èÁ¤°ú Æнº¿öµå°¡ µé¾î°£´Ù.
    chk-vpn-rwxr-xr-xVPN ¿¬°áÀÌ ²÷°å´Â Áö¸¦ üũÇؼ­ À翬°áÇØÁÖ´Â ½© ½ºÅ©¸³Æ®.
    cron-pptpc-rwxr-xr-x1 ºÐ¿¡ Çѹø chk-vpn ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â crontab ¼³Á¤ÆÄÀÏ
    pptpc-rwxr-xr-xVPN À» ¿¬°áÇÏ´Â ½ºÅ©¸³Æ®
    linuxlab-rwxr-xr-xpptp ¿É¼Ç ¹× ¼­¹ö ÁÖ¼Ò ÁöÁ¤
    ip-up-rwxr-xr-xVPN ¿¬°á½Ã ½ÇÇàµÇ´Â policy routing script

  7. /etc/ppp µð·ºÅ丮 ³»ÀÇ ´ÙÀ½ ÆÄÀÏÀ» ¼öÁ¤ÇÑ´Ù.

      ¸®´ª½º·¦¿¡¼­ ¹ÞÀº VPN ¼­¹öÀÇ °èÁ¤ÀÌ test999 Æнº¿öµå°¡ 1234 ¶ó¸é

    1. chap-secrets ÆÄÀÏ¿¡ ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù.

        test999    *   1234   *

         ("account   *   pass   *" ¶õ ÁÙÀº ¿¹Á¦ÀÌ´Ù. Áï ÀÌ·± ½ÄÀ¸·Î ÀÔ·ÂÇÑ´Ù´Â ¶æÀÓ.)

    2. pptpc ÆÄÀÏ Áß LOG_NAME="account" ¿¡¼­ account ´ë½Å ¸®´ª½º·¦¿¡¼­ ¹ÞÀº ppTp VPN °èÁ¤À» ³Ö´Â´Ù.

        LOG_NAME="test999"

    3. /etc/ppp/peers/linuxlab ÆÄÀÏÀÇ ¾Æ·¡ ¶óÀÎÀÇ w.x.y.z ¿¡ ¸®´ª½º·¦ VPN ¼­¹öÀÇ ÁÖ¼Ò°¡ µé¾î°¡¾ß ÇÑ´Ù.

      pty "/usr/sbin/pptp w.x.y.z --nolaunchpppd"

      ex) pty "/usr/sbin/pptp 118.128.29.8 --nolaunchpppd"

      À§ÀÇ w.x.y.z ¿¡´Â ¸®´ª½º·¦¿¡¼­ ÇÒ´çÇÏ´Â °øÀÎ IP¸¦ ÀÔ·ÂÇÏ´Â°Ô ¾Æ´Ï´Ù. ÇÒ´çÇÑ IP ´Â pptp °¡ ¿¬°áÀÌ µÉ °æ¿ì¿¡ client ¿¡¼­ ¹Þ´Â IP ÁÖ¼ÒÀÌ´Ù. ¼­¹ö ÁÖ¼Ò´Â ¸®´ª½º·¦ ȨÆäÀÌÁö(pptp.kr)¿¡ ³ª¿À´Â VPN ¼­¹öÀÇ IP ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. (µµ¸ÞÀÎ ³×ÀÓÀº »ç¿ëÇÒ ¼ö ¾ø´Ù.)

      °øÀÎ IP ´Â ¹Ýµå½Ã ÁöÁ¤µÈ ¼­¹ö¸¸ Á¢¼ÓÇØ¾ß ÇÑ´Ù.

    *. ¸¸¾à ADSL ¶óÀÎÀ» pppoe ¹æ½ÄÀ¸·Î ¸®´ª½º client ¿¡ ¿¬°áÇß´Ù¸é /etc/ppp/peers/linuxlab ÆÄÀÏ¿¡ ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù.

    mtu 1452

    *. vi ÆíÁý±â¸¦ »ç¿ëÇÒ ÁÙ ¸ð¸£¸é pico ³ª nano ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¸®´ª½º¿¡¼­ ÆíÁýÀÌ ¾î·Á¿ì¸é ftp ·Î ´Ù¿î ¹ÞÀº ÈÄ À©µµ¿ì¿¡¼­ ¼öÁ¤ÇÑ´Ù. ´Ü À©µµ¿ì·Î ´Ù¿î ¹Þ°Å³ª À©µµ¿ì¿¡¼­ ¸®´ª½º·Î ¾÷·ÎµåÇÒ ¶§ ftp ¿¡¼­ ²À ascii ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ¾Æ·¡¿Í °°´Ù. (À©µµ¿ì¿¡¼­ pptpc ÆÄÀÏÀ» ¾÷·Îµå ÇßÀ¸¸é ÇÊÈ÷ "chmod 755 pptpc" ¸í·ÉÀ» ÁÙ°Í.)

      230 User admin logged in.
      Remote system type is UNIX.
      Using binary mode to transfer files.
      ftp> ascii
      200 Type set to A
    

  8. ¿¬°á

    /etc/ppp/pptpc  ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.

  9. ¿¬°á È®ÀÎ

    1. ifconfig  ¸í·ÉÀ» ÁÖ¾úÀ» ¶§ ¾Æ·¡Ã³·³ ³ª¿Í¾ß ÇÑ´Ù.(ÀϺΠ»ý·«)

       ppp?     Link encap:Point-to-Point Protocol
                inet addr:999.999.999.999  P-t-P:w.x.y.z  Mask:255.255.255.255

      *. ip ¸í·ÉÀ» »ç¿ëÇÑ´Ù¸é ip addr sh  ¸í·ÉÀ» ÁÖ¸é ¾Æ·¡Ã³·³ ³ª¿Â´Ù.

          14: ppp0:  mtu 1500 qdisc pfifo_fast qlen 3
                 link/ppp
                 inet 999.999.999.999 peer w.x.y.z scope global ppp0

      *. 999.999.999.999 ´ë½Å Àڽſ¡°Ô ÇÒ´çµÈ IP ÁÖ¼Ò°¡ ³ª¿Í¾ß ÇÑ´Ù.

    2. ps ax  ¸í·ÉÀ» ÁÙ ¶§ ¾Æ·¡ 3 ÁÙÀÌ ³ª¿Í¾ß ÇÑ´Ù.

        16254   ?   Ss   0:00 /usr/sbin/pppd ipparam linuxlab  name ????? call linuxlab
      ¡¡16255   ?   S    0:00 pptp: GRE-to-PPP gateway on /dev/ptmx
      ¡¡16289   ?   S    0:00 pptp: call manager for w.x.y.z
        (or 629 ?   S    0:00 pptp: call manager for 220.--nolaunchpppd)
      *. ????? ´ë½Å ÀÚ½ÅÀÇ VPN °èÁ¤ÀÌ ³ª¿Í¾ß ÇÑ´Ù.
      *. "16254" ´Â Process ID ·Î¼­ VPN ¿¬°áÀ» ²÷À» ¶§ ÇÊ¿äÇÏ´Ù.

    3. netstat -nr ¸í·ÉÀ¸·Îµµ È®ÀÎÀÌ °¡´ÉÇÏ´Ù.

        linuxlab:/etc/ppp# netstat -nr
        Kernel IP routing table
        Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
        172.29.0.1      0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
        192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
        0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth1

      À§ ¶ó¿ìÆà Å×À̺íÀº ¸®´ª½º·¦ ¹æÈ­º® ¹Ø¿¡¼­ VPN À» ¿¬°áÇÑ °æ¿ìÀÌ´Ù. ÀÎÅÍ³Ý ¶óÀÎ(¹æÈ­º®)Àº eth1 ¿¡ ¿¬°áµÅ ÀÖ´Ù.

      1. 4 ¹ø° ÁÙÀÇ "172.29.0.1" Àº VPN ¼­¹öÀÇ IP ÀÌ´Ù. ¾î´À ¼­¹ö¸¦ ¿¬°áÇÏ´À³Ä¿¡ µû¶ó ´Ù¸£´Ù.
      2. 5 ¹ø° ÁÙÀÇ 192.168.0.0 Àº ¹æÈ­º® °ú ¸®´ª½º client °£ÀÇ ³»ºÎ ³×Æ®¿öÅ© ÁÖ¼ÒÀÌ´Ù.

      ¸®´ª½º ³×Æ®¿öÅ·¿¡ ´ëÇØ Á¶±Ý ¾Ë°í ÀÖ´Â ¸®´ª¼­¶ó¸é À§ÀÇ ¶ó¿ìÆà Å×À̺íÀÌ ÀÌ»óÇÏ´Ù°í ´À³¥ °ÍÀÌ´Ù.

      *. ÀÌ»óÇÏÁö ¾Ê´Ù°í »ý°¢Çß´Ù¸é ¸®´ª½º ³×Æ®¿öÅ·¿¡ ´ëÇÑ Àü¹®°¡À̰ųª ¹®¿ÜÇÑ Áß ÇϳªÀÌ´Ù.

      ¿Ö µðÆúÆ®°ÔÀÌÆ®¿þÀÌ ÀÎÅÍÆäÀ̽º(¸¶Áö¸· ÁÙ)°¡ eth1 ÀÎÁö ÀǾÆÇØ ÇÒ°ÍÀÌ´Ù.
      default gateway °¡ VPN ÀÎÅÍÆäÀ̽º(ppp0) ¿©¾ß ÇÏÁö ¾Ê´Â°¡?
      ¶ó¿ìÆà Å×À̺íÀÌ Æ²¸®Áö ¾ÊÀº°¡?

      õ¸¸¿¡¿ä. ÀÌ°É ºñ´ëĪ ¶ó¿ìÆÃÀ̶ó°í ºÎ¸£´Â °Ì´Ï´Ù. ÀϹÝÀûÀ¸·Î °ÅÀÇ »ç¿ëÇÏÁö ¾Ê´Â ¾î·Á¿î ±â¹ýÀÔ´Ï´Ù.
      (ºñ´ëĪ ¶ó¿ìÆÃÀº °³³äÀÌ ¾î·Á¿ö ¿©±â¼­ ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù.)

      ¿ÜºÎ¿¡¼­ ¸®´ª½º·¦¿¡¼­ ¹ÞÀº IP ÁÖ¼Ò·Î telnet À̳ª ssh ·Î ¿¬°áÇØ º¸¼¼¿ä.

      ¸¸¾à VPN ¿¬°áÀº µÇ³ª ¿ÜºÎ¿¡¼­ VPN À¸·Î ¹ÞÀº IP ¸¦ »ç¿ëÇÒ¼ö ¾øÀ¸¸é /etc/ppp/ip-up ½ºÅ©¸³Æ®°¡ ½ÇÇàÀÌ ¾ÈµÅ´Â °æ¿ìÀÌ´Ù.

      ip-up ½ºÅ©¸³Æ®´Â ip ¸í·ÉÀÌ /sbin ¿¡ ÀÖ¾î¾ß ½ÇÇàµÈ´Ù. ip ru sh ¸í·ÉÀ» ÁÙ ¶§ "10: from ..." ¶óÀÎÀÌ ³ª¿Í¾ß ÇÑ´Ù.

  10. ºÎÆýà vpn ÀÚµ¿ ¿¬°á

    À§ÀÇ ¿¬°á ¸í·ÉÀ» ¸®´ª½º boot ½ºÅ©¸³Æ®¿¡ ³Ö¾î¾ß ¸®ºÎÆýà ÀÚµ¿À¸·Î VPN ÀÌ ¿¬°áµÈ´Ù.

    1. Redhat

      /etc/rc.d/rc.local ÆÄÀÏÀÇ ¸Ç µÚ¿¡ ¾Æ·¡ ¶óÀÎÀ» ³Ö´Â´Ù.

      /etc/ppp/pptpc

    2. Debian

      /etc/ppp/pptpc À» /etc/rc.local ¿¡ Ãß°¡ ÇÑ´Ù.

    3. SuSE

      /etc/init.d/boot.local ÆÄÀÏÀÇ ¸Ç µÚ¿¡ /etc/ppp/pptpc ¶óÀÎÀ» Ãß°¡ÇÑ´Ù.

    ¡¡¡¡

    ÁÖÀÇ : ´Ù¸¥ ¹èÆ÷º» ¶Ç´Â customized µÈ ½Ã½ºÅÛ¿¡¼­ ¿¬°á½Ã VPN ¿¬°á ¸í·É(pptpc)ÀÌ ÀÎÅÍ³Ý ¿¬°á ÇÁ·Î±×·¥ º¸´Ù ³ªÁß¿¡ ½ÇÇàµÇ¾ß ÇÑ´Ù.

  11. ÀÚµ¿ À翬°á

    ÀÎÅÍ³Ý ¶óÀÎÀÌ ²÷±â¸é VPN ¿¬°áµµ °°ÀÌ ²÷±ä´Ù. ¶Ç´Â °øÀ¯±â¸¦ »ç¿ë½Ã °øÀ¯±â¸¦ ²¯´Ù Äѵµ VPN ¿¬°áÀº ²÷±ä´Ù. VPN ¿¬°áÀÌ ²÷°Üµµ ÀÚµ¿À¸·Î Àç Á¢¼ÓµÇ°Ô ÇÏ·Á¸é crontab ¿¡¼­ /etc/ppp/chk-vpn ÆÄÀÏÀ» 1ºÐ¿¡ Çѹø¾¿ ÀÚµ¿À¸·Î ½ÇÇàµÇ°Ô ÇØ¾ß ÇÑ´Ù.

    crontab -l ¸í·ÉÀ» ÁÖ¸é ÇöÀç crontab ¿¡¼­ ½ÇÇà µÇ´Â ¸í·ÉÀÌ ³ª¿Â´Ù. ¾Æ¹«·± ¼³Á¤ÀÌ ¾ø´Ù¸é ¾Æ·¡ ¸í·ÉÀ» ÁØ´Ù.

    crontab /etc/ppp/cron-pptpc <enter>

    crontab ¿¡ ÀÌ¹Ì ´Ù¸¥ ¼³Á¤ÀÌ ÀÖ´Ù¸é crontab -e ¸í·ÉÀ¸·Î crontab ¿¡ ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù.

    */1  *  *  *  *  /etc/ppp/chk-vpn

    °¢ Ç׸ñ ´ÙÀ½¿¡ ¹Ýµå½Ã °ø¹éÀÌ ÇÑ °³ ÀÌ»ó ÇÊ¿äÇÏ´Ù.

    È®ÀÎÇÏ·Á¸é crontab -l  ¸í·ÉÀ» ÁØ´Ù. ¾Æ·¡Ã³·³ ³ª¿Í¾ß ÇÑ´Ù.

    */1  *  *  *  *  /etc/ppp/chk-vpn

    *. crontab ¼³Á¤ È®ÀÎ : crobtab -l
    *. crontab ¼³Á¤ Á¦°Å : crontab -r

  12. Àå¾Ö ó¸®

    1. VPN ¿¬°áÀÌ ¾ÈµÈ´Ù.

      1. °øÀ¯±â¸¦ »ç¿ëÇÑ´Ù¸é °øÀ¯±â°¡ "VPN (ppTp) pass through" ±â´ÉÀ» Áö¿øÇÏ´ÂÁö È®ÀÎÇÒ °Í.(°øÀ¯±â/¹æÈ­º® »ç¿ë¿¡ ´ëÇؼ­´Â ÀÚÁÖ ¹Þ´Â Áú¹® "3" ¹øÀ» Âü°íÇϽÿÀ.) : °øÀ¯±â ¹®Á¦ÀÎÁö È®ÀÎÇÏ·Á¸é °øÀ¯±â¸¦ ¶¼°í ¿¬°áÀ» ½ÃµµÇÏ´øÁö ¶Ç´Â À©µµ¿ì¿¡¼­ VPN ¿¬°áÀ» ½ÃµµÇØ º»´Ù.

      2. /etc/ppp/options ÆÄÀÏÀ» Áö¿ì°í ¿¬°áÀ» ½ÃµµÇÑ´Ù.

      3. man pppd ¸í·ÉÀ» Á־ ¿É¼Ç¿¡ -defaultroute °¡ ÀÖ´ÂÁö È®ÀÎÇØ º»´Ù. ¿À·¡µÈ ¹èÆ÷º»ÀÇ °æ¿ì -defaultroute ´ë½Å nodefaultroute ¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ÀÌ °æ¿ì´Â /etc/ppp/peers/linuxlab ÆÄÀÏÀÇ -defaultroute ¸¦ nodefaultroute ·Î º¯°æ

      4. ±×·¡µµ ¾ÈµÇ¸é /etc/ppp/options ÆÄÀÏ¿¡ debug À» ³Ö°í ¿¬°áÀ» ½ÃµµÇÑ´Ù. ±×·¯¸é /var/log/debug(or syslog : ¹èÆ÷º» ¸¶´Ù ´Ù¸£´Ù) ÆÄÀÏ¿¡ ppp ¿Í °ü·ÃµÈ ·Î±×°¡ ÀúÀåµÈ´Ù. ±× ·Î±×¸¦ ÀÚ¼¼È÷ º¸¸é ¾îµð¿£°¡ ¿¡·¯ ¿øÀÎÀÌ ³ªÅ¸³­´Ù

        ÀÌ ±Û ¸Ç µÚ¿¡ Á¤»óÀûÀ¸·Î ¿¬°áµÇ¾úÀ» ¶§ÀÇ /var/log/debug ÆÄÀÏ ³»¿ëÀ» ÷ºÎÇß´Ù. ÀÌ ·Î±×¿Í ºñ±³Çؼ­ Â÷ÀÌ°¡ ÀÖ´ÂÁö º»´Ù. ·Î±×¿¡ "Welcome to libra." °¡ ¾È³ª¿À¸é °èÁ¤ ¶Ç´Â Æнº¿öµå°¡ Ʋ·È´Ù.

    2. VPN ¿¬°áÀº µÇ´Âµ¥ ÀÚÁÖ ²÷±ä´Ù.

      - °øÀ¯±â°¡ "VPN (ppTp) pass through" ±â´ÉÀ» Á¦´ë·Î Áö¿øÇÏ´ÂÁö¸¦ È®ÀÎÇÒ °Í.

      - À©µµ¿ì PC¿¡¼­ VPN À» ¿¬°áÇصµ ¸¶Âù°¡Áö ÀÎÁö¸¦ ºñ±³ÇØ º¼°Í.

      - ¶óÀÎ »óŸ¦ Á¡°ËÇØ º»´Ù. ¸®´ª½º·¦ VPN ¼­¹ö IP ÁÖ¼Ò ¶Ç´Â »ç¿ëÇÏ´Â ÀÎÅÍ³Ý ¶óÀÎÀÇ ISP ÀÇ DNS ¼­¹ö ÁÖ¼Ò·Î ping Å×½ºÆ®¸¦ ÇØ º»´Ù.

      - /etc/ppp/peers/linuxlab ÆÄÀÏ¿¡ ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇØ º»´Ù.

           mtu 1452 (¶Ç´Â mtu 1400)

    3. VPN ¿¬°áÀº µÇ´Âµ¥ ¿ÜºÎ¿¡¼­ ¸®´ª½º client IP ÁÖ¼Ò·Î Á¢¼Ó(ping)ÀÌ ¾ÈµÈ´Ù.

      1. /sbin/ip route show  ¸í·ÉÀ» ÁÙ ¶§ ¿¡·¯°¡ ¶ß´ÂÁö¸¦ º¼°Í. : ¿¡·¯°¡ ¶ß¸é iproute ÇÁ·Î±×·¥À» À缳ġÇÑ´Ù.

      2. ¹æÈ­º® ·êÀÌ ¼³Á¤µÇ¾ú´ÂÁö¸¦ È®ÀÎÇÒ°Í.(iptables -vnL) ¹æÈ­º® ·êÀ» Á¦°ÅÇÏ°í(¾Æ·¡ ¸í·É) ¿¬°áÀ» ½ÃµµÇØ º»´Ù.

        iptables -F

      3. dmesg  ¸í·ÉÀ» ½ÇÇàÇؼ­ ¿¡·¯°¡ ³ª¿À´ÂÁö¸¦ º¼°Í

        Ȥ½Ã ¾Æ·¡¿Í ºñ½ÁÇÑ ¿¡·¯°¡ ³ª¿À¸é ÀÌ´Â ¹èÆ÷º», Ä¿³Î, ¸ðµâ ¹®Á¦À̹ǷΠÇØ°áÀÌ ½±Áö ¾Ê´Ù.

        divert: no divert_blk to free, ppp0 not ethernet
        divert: not allocating divert_blk for non-ethernet device ppp0

        <ÇØ°á ¹æ¹ý>

        - ¾Æ·¡ µÎ ¸í·ÉÀ» ½ÇÇàÇØ º»´Ù.(¾Æ·¡ ¸í·ÉÀº ÇÑ ÁÙÀÌ´Ù. \´Â ¸í·ÉÀ» µÎ ÁÙ·Î °è¼ÓÇÒ ¶§ »ç¿ëÇÑ´Ù.)

        (1) /sbin/iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
            -j TCPMSS --clamp-mss-to-pmtu

        (2) /sbin/iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN \
            -j TCPMSS --clamp-mss-to-pmtu

        - ·£Ä«µå µå¶óÀ̹ö¸¦ ¸ðµâ·Î ¿Ã¸®Áö ¸»°í Ä¿³ÎÀ» ÄÄÆÄÀÏÇØ ³Ö´Â´Ù.

    4. ÀÎÅÍ³Ý ¶óÀÎÀÌ ²÷°å´Ù ´Ù½Ã ¿¬°áµÆ´Âµ¥ pppd µ¥¸óÀÌ Á¾·áÇÏÁö ¾Ê¾Æ¼­ VPN ÀÚµ¿ À翬°áÀÌ ¾ÈµÈ´Ù.

      linuxlab ÆÄÀÏ¿¡´Â pppd ¿É¼ÇÀ» ÁöÁ¤ÇÏ´Â ºÎºÐÀÌ µé¾î ÀÖ´Ù. ÀÌÁß lcp-echo-interval °ú lcp-echo-failure ´Â VPN ¿¬°áÀÌ ºñÁ¤»ó Á¾·á(¶óÀÎ Àý´Ü)ÀÎ °æ¿ì¿¡ pppd µ¥¸óÀ» Á¾·áÄÉÇÏ´Â ºÎºÐÀÌ´Ù.

      lcp-echo-interval Àº ¸î ÃÊ¿¡ ÇÑ ¹ø VPN ¼­¹ö·Î ¿¬°á È®ÀÎ(LCP Echo) À» ÇÒ°ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. lcp-echo-failure ´Â LCP Echo °¡ ¸î ¹ø ½ÇÆÐÇÒ °æ¿ì¿¡ pppd µ¥¸óÀ» Á¾·áÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. lcp-echo-interval 30 ÀÌ°í lcp-echo-failure °¡ 4 ¶ó¸é ¶óÀÎ ¿¬°áÀÌ ²÷±â¸é ¾à 120 ÃÊ À̳»¿¡ pppd µ¥¸óÀÌ Á¾·áÇÑ´Ù. ±×·¯¸é crontab ¿¡¼­ chk-vpn ½ºÅ©¸³Æ®°¡ pppd µ¥¸óÀÌ Á¾·áÇßÀ¸¹Ç·Î pptpc ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇؼ­ VPN À» ´Ù½Ã ¿¬°áÇØ ÁØ´Ù.

      ±×·¯³ª ±ØÈ÷ µå¹ÉÁö¸¸ À§ÀÇ µÎ ¿É¼Ç¿¡¼­ pppd µ¥¸óÀÌ Á×Áö ¾Ê´Â °æ¿ìµµ ÀÖ´Ù. ÀÌ·² ¶§¸¦ ´ëºñÇØ ¸¸µç ¿É¼ÇÀÌ Àִµ¥ ¹Ù·Î idle ÀÌ´Ù. "idle 240" À» linuxlab ¿¡ Ãß°¡Çϸé ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇÀº 240ÃÊ µ¿¾È ÀüÇô µ¥ÀÌŸ À̵¿ÀÌ ¾øÀ¸¸é(LCP Echo Æ÷ÇÔ) pppd ¸¦ Á¾·áÇ϶ó´Â ¶æÀÌ´Ù.

    5. ¸ðµç ¹æ¹ýÀ» µ¿¿øÇصµ ¿¬°áÀÌ ¾ÈµÇ¸é /etc/ppp/options ÆÄÀÏ¿¡ debug ¸¦ ³Ö°í ¿¬°áÀ» ½Ãµµ ÈÄ /var/log/debug ÆÄÀÏ ³»¿ë[Âü°í 4]À» vpn@linuxlab.co.kr ·Î º¸³»±â ¹Ù¶õ´Ù.

      ±×¸®°í °øÀ¯±â¿¡¼­ 23/tcp(¶Ç´Â 22/tcp) ¸¦ ¸®´ª½º client ·Î Æ÷Æ®Æ÷¿öµùÀ» ¼³Á¤ÇÏ°í ¸®´ª½º¿¡¼­ telnet(ssh) µ¥¸óÀ» °¡µ¿ÇÏ¸é ¸®´ª½º·¦¿¡¼­ ¿ø°ÝÀ¸·Î Á¢¼ÓÇÏ¿© ¸ðµç ¼³Á¤À» ÇØ ÁÜ.(ºñ¿ë ¾ø½¿.)

      [Âü °í]

      ¸®´ª½º·¦ VPN À» ¿¬°áÇؼ­ ¸ÞÀÏ ¼­¹ö¸¦ ¿î¿µÇϴµ¥ ÇѸÞÀÏ °°Àº ÀϺΠÆ÷Å» »çÀÌÆ®·Î º¸³½ ¸ÞÀÏÀÌ ½ºÆÔÀ¸·Î 󸮵ȴٴ ºÒÆòÀ» ÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù. ÀÌ´Â ºñ´ëĪ ¶ó¿ìÆÃÀ» ÀÌÇØÇÏÁö ¸øÇϱ⠶§¹®ÀÌ´Ù.

      ÇѸÞÀÏ¿¡¼­ ¸®´ª½º ¸ÞÀÏ ¼­¹ö·Î º¸³»´Â ¸ÞÀÏÀº VPN À¸·Î ¹ÞÀº IP ÁÖ¼Ò·Î µé¾î¿Â´Ù. ÇÏÁö¸¸ À©µµ¿ì¿¡¼­ Outlook ·Î ¸®´ª½º ¸ÞÀÏ ¼­¹ö¸¦ ÁöÁ¤ÇØ ¸ÞÀÏÀ» º¸³»¸é ¸®´ª½º ¸ÞÀÏ ¼­¹ö°¡ ÀÏ´Ü ÀúÀå ÇÑ ÈÄ À̸¦ ´Ù¸¥ ¸ÞÀÏ ¼­¹ö(ÇѸÞÀÏ ¸ÞÀϼ­¹ö)·Î º¸³½´Ù.

      ¸®´ª½º ¸ÞÀϼ­¹ö°¡ ºñ´ëĪ ¶ó¿ìÆÃÀ» »ç¿ëÇÑ´Ù¸é ¸ÞÀÏÀÌ ³ª°¥ ¶§´Â ¸®´ª½º·¦¿¡¼­ VPN À¸·Î ¹ÞÀº IP ÁÖ¼Ò°¡ »ç¿ëµÇÁö ¾Ê°í °øÀ¯±â ¶Ç´Â ¸®´ª½º¿¡ ¿¬°áµÈ ADSL/ÄÉÀÌºí ¶óÀÎÀÇ IP ÁÖ¼Ò·Î ³ª°£´Ù.

      ¸¸¾à ¸ÞÀÏ ¼ö½ÅÀÚÃø ¸ÞÀÏ ¼­¹ö°¡ ¸ÞÀÏ Çì´õ¿¡ ÀÖ´Â µµ¸ÞÀÎ ³×ÀÓÀ» nslookup ÇÏ¸é ¸®´ª½º·¦ÀÇ VPN IP ÁÖ¼Ò°¡ ³ª¿Ã°ÍÀÌ´Ù. ±×·±µ¥ ¸ÞÀÏÇì´õ¿¡ ÀÖ´Â IP ÁÖ¼Ò´Â VPN IP°¡ ¾Æ´Ñ ADSL ¶óÀÎÀÇ IP ÀÌ´Ù. ÀϺΠÆ÷Å»»çÀÌÆ®´Â ÀÌ µÑÀÌ °°Áö ¾ÊÀ¸¸é ½ºÆÔÀ¸·Î ó¸®ÇÑ´Ù.

      ºÒƯÁ¤ ´Ù¼ö¿¡°Ô ¸ÞÀÏÀ» ¹ß¼ÛÇÏ´Â °æ¿ì¶ó¸é [Âü°í 1] ¿¡ ³ª¿Â °Íó·³ ºñ´ëĪ ¶ó¿ìÆÃÀÌ ¾Æ´Ñ ¹æ½ÄÀ» »ç¿ëÇϱ⠹ٶõ´Ù. ´Ü ÀÌ °æ¿ì´Â ¼Óµµ¿¡¼­ ¼ÕÇظ¦ º»´Ù.

  13. ¿¬°á ²÷±â

    À§ÀÇ 6. 2) ù¹ø° ÁÙ ¸Ç ¾Õ¿¡ ³ª¿À´Â ÇÁ·Î¼¼½º ID¸¦ kill ÇÑ´Ù.

    kill -9 16254

  14. °øÀ¯±â(NAT gateway) »ç¿ë

    °øÀ¯±â »ç¿ëÀÚ´Â ÇÊÈ÷ ÀÚÁÖ ¹Þ´Â Áú¹®À» Âü°íÇϱ⠹ٶõ´Ù. ¸®´ª½º¸¦ NAT gateway ·Î »ç¿ëÇÏ´Â °æ¿ìµµ ¸¶Âù°¡Áö´Ù.

  15. ±â Ÿ

    À§ÀÇ ¼³Á¤Àº ¸®´ª½º client ¿¡¼­ À¥/¸ÞÀÏ/DB µîÀÇ ¼­¹ö¸¦ ¿î¿µÇÒ °æ¿ì¿¡ ÀûÇÕÇÏ´Ù. Áï À§ÀÇ ¼³Á¤À¸·Î ¿¬°áÇÏ¸é ¿ÜºÎ¿¡¼­ ¸®´ª½º client ÀÇ VPN À¸·Î ¹ÞÀº °íÁ¤ IP ÁÖ¼Ò·Î ¿¬°á½Ã¸¸ VPN ¸µÅ©°¡ »ç¿ëµÈ´Ù.

    ¸®´ª½º client ¿¡¼­ ÀÎÅͳÝÀ» »ç¿ëÇÒ °æ¿ì ¶Ç´Â ¸®´ª½º client ¸¦ °ÔÀÌÆ®¿þÀÌ·Î ÁöÁ¤Çؼ­ ÀÎÅͳÝÀ» »ç¿ëÇÏ´Â Çǽÿ¡¼­ ÀÎÅͳÝÀ» »ç¿ë½Ã´Â VPN À¸·Î ºÎ¿© ¹ÞÀº °íÁ¤ IP°¡ »ç¿ëµÇÁö ¾Ê°í ¸®´ª½º client ¿¡ ¿¬°áµÈ ÀÎÅÍ³Ý ¶óÀÎÀÇ IP(°øÀ¯±â »ç¿ë½Ã´Â °øÀ¯±â¿¡ ºÎ¿©µÈ IP ÁÖ¼Ò) °¡ »ç¿ëµÈ´Ù.

    (ºñ´ëĪ ¶ó¿ìÆÃÀ¸·Î ºÒ¸°´Ù. ¿Ö ±×·¸°Ô µÇ´ÂÁö ¼³¸íÇÏ·Á¸é ³Ê¹« ±æ´Ù.). [Âü°í 3]À» º¸¸é default gateway °¡ °øÀ¯±âÀÇ ÁÖ¼Ò Áï 192.168.0.1 ÀÌ´Ù.

    »ç¿ëÀÚÀÇ ÀÔÀå¿¡¼­´Â ¸®´ª½º client ¿¡¼­ µ¥ÀÌŸ°¡ ³ª°¡´Â °æ¿ì¿¡´Â VPN ¼­¹ö¸¦ °ÅÄ¡Áö ¾Ê´Â°Ô À¯¸®ÇÏ´Ù. ¿Ö³ÄÇϸé VPN ¼­¹ö¸¦ °ÅÄ¡Áö ¾Ê´Â°Ô ¼Óµµ¸é¿¡¼­ À¯¸®ÇÏ´Ù

    µû¶ó¼­ ÀÌ ¼³Á¤À» È¿°úÀûÀ¸·Î »ç¿ëÇÏ·Á¸é VPN Pass Through ±â´ÉÀÌ ÀÖ°í Multi-Session À» Áö¿øÇÏ´Â °øÀ¯±â(Dlink »çÀÇ DI-604 µî)¿¡ ÀÎÅÍ³Ý ¶óÀÎÀ» ¿¬°áÇÏ°í, ¸®´ª½º client ¿¡´Â »ç¼³ IP(192.168.x.x)¸¦ ºÎ¿©Çؼ­ ¸®´ª½º client ÀÇ µðÆúÆ® °ÔÀÌÆ®¿þÀ̸¦ °øÀ¯±âÀÇ ·£ Æ÷Æ®ÀÇ ÁÖ¼Ò¸¦ ÁÖ¸é µÈ´Ù.

    °øÀ¯±â ¼³Á¤¿¡¼­ °øÀ¯±â¿¡ ¿¬°áµÈ ÇǽÃÀÇ IP ¸¦ ÀÚµ¿À¸·Î ºÎ¿© ÇÏÁö ¸»°í ¼öµ¿À¸·Î ºÎ¿©ÇØ¾ß ÇÑ´Ù. ¾Æ´Ï¸é °øÀ¯±â¿¡¼­ IP ÀÚµ¿ ºÎ¿©¸¦ Ç쵂 VPN À» ¿¬°áÇÏ´Â ¸®´ª½º client IP ¸¦ ÀÚµ¿ ºÎ¿© IP ¸ñ·Ï¿¡¼­ Á¦¿ÜÇÑ´Ù.

    ¹°·Ð À§ÀÇ ¼³Á¤Àº ¸®´ª½º client ¿¡ Á÷Á¢ ADSL/ÄÉÀ̺í/Àü¿ë¼±À» ¿¬°áÇÒ °æ¿ì¿¡µµ ÀÛµ¿ÇÑ´Ù.

    Áú¹®ÀÌ ÀÖÀ¸¸é vpn@linuxlab.kr ·Î ¹®ÀÇÇϱ⠹ٶõ´Ù.

    ppTp ÀÚÁÖ ¹Þ´Â Áú¹® ¿¡µµ °ü·Ã ³»¿ëÀÌ ÀÖ´Ù.

[Âü°í 1] ¾Æ·¡ ºÎºÐ ¸Å´º¾óÀº ¾ÆÁ÷ ¼öÁ¤ÀÌ ÁøÇàÁßÀÔ´Ï´Ù.
*. ¸®´ª½º client¿¡¼­ µ¥ÀÌŸ¸¦ ³»º¸³¾¶§µµ VPN IP·Î ³ª°¡°Ô ÇÏ·Á¸é

À§ÀÇ ¼³Á¤Àº VPNÀ» ¿¬°áÇÑ ¸®´ª½º client ¿¡¼­ ÀÎÅͳÝÀ» ¿¬°áÇÏ´Â °æ¿ì´Â VPN IP¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.(ºñ´ëĪ ¶ó¿ìÆÃÀ̶ó ºÒ¸°´Ù.)

ÀÌ ¼³Á¤¿¡¼­´Â ¸®´ª½º client ¿¡¼­ ÀÎÅͳÝÀ» ¿¬°á½Ã´Â VPN ¼­¹ö¸¦ °ÅÄ¡Áö ¾Ê´Â´Ù. Áï VPN IP ·Î ³ª°¡Áö ¾Ê´Â´Ù. (¿ÜºÎ¿¡¼­ VPN À¸·Î ¹ÞÀº IP ÁÖ¼Ò·Î ¸®´ª½º client ¸¦ ¿¬°áÇÒ ¶§´Â ´ç¿¬È÷ VPN ¼­¹ö¸¦ °ÅÄ£´Ù.) VPN ¼­¹ö¸¦ °ÅÄ¡Áö ¾ÊÀ¸¸é ±× ¶óÀÎÀÇ ÃÖ°í ¼Óµµ¸¦ ´Ù ÀÌ¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

Áï ¸®´ª½º client °¡ ¸ÞÀÏ ¼­¹öÀÌ°í È£½ºÆ® ³×ÀÓÀÌ mail.pptp.co.kr À̶ó¸é ¿ÜºÎ¿¡¼­ mail.pptp.co.kr ·Î ¸ÞÀÏÀ» º¸³¾ ¶§´Â VPN ÁÖ¼Ò°¡ »ç¿ëµÇÁö¸¸ mail.pptp.co.kr ¿¡¼­ ´Ù¸¥ ¸ÞÀÏ ¼­¹ö·Î ¸ÞÀÏÀ» º¸³¾ ¶§´Â VPN À¸·Î ¹ÞÀº IP ÁÖ¼Ò°¡ ¾Æ´Ñ ¸®´ª½º client³ª °øÀ¯±âÀÇ ADSL/ÄÉÀÌºí ¶óÀÎÀÇ IP ÁÖ¼Ò°¡ »ç¿ëµÈ´Ù.

±×·¯³ª ¸®´ª½º client ¿¡¼­ ÀÎÅͳÝÀÇ È£½ºÆ®¸¦ ¿¬°áÇϴµ¥ ±× È£½ºÆ®¿¡¼­ »ó´ë¹æÀÇ IP¸¦ üũÇؼ­ ƯÁ¤ IP ¸¸ ¿¬°áÀ» Çã¿ëÇÑ´Ù¸é ¸®´ª½º client ¿¡¼­ µ¥ÀÌŸ¸¦ ³» º¸³¾¶§µµ VPN IP·Î ³ª°¡¾ßÇÑ´Ù. Áï VPN ¼­¹ö¸¦ °ÅÃÄ¾ß ÇÑ´Ù.(ÀÌ·± °æ¿ì´Â ¸¹Áö ¾ÊÀ» °ÍÀÌ´Ù.)

ÀÌ ¼³Á¤Àº »ó´çÈ÷ ±î´Ù·Ó´Ù. ¿Ö³ÄÇϸé ÀÌ·¸°Ô ÇÏ·Á¸é ¸®´ª½º clientÀÇ default gateway ¸¦ VPN Interface(ppp?) ·Î º¯°æÇؾßÇϴµ¥ ÀÌ ¶§ ´Ü¼øÈ÷ °ÔÀÌÆ®¿þÀ̸¦ º¯°æÇϸé looping ÀÌ ¹ß»ýÇÑ´Ù.

¹°·Ð ¸®´ª½º´Â ÀÌ °æ¿ì¿¡µµ ´ç¿¬È÷ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù. ¿©±â¼­ ¹æ¹ýÀ» ¼³¸íÇÏ·Á¸é º¹ÀâÇϹǷΠ¾Æ·¡ÀÇ ¼³Á¤ ÇÁ·Î±×·¥À» ´Ù¿î¹Þ¾Æ ¼³Ä¡Çϸé ÀÚµ¿À¸·Î ÇØ°áµÈ´Ù.

<¼ø¼­>

  1. awk ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
  2. À§ÀÇ 4¹ø ±îÁö ÁøÇàÇÑ´Ù.
  3. ip-dgw.tar ÆÄÀÏÀ» ´Ù¿î¹Þ´Â´Ù.
  4. ÀÌ ÆÄÀÏÀ» /etc/ppp µð·ºÅ͸®¿¡ ³Ö°í tar xvf ip-dgw.tar ¸í·ÉÀ» ÁØ´Ù.
    ip-up °ú ip-down µÎ ÆÄÀÏÀÌ ³ªÅ¸³­´Ù.
Áï º»¹® "3" ¹ø¿¡¼­ ¼³Ä¡µÈ /etc/ppp µð·ºÅ͸®ÀÇ ip-up ÆÄÀÏÀ» »õ ÆÄÀÏ·Î ´ëÄ¡ÇÏ°í ip-down ÆÄÀÏÀ» Çϳª ´õ Ãß°¡ÇÑ °ÍÀÌ´Ù. ´Ù¸¥ ºÎºÐÀº °°´Ù.

ÀÌÁ¨ VPNÀ» ¿¬°áÇÏ¸é µðÆúÆ® °ÔÀÌÆ®¿þÀÌ°¡ VPN interface ·Î º¯°æµÉ °ÍÀÌ´Ù. ±×¸®°í VPN ¿¬°áÀ» ²÷À¸¸é ¿¬°á ÀüÀÇ ¶ó¿ìÆà Å×À̺í·Î º¹±ÍÇÑ´Ù.

¢À. VPN ¿¬°á ÈÄÀÇ ¶ó¿ìÆà Å×À̺íÀº ¾Æ·¡¿Í °°À» °ÍÀÌ´Ù.
    (¸®´ª½º client °¡ °øÀ¯±â ÇÏ´Ü¿¡ À§Ä¡ÇÏ°í 192.168.1.x IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ´Â °æ¿ì.)

bae@samba:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
220.230.5.3     0.0.0.0         255.255.255.255 UH       40 0          0 ppp0
192.168.1.0     0.0.0.0         255.255.255.0   U        40 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U        40 0          0 lo
0.0.0.0         220.230.5.3     0.0.0.0         UG       40 0          0 ppp0

¢À. ºñ´ëĪ ¶ó¿ìÆÃÀ» »ç¿ëÇÏ´Â °æ¿ìÀÇ ¶ó¿ìÆà Å×À̺íÀº "[Âü°í 3]" "1." ¿¡ ³ª¿Í ÀÖ´Ù.

[ÁÖÀÇ]
ip-dgw.tar ¸¦ ¼³Ä¡ÇÏÁö ¾Ê°í µðÆúÆ® °ÔÀÌÆ®¿þÀ̸¦ VPN À¸·Î º¯°æÇÏ¸é ¾î¶² °á°ú°¡ ¹ß»ýÇÏ´ÂÁö ¾Ë°í ½ÍÀ¸¸é ½ÃÇèÇØ º¸½Ê½Ã¿À. ¾Æ¸¶µµ Çǽø¦ ¸®ºÎÆÃÇØ¾ß ÇÒ°Ì´Ï´Ù. VPN ¿¬°á¸¸ ²÷´Â´Ù°í ÇØ°áµÇÁö ¾Ê½À´Ï´Ù.

[¹ö±×] eth0 ·£Ä«µå¿¡ IP ÁÖ¼Ò°¡ µÎ °³ÀÎ °æ¿ì´Â ÀÌ ¼³Á¤ÀÌ ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. ¸®´ª½º·¦À¸·Î ¿¬¶ôÇؼ­ ¼öÁ¤ ÆÄÀÏÀ» ¹Þ¾Æ¾ß ÇÕ´Ï´Ù.

[Âü°í 2]

¹æÈ­º® ³»¿¡¼­ ppTp VPN ¿¬°á

¹æÈ­º® ³»¿¡¼­ »ç¼³ IP¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡(NAT ¹æ½Ä ¹æÈ­º®) ¹æÈ­º® ³»ÀÇ »ç¼³ IP¸¦ »ç¿ëÇÏ´Â PC¿¡¼­ ppTp VPN À» ¿¬°áÇÏ·Á¸é ¹æÈ­º®¿¡¼­ VPN ¼­¹ö ÁÖ¼Ò(tiger ÀÇ °æ¿ì 220.230.5.5)·Î ºÎÅÍÀÇ ip protocol 47(GRE) ¹× tcp source port 1723 ¹øÀ» VPNÀ» ¿¬°áÇÏ´Â PCÀÇ IP ÁÖ¼Ò·Î port forwarding ÇØ ÁÖ¾î¾ß ÇÑ´Ù. (¹æÈ­º®ÀÇ DMZ ±¸°£¿¡ ¿¬°áÇÒ °æ¿ì´Â »ó°ü ¾ø´Ù.)

¹æÈ­º®ÀÌ ¸®´ª½º¶ó¸é ¾Æ·¡ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
(¸®´ª½º¸¦ °øÀ¯±â·Î »ç¿ëÇÏ´Â °æ¿ìµµ °°´Ù.)

¹æÈ­º®ÀÇ ÀÎÅÍ³Ý ÂÊ ÀÎÅÍÆäÀ̽º°¡ eth1, IP ÁÖ¼Ò´Â 222.x.129.9,
¹æÈ­º®ÀÇ ·£ ÂÊ ÀÎÅÍÆäÀ̽º°¡ eth0, IP ÁÖ¼Ò´Â 192.168.1.1
VPN À» ¿¬°áÇÏ´Â ¸®´ª½º ¼­¹öÀÇ IP ÁÖ¼Ò°¡ 192.168.1.7 À̶ó¸é

  1. iptables -t nat -I POSTROUTING -o eth1 -j SNAT --to 222.x.129.9
    (¶Ç´Â iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE)

  2. iptables -t nat -I PREROUTING -i eth1 -p 47 -d 222.x.129.9 -j DNAT --to 192.168.1.7

  3. iptables -t nat -I PREROUTING -i eth1 -p tcp --sport 1723 -d 222.x.129.9 -j DNAT --to 192.168.1.7
 
[Âü°í 3]
½ÇÁ¦ Àû¿ë ¿¹
[¸®´ª½º client ÀÇ È¯°æ]

°øÀ¯±â¿¡ ADSL/VDSL/ÄÉÀÌºí ¸ðµ©ÀÌ ¿¬°áµÇ¾î ÀÖ°í °øÀ¯±âÀÇ ·ÎÄ® ÁÖ¼Ò´Â 192.168.0.1, ¸®´ª½º ¼­¹öÀÇ ÁÖ¼Ò°¡ 192.168.0.111, ¸®´ª½º ù¹ø° ·£Ä«µå(eth0)°¡ °øÀ¯±â¿¡ ¿¬°áµÅ¾î ÀÖ´Ù.(¾Æ·¡ ±×¸² ÂüÁ¶)

  1. [Redhat]

    1. /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.111
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    

    2. /etc/sysctl.conf ÆÄÀÏ

    net.ipv4.ip_forward = 1

    *. ¸®´ª½º client ¸¦ route ·Î °â¿ëÇÒ °æ¿ì¿¡ ÇÊ¿äÇÏ´Ù.

    3. À§ÀÇ ¼³¸í´ë·Î ¸®´ª½º·¦ ppTp VPN client ÇÁ·Î±×·¥ ¼³Ä¡ ÈÄ /etc/ppp/pptpc ¸í·ÉÀ» ½ÇÇà(¶Ç´Â ¸®ºÎÆÃ)Çؼ­ VPN ¿¬°á

    4. VPN ¿¬°á ÈÄÀÇ ¶ó¿ìÆà Å×ÀÌºí ¹× ÀÎÅÍÆäÀ̽º ÁÖ¼Ò´Â ¾Æ·¡¿Í °°´Ù.

    [root@linuxlab] netstat -nr
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    220.230.5.3     0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
    192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
    0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
    

    ¸®´ª½º ³×Æ®¿öÅ·À» ¾Æ´Â »ç¶÷µéÀº ¿Ö ¸¶Áö¸· ÁÙÀÇ µðÆúÆ® °ÔÀÌÆ®¿þÀÌ°¡ ppp0 °¡ ¾Æ´Ï°í eth0 ÀÎÁö ÀǾÆÇØ ÇÒ°ÍÀÌ´Ù. ÀÌ´Â ¿ÜºÎ¿¡¼­ ¸®´ª½ºÀÇ VPN IP ·Î ¿¬°áÀº °¡´ÉÇÏ°ÔÇÏ°í ¸®´ª½º¿¡¼­ ´Ù¸¥ ÀÎÅÍ³Ý »çÀÌÆ®¸¦ ¿¬°áÇÒ ¶§´Â ADSL/ÄÉÀÌºí ¸ðµ© IP ÁÖ¼Ò·Î ³ª°¡µµ·Ï policy routing ±â¹ýÀ» »ç¿ëÇϱ⠶§¹®ÀÌ´Ù.

    [root@linuxlab] ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:11:D8:52:0F:D4
              inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
    
    ppp0      Link encap:Point-to-Point Protocol
              inet addr:59.150.255.xxx  P-t-P:220.230.5.3  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
    
    
              *. È­¸é Ãâ·Â Áß ºÒÇÊ¿äÇÑ ºÎºÐÀº »ý·«Çß´Ù..
    

  2. [Debian]

    Debian »ç¿ëÀÚ¶ó¸é ¼³¸íÀÌ ÇÊ¿ä ¾øÀ» °Í °°´Ù.

  3. ±âŸ

    À§¿Í °°ÀÌ ±¸¼ºÇÏ·Á¸é °øÀ¯±â¿¡ VPN(ppTp) Pass Through ±â´ÉÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×¸®°í °øÀ¯±â°¡ Multi-Session(multi port) À» Áö¿øÇÑ´Ù¸é °øÀ¯±â¿¡ ¿¬°áµÈ ´Ù¸¥ PC(192.168.0.2~3) ¿¡¼­µµ µ¿½Ã¿¡ VPN ¿¬°áÀÌ °¡´ÉÇÏ´Ù. À§ÀÇ °æ¿ì¿¡´Â °øÀ¯±âÀÇ ·£ Æ÷Æ®¿¡ ¿¬°áµÈ PC ¿¡ IP ÀÚµ¿ ºÎ¿©(DHCP)¸¦ »ç¿ëÇصµ µÈ´Ù.

    °øÀ¯±â¿¡ VPN Pass Through ±â´ÉÀÌ ¾øÀ¸¸é DMZ ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. °øÀ¯±â¿¡¼­ DMZ ¸¦ ¼³Á¤ÇÏ·Á¸é °øÀ¯±â¿¡ ¿¬°áµÈ ¸ðµç PC(¸®´ª½ºµµ Æ÷ÇÔ)ÀÇ IP¸¦ ¼öµ¿À¸·Î ºÎ¿©ÇØ¾ß ÇÑ´Ù. ±×¸®°í¼­ °øÀ¯±â¿¡¼­ DMZ IP ÁÖ¼Ò¸¦ ¸®´ª½º client ÀÇ IP ÁÖ¼Ò·Î ÁöÁ¤ÇÑ´Ù.(DMZ¸¦ »ç¿ëÇÑ´Ù¸é ÇÑ ´ë¿¡¼­¸¸ VPN ¿¬°áÀÌ °¡´ÉÇÏ´Ù.)

  4. Âü°íÀÚ·á

    ¸®´ª½º·¦ ppTp »çÀÌÆ®
    ppTp ÀÚÁÖ¹Þ´Â Áú¹®
    ¶óÀ̺ê¶ó L4 Switch

[Âü°í 4]
Á¤»óÀûÀÎ ¿¬°áÀÌ ÀÌ·ç¾î Á³À» ¶§ÀÇ client ÂÊ /var/log/debug ÆÄÀÏ ³»¿ë
(¹èÆ÷º»¿¡ µû¶ó¼­´Â syslog, daemon.log ¿¡ ³ª¿Ã ¼öµµ ÀÖ´Ù.)

*. /etc/ppp/options ¿¡ debug ¸¦ ³ÖÀ» °Í.

Oct 10 15:15:40 samba pppd[25626]: using channel 8
Oct 10 15:15:41 samba pppd[25626]: sent [LCP ConfReq id=0x1    ]
Oct 10 15:15:41 samba pppd[25626]: rcvd [LCP ConfReq id=0x1     ]
Oct 10 15:15:41 samba pppd[25626]: sent [LCP ConfAck id=0x1     ]
Oct 10 15:15:41 samba pppd[25626]: rcvd [LCP ConfAck id=0x1    ]
Oct 10 15:15:41 samba pppd[25626]: sent [LCP EchoReq id=0x0 magic=0x4adeccad]
Oct 10 15:15:41 samba pppd[25626]: rcvd [LCP EchoReq id=0x0 magic=0x2dcd9a7b]
Oct 10 15:15:41 samba pppd[25626]: sent [LCP EchoRep id=0x0 magic=0x4adeccad]
Oct 10 15:15:41 samba pppd[25626]: rcvd [CHAP Challenge id=0x1 \
<98672bc235a6dee925c9c372ef5d073ec561a384>, name = "libra"]
Oct 10 15:15:41 samba pppd[25626]: sent [CHAP Response id=0x1 \
<13b202bcab861afd11bd91702c18e701>, name = "admin"]
Oct 10 15:15:41 samba pppd[25626]: rcvd [LCP EchoRep id=0x0 magic=0x2dcd9a7b]
Oct 10 15:15:41 samba pppd[25626]: rcvd [CHAP Success id=0x1 "Welcome to libra."]
Oct 10 15:15:41 samba pppd[25626]: sent [IPCP ConfReq id=0x1  ]
Oct 10 15:15:41 samba pppd[25626]: rcvd [IPCP ConfReq id=0x1  ]
Oct 10 15:15:41 samba pppd[25626]: sent [IPCP ConfAck id=0x1  ]
Oct 10 15:15:42 samba pppd[25626]: rcvd [IPCP ConfNak id=0x1 ]
Oct 10 15:15:42 samba pppd[25626]: sent [IPCP ConfReq id=0x2  ]
Oct 10 15:15:42 samba pppd[25626]: rcvd [IPCP ConfAck id=0x2  ]
Oct 10 15:15:42 samba pppd[25626]: Script /etc/ppp/ip-up started (pid 25630)
Oct 10 15:15:42 samba pppd[25626]: Script /etc/ppp/ip-up finished (pid 25630), status = 0x0

*. ¸¶Áö¸· ÁÙÀÇ "status = 0x0" ¿¡¼­ 0x0 ´ë½Å ´Ù¸¥ Äڵ尡 ³ª¿À¸é debug ÆÄÀÏ ³»¿ë°ú »ç¿ë ¹èÆ÷º», Ä¿³Î ¹öÀü(uname -a), pptp ¹öÀü(pptp ¸í·ÉÀ» ÁØ´Ù.), pppd ¹öÀü µîÀ» ¸ÞÀÏ(À§ÀÇ ¸ÞÀÏ ÁÖ¼Ò¿¡¼­ _nospam À» Á¦°Å)·Î º¸³» ÁֽʽÿÀ.
ÀÌ ¿¡·¯°¡ ¶ß¸é VPN À» ¿¬°áÇصµ ¿ÜºÎ¿¡¼­ VPN À¸·Î ¹ÞÀº IP·Î Á¢¼ÓÀÌ ¾ÈµÈ´Ù.

L4, QOS, Firewall, VPN ±â´ÉÀ» ¸ðµÎ °®Ãá ±¹³» À¯ÀÏÀÇ L4 Switch Libra

LinuxLab          http://www.linuxlab.co.kr