linux vpn (pptp)¦w¸Ë¤Î³]©w


§@ªÌ:csc@ocean-pioneer.com
§ó·s®É¶¡:2003/08/06
³Ì«á§ó·s¤é´Á:2006/6/17
°Ñ¦Òºô¯¸:
www.poptop.org
pptpclient.sourceforge.net/howto-redhat-90-build.phtml

pptpclient.sourceforge.net/howto-fedora-core-3.phtml


¥Ø«e¤£¦PªºVPNªº¸Ñ¨M¤è®×¤¤,¦³ ³nÅé¤]¦³µwÅé,¦ý¬O¬°¤F ªï¦X¤@¯ë®a¥Î¨Ï¥ÎªÌ¹q¸£©Ò¨Ï¥Îªº§@·~¨t²Î(¤@¯ë³£¬Owindows¨t¦Cªº),¦]¦¹PPTP¨ó©w±N·|¬O³Ì¦nªº¿ï¾Ü,¦]¬°windows¤º«Ø¦³pptp¨ó©wªº vpn.¦blinux¦³¤@­Ó§K¶Oªºsever³nÅé (www.poptop.org)©Î¬Oclient(pptpclient.sourceforge.net)ªº®M¥ó,¬Ù¤F¤@¨Ç³Â·Ð:
#
§Ú¤v¸g¦¨¥\ªº¨Ï¥Î98¼·±µ¨Ó¼·¤J¤½¥qºô¸ô,Àô¹Ò¦P¤½¥qºô¸ôªÚ¾F
#
¤w¸g¦¨¥\ªºÀ°¤@®a¤½¥q³]©w¦n¤F(2003/08/05)
#
¥Ø«e§Ú¨Ï¥Î¤£¦Pªººô¬q
192.168.0.0(
¥D¤½¥q),192.168.1.0(A¤½¥q),192.168.2.0(B¤½¥q),192.168.4.0(C¤½¥q)
¥Ñ¥D¤½¥q¬°client³s½u¨ìA,B,C¤T®a¤½¥q,¦b§Ú¥D¤½¥qªº°Ïºô¥i¥Hª½±µ³s½u¨ì³o¤T®a¤½¥qªº¥ô¦ó¹q¸£,¨ä¤¤ªº­Ó¤H¹q¸£¤W¸Ë¦³vnc³nÅé,«K¥i¥Hª½±µ·n ±±¸Ó¤½¥q¤º³¡ªº¹q¸£¤F
#2004/12/17³Ìªñ­«·s¦w¸Ëredhat Fedora Core III,¤ñ¥H«e²³æ¦h¤F¦ý¨BÆJ¦³ÂI¤£¦P,¦³«Ü¦nªº°Ñ¦Òºô¯¸:http://pptpclient.sourceforge.net/howto-fedora-core-3.phtml
§A¥i¥H³w¦æ°Ñ¦Ò¸Ó¤å¥ó¦w¸Ë,¦ý§ÚÁÙ»¡©ú¤@¤Uªþ¦b¥»¤å³Ì«á¤@¬q

#2006/1³Ìªñ®aùظËcable ¼eÀW,¨Ï¥Îxp¥i¥H³s¤J¤½¥qªº°Ïºô¤º
#2006/2/15§ó·sfc3ªºpptp
#2006/06/17¥Ø«e¤j³¡¥÷ªºvpn§Ú¤v¸g§ï¥Îopenswan(¦Ò¼{¦w¥þ©Ê),¦ý¤´¦³¤@¨Ç¨t²Î,¦]¦¹¤´¦³³¡¤À¨Ï¥Îpptp,¨Ã¥[¤J¤@¨ÇÂ_½uÀˬdªºshell script


SERVERºÝ ¦w¸Ë

­º¥ý§Ú­Ì¥²¶·­n¦w¸Ë¤U­±¤TºØ®M¥ó:

  1. ®Ö¤ß¨t²Îªºmppe(·L³nªº½s½X¨ó©w)¼Ò²Õ(2.6.15 ¤£¥Î¸Ë)

  2. ppp(¼·±µpoint to point protocol)¤ä´©mppe

  3. pptpd(point to point tunnel protocol)¦øªA¾¹
    §Ú¤w¸g´ú¸Õ¹Lredaht9.0¤ÎFecora core 1
    ½Ð¿ï¾Ü¤U­z¤@ºØ¤è¦¡¦w¸Ë(¥Hredhat9.0¬°¨Ò)


    ¥Ñrpm¦w¸Ë

    ¤U¸üÀÉ®×

    1. ¥ý¬d¸ß§Aªºkernelªºª©¥»,§A¥i¥H¦bconsoleµn¤Jªºµe­±¬Ý¨ì,¤]¥i¥H¨Ï¥Îuname -a ¨Ó¬d¸ß,§Úªº¬O2.4.20-8(i686),¦]¦¹¤U¸ühttp://pptpclient.sourceforge.net/howto-redhat-90.phtml,kernel-mppe-2.4.20-8.i686.rpm ¦pªG§ä¤£¨ì§A¦p¨Ï¥Îª©¥»,½Ð¨Ï¥Î¤U¤@¸`¥Ñ²Ä¤G¶µ¥Ø¦w¸Ë (FC1¥i¯à¥²¶·¦Û¤v½sĶ)

    2. ¤U¸üppp¤Îpptpd³nÅé,
      http://sourceforge.net/project/showfiles.php?group_id=44827

      ¦w¸Ë
      rpm -Uvh kernel-mppe-2.4.20-8.i686.rpm
      rpm -Uvh ppp-2.4.2.xxxxx
      rpm -Uvh pptpd-2.4.2xxxx


    ¥Ñrpm¦w¸Ë(®Ö¤ß ¼Ò²Õ¨Ï¥Î mppe­ì©l½X½sĶ)

    1. ¦w¸Ë(RedHat9.0)®M¥ó:
      ¥H¤U¬O­ì9.0¥²¶·¤w¦w¸Ëªº®M¥ó,¦pªG¨S¦³ªº¸Ü½Ð¦w¸Ë
      gcc-3.2.2-5.i386.rpm
      kernel-source-2.4.20-8.i386.rpm(
      ³o­Ó®M¥óª©¥»©M§Aªº®Ö¤ß¥²»Ý¬Û¦P)
      rpm-build-4.2-0.69.i386.rpm
      rpm-devel-4.2-0.69.i386.rpm

    2. ¤U¸ü¤Î½skernelmod³nÅé-³o­Ó³nÅé§@·~¨t²Î®Ö¤ßªºmppe¼Ò²Õªº­ì©lµ{¦¡
        
      ½Ð¦Üwww.poptop.org¤U¸ükernelmod-0.7.1.tar.gz
         tar xvfz kernelmod-0.7.1.tar.gz
         cd kernelmod
         ./kernelmod.sh
        
      ¦pªG§A­n¦b§O¥xlinux redhat¤]¥i¥H°õ¦æªº¸Ü,³o­Ó©R¥O°õ¦æªº³Ì«á·|°Ý§A¬O§_­n«Ø¥ßrpmÀÉ,¦pªG­nªº¸Ü¿ïY
      ¤W­z©R¥O¤§«á´N¸Ë¦n¤F

    3. ¤U¸üppp¤Îpptpd
      http://sourceforge.net/project/showfiles.php?group_id=44827

      ¦w¸Ë
      rpm -Uvh kernel-mppe-2.x.xx-8.i686.rpm
      rpm -Uvh ppp-2.4.2.xxxxx
      rpm -Uvh pptpd-2.4.2xxx

³]©wServerÀô ¹ÒÀÉ(³]©w1.·sª©¤w¸g¤£¥Î¤F)

  1. /etc/modules.conf
    ³o¬O¸ü¤Jªº¼Ò²Õ,¦w¸Ë®É·|À°§A­×§ï¤@¯ë§A¤£»ÝÅܰÊ(¦n¹³¦³¤@¨Ç¬O¤£ »Ý­nªº)

    alias eth0 via-rhine
    alias eth1 3c59x
    alias usb-controller usb-uhci
    alias char-major-10-200 tun
    #-----------------------------#
    alias char-major-108 ppp_generic
    alias ppp-compress-18 ppp_mppe
    alias ppp-compress-21 off
    alias ppp-compress-24 ppp_deflate
    alias ppp-compress-26 ppp_deflate
    alias tty-ldisc-3 ppp_async
    alias tty-ldisc-14 ppp_synctty

    ¤U¥b¬q³¡¥÷¬O¦w¸Ë¼Ò²Õ«á¦Û°ÊÀ°§A¥[ªº,¦Ü
    ©óppp-compress-21­ì«á­±±µ bsd_comp ,
    ¦]¬°·|²£¥Í¿ù»~°T®§,¦]¦¹§ï¬° off
    §A¥i¥H¨Ï¥Î¼Ò²Õ¬ÛÃö©R¥O,¨Ó¶i¦æ´ú¸Õ
    depmod -a           (
    ÀË ¬d¼Ò²Õªº¬Û¨Ì©Ê)
    modprobe  ppp-compress-18 (
    ´ú¸Õ¸Ó¼Ò²Õ)




    depmod -a
    modprobe  ppp-compress-18
    ¦pªG°õ¦æ·|²£¥Í°T®§,«h¥Nªí¦³°ÝÃD,¥¿±`¬O¨S¦³¥ô¦ó°T®§,¦pªG¦³°Ý ÃD«ØÄ³ª½±µ¥Ñ­ì©lmmpeªºµ{¦¡½X¦b§Aªº¨t²Î¤W½sĶ«á­«·s¦w¸Ë

  2. /etc/pptpd.conf
    °õ¦æman pptpd.conf ¬d¬Ý¨ä³]©wÀÉ¥i¥Îªº°Ñ¼Æ
    ½d¨Ò:

    debug
    option /etc/ppp/options.pptpd

    localip 192.168.0.150-160
    remoteip 192.168.0.161-170

    ¶}±Ò°£¿ù
    ³]©wppttpªº¨ä¥¦³]©w

    §Ú­Ì¥D¾÷ªºip¥i¥H¬O¤@­Óip,¤]¥i¥H¬O¦h­Óip,©Î¬O¤@­Ó°Ï¶¡,¸Ô½Ð°Ñ·Ó«á­±
    ³s½u¶i¨Óªºip

  3. /etc/ppp/options.pptpd
    ½d¨Ò:

    lock

    debug
    dump

    require-mschap-v2
    require-mppe
    require-mppe-128

    proxyarp
    nobsdcomp



    ¶}±Ò°£¿ù¤@¯ë¬O¨Ï¥Îdebug,¦ý¬Odump·|¤ñ¸û¸Ô²Ó¤@ÂI,°£¿ù¸ê°T©ñ¦b/var/log/messages

    ±Ò°Êmschap-v2»{ÃÒ
    ±Ò°Ê¼Æ¾Ú½s½X
    ±Ò°Ê¼Æ¾Ú½s½X128¦ì¤¸

    ±Ò°Êarp¥N²z
    Ãö³¬bsd_comp,¸Ó¼Ò²Õ¤w¸g²¾¥X®Ö¤ßµ{¦¡(¦n¹³¬Oª©Åv°ÝÃD),©Ò¥H§A¨S¦³³o ¼Ò²Õ

  4. /etc/ppp/chap-secrets
    ¨Ï¥ÎªÌ³]©wÀÉ,§A¤]¥i¥Hª½±µ­×§ï©Î¬O¨Ï¥Îvpnuser«ü ¥O¨Ó·s¼W©Î­×§ï¨Ï¥ÎªÌ(³o­ÓÀɮפ£¦Pªºµ{¦¡¥i¯à·|¦³¤£¦Pªºµ²ªG,¦pªG³s½u¥X²{§ä¤£¨ì±K½X,¥i¯à¬O³o­ÓÀɮצ³°ÝÃD,¦³®É¥²¶·¥[¤J"",¦p*Åܦ¨"*"

    client       server       secret        ip address
    domain\\abc     *         abcd123        *
    ccc             *         cc345          *

    ª`·N:
    ¨Ï¥ÎªÌ(client)¬O¦³¨âºØ±¡ªp

    1.¬O³æ¿W¨Ï¥ÎªÌ ªº¦WºÙ
    2.
    ¥]§tºô°ì¤Î¨Ï¥ÎªÌ¦WºÙ-ºô°ì\\¨Ï¥ÎªÌ
    ¸g¹L98ªº´ú¸Õ,¨Ï¥ÎªÌÅçÃÒ¬O¨Ï¥Î¤W­zªº1,©Î¬O2­n¬Ý§A¬O§_¦³¦b ºô¸ô¤ºªºclient for microsoft networks¬O§_¦³³]©wµn¤Jºô°ì,¦pªG¦³«hÅçÃÒ¬O ¨Ï¥Î2,§_ «h¬O¨Ï¥Î1
    ³o¬O/var/log/messages¤ºÅçÃÒ¿ù»~ªº°T®§
    No CHAP secret found for authenticating nt\\abc
    §A¥i¥H®Ú¾Ú¤W­z¤F¸Ñ§A¹q¸£¬O°e¥X"¨Ï¥ÎªÌ"©Î¬O"ºô°ì\\¨Ï¥ÎªÌ"¨ÓÅçÃÒºô°ì©Î¬O¸s²Õ

    ¹q¸£ªººô°ì©Î¬O¸s²Õ,©M¼·±µºô¸ôªºµn¤Jºô°ì¬O¥i¥H¤£¬Û¦Pªº,¨S¦³µ´¹ïªºÃö«Y, ¤£­n§Ë²V ¤F,¦A¨Ó´N¬O¸Ó³]©wÀÉchap-sercetsªº®æ¦¡¨Ï¥Îvpnuser©Î¬Owebmin¨Ó§ï¥i¯à³£¦³»~,¦]¦¹¥ô¦ó³s½u®É¥X²{³s½u¨Ï¥ÎªÌ/±K½X¦³°ÝÃD®É½Ð¤â°Ê­×§ï³o­ÓÀÉ®×



³]©w/etc/pptpd.conf
¨ä¥i³]©wªº¿ï¶µ¦p¤U:

¶µ¥Ø

»¡©ú

©R¥O¦C¬Û¹ï©R¥O

speed  speed

«ü©w³t«×(bytes per second)¨Ó³q¹LPPP daemon·í§@¤¶­±ªº³t«×µ¹ tty/pty ¹ï.³o¥i¯à³Q¬Y¨ÇPPP daemons©Ò©¿²¤.¤º©w­È¬O115200 bytes per second,¦b¤@¨ÇÀ³¥Î¤Wµ¥¦P©ó¨S¦³­­¨î.

-s
--speed

option option-file

«ü©woptionÀÉ ®×©Ò¦bªº¦ì¸m¤º©w/etc/ppp/options

-o
--option

stimeout seconds

Poptop ¦³¤@¨Ç¤º«ØªºDOS«OÅ@.¨ä¤¤¤@­Ó«OÅ@ ¬O¨ú±o®p­È,¦b²Ä¤@­Ó«Ê¥]³s½u©M°õ¦æ¤@¨ÇÀˬd¦b¥¦©MPoptop «ù«ùÄò³s½u¤§«e.stimeoutªº¿ï¶µ¬O©w¸q Poptop·| Åý¸Ó«Ê¥]«O¯d¦h¤[.¥¿±`10¬í¬O¦X²z.

-s
--speed

debug

±Ò°Ê°£¿ù¼Ò¦¡,¶Ç°e°£¿ùªº°T ®§¨ì¨t²Îªºlog(/var/log/messages)

-d
--debug

bcrelay internal-interface

±Ò°Ê¼s¼½Âà°e¼Ò¦¡,¶Ç°e©Ò¦³¼s¼½¦b¦øªA¾¹¦¬¨ìªº¤º³¡¤¶­±¨ìclientsºÝ.

-b --bcrelay

localip  ip-specification

«ü©w¤@­Ó©Î¦h­ÓIP addresses µ¹¨Ï¥Îªº¥»¦aºÝªºtunnelled PPP ¨Ó³sµ²¦bserver©Mclient¤§¶¡. ¦pªG¥u¦³¤@­Óaddress, ³o­Ó¦ì§}±N³Q¨Ï¬°¬°©Ò¦³ªºclientsºÝ. §_«h·|µ¹¨C¤@­Óclient¤@ ­Ó¦ì§},¦Ó¥B¦pªG¨S¦³µ¹¦h¾lªº¦ì§},¤Î¥ô¦ó·sªº³s½u±N·|³Q©Úµ´.


remoteip ip-specification

«ü©w»·ºÝ¦ì¸mªºP addresses³Q¨Ï¥Î¦b³q¹Dªº³sµ²PPP server¨ì client¤§¶¡. ¨C¤@­Óclient¦Ü¤Ö­n¦³¤@­ÓIP¤~¥i¥H¼ÒÀÀ ³s½u,¨Ã¥B³Ì¦n«O¯d¤@¨Ç³Æ¥÷ªº¦ì§}.¦pªGIP¦ì§}¤w¸g¶W ¹L¤F·|¦b¨t²ÎªºlogÀɲ£¥Í¤@­Óĵ§i°T®§.


listen ip-address

«ü©w¥»©w¤¶­±ªº IP address Åýµ{¦¡¥uºÊÅ¥³o­ÓIP.

-l --listen

pidfile pid-file

«ü©wÀɮצWºÙ¨ÓÀx¦s¦æµ{PID ¸¹½X.

-p --pidfile

ª`·N:
localip
©Mremoteip ªº³]©w


½d¨Ò

»¡©ú

¼Æ­ÓIP

192.168.0.2,192.168.0.3

¥H","¤À ¶}

ºô¸ô½d³ò

192.168.0.1-254

¥H"-"¥N ªí¬Y¤@½d³ò

¦X¨Ö³æ¤@ip¤Î ¤lºô

192.168.0.2,192.168.0.5-8



±Ò°Ê
©Ò¦³³£³]©w¦n¤F¥i¥H±Ò°Êpptpd
service pptpd start
©Ò¦³ªº±Ò°Ê°O¿ý¦¨¥\¤Î¿ù»~°T®§¥i¥H¦b/var/log/messages¬Ý¨ì(ª`·N¤@¨Ç­«­nªº ¿ù»~­n¦b³s½u®É¤~·|²£¥Í)


ClientºÝ ªº¦w¸Ë

ClientºÝ(linux)¦w ¸Ë
¦PserverºÝ,¦ý¥u¤@­Ó®M¥ó¤£ ¦P(«e ­±¨BÆJ¦PserverºÝ ªº¦w¸Ë),¶µ ¥Ø3¤£ ¦P
§Ú­Ì¥²¶·­n¦w¸Ë¤U­±¤TºØ®M¥ó:
1.
®Ö¤ß¨t²Îªºmppe(·L³nªº½s½X¨ó©w)¼Ò²Õ
2.ppp(
¼·±µpoint to point protocol)¤ä´©mppe(­ì©lªºpppd¨Ã¨S¦³¤ä´©mppe,¦]¦¹­n¦w¸Ë¤ä´©mppe,Fedoar core 2¤w¸g¤º«Ø¤F)
3.pptp(client
¥D­nµ{¦¡)
 
¤U¸üpptp
  rpm -ivh pptp-xxxxxxx.rpm

³]©w¼·±µªº¥þ°ì¥\¯àªº³]©wÀÉ(¹w³])(¦pªG§A¤£·Q³]¥i¥H«O«ùªÅ¥Õ,µM«á¦b¼·±µÀɤ¤ ³]©w)
/etc/ppp/options.pptp
¨ä¥\¯à³]©wÃþ¦üpptpd
µM«á³]©w¥D­nªº³s½uÀÉ
/etc/ppp/peers/
¦Û©wÀɮצWºÙ
²³æ½d¨Ò:

¤º®e

»¡©ú

# Server IP: a.b.c.d

¦b³oùØ¥H#¨Ã¤£¤@©w¬O
# Server IP:
¬O³]©w­n³s½uªºip©Î¬O¦WºÙ

name abc

µn¤Jªº¦WºÙ(±K½Xªº³]©w¦b/etc/ppp/chap- secrets)

file  /etc/ppp/optins.pptp

¨ä¥¦¥þ°ìªº³]©wÀÉ

require-mppe

³o¬O¤@©w­nªº¤ä´©½s½X

require-mppe-128

¤ä´©128bitªº ½s½X

# Route: add -net 192.168.2.0 dev TUNNEL_DEV netmask
  255.255.255.0

¤£¬Oµù¸Ñ³o¬O³]©wµn¤J®Éroute addªº°Ê§@


³]©w§Ú³s½uÀÉ,¥Ø«e§Ú¥u·|¨âºØ³s½u¤èªk¨Ï¥Î
1.pptp-command: 1-start        ¤w¸g¨S¦³³o­Ó©R¥O¤F,¦pªG§A­n¨Ï¥Î¥i¥H±Nª©ªºcp /usr/sbin¥¦¬O¤@­Óshell script
2.webmin (
³]©w¤è­±¤£¿ù,¦ý¬O¨Ï¥ÎªÌ³]©w¦³°ÝÃD)

Server
¦³vpnuserªºµ{¦¡,¦ý¬Opptp-linux¨Ã¨S¦³,¦ý¬O©Òªþªºµ{¦¡pptp-command
pptp-command
¥]§t¤F©Ò¦³¬ÛÃöªº³]©w,¨Ï¥ÎªÌ,¼·¸¹Àɵ¥
1.) start (
¶}©l³s½u)
2.) stop  (
°±¤î³s½u)
3.) setup (
³]©w)
4.) quit
§A­n³]©w´N¶i¤J3.) setup
§Ö³t¶i¤J
pptp-command start
pptp-command stop
pptp-command setup


client
ºÝ(windows)¦w¸Ë
windows95,98,98se
»¡­n§ó·s,Åý¨ä¥i¥H±µ¨ü128¦ì¤¸ªº½s½X,¤p¤ß¤£­n»\¹L¤¤¤å»y¨¥(¦pªG¦w¸Ë¹Lµ{¶]¥X»y¨t¤£¦P«h«O ¯d¸ÓÀÉ®×),¦pªG­n¸Ô ²Ó¸ê®Æ,½Ð¬Ý¤U­±,¨Ã¦Ü¦¹¤U¸ü
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q285189
¦w¸Ë§¹²¦«á¨ì§Úªº¹q¸£->±±¨î¥x->·s¼W²¾°£³nÅé->windows¦w¸Ëµ{¦¡->³q°T->µêÀÀ¨p¤Hºô¸ô,¥´¤Ä,½T©w,¦w¸Ë §¹²¦ «á,¨ì¼·±µºô¸ô·s¼W¤@­Ó³s½u,¸Ë¸m¿ï¾ÜMicrosoft VPN Adaptor,¿é¤J§A¬ÛÃöªº³]©w
­è¶}©l¨Ï¥Î,¦]¬°¨Ï¥Î¼·±µ©Ò¥H¥ý°õ¦æ¼·±µªº³s½u,µM«á¦b°õ¦ævpn³s½u
adsl
©T±µ,¦P¤W,¸Õ¹L¥i¥H
adsl
¼·±µÀ³¸Ó¤]¬O®t¤£¦h§a.................


´ú¸Õ
¦b¦w¸Ë¦n¤Fpptpd¤§«á(Fedora Core 1)
win98(vpn client)->linux(nat)->internet ->linux(vpn server)
1.
§Ú¨Ï¥Îwin98 seª©(­× ¥¿¹L¤ä´©128bit ½s½X)¥» ¨Ó³s½u´ú¸Õ(¦P ¤@°Ï°ìºô¤º)
 
¦ý¬O¦bserverºÝ ²£¥Í¤Ó¦h°ÝÃD,¤Ó ¦h¤£¦Pªº¿ù»~°T®§,³y ¦¨¤Ó¦hªº»~¸Ñ,¤Î ®É¶¡ªº®ö¶O(¿ù»~°T®§©M¯u¥¿ªº³s½u­ì¦]¤£¦P)
2.
¦]¬°¥H«e¦³¸Ë¹Lredhat 9.0,¨Ï¥Îwin98 se ³s½u¥¿±`(¦P¤@°ìºô¤º)
3.
¨Ï¥Îwin xp¨Ó³s½u¤]¬O¤@¼Ë·|¦³¿ù»~...(¦P¤@°ìºô¤º)

¨Ï¥Îlinux¨Ó ´ú¸Õ
linunx(vpn_server)->internet->linux(vpn_server)
1.Fedora core 1 -> RedHat 9.0 
¦¨¥\
2.RedHat 9.0 -> Fecora Core 1 
¦¨¥\

¬°¤F±o¨ì§ó²M·¡ªº°O¿ý
¦bserverºÝ ªº/etc/ppp/options
¥[¤Jlogfile /var/log/pppd
À˵ø¤º®e(sentªº ³¡¥÷°T®§¦³¤Q´X¦¸§Ú±N¨ä²¤Æ¬°¥|¦¸)

using channel 76
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x1fd49f47> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x1fd49f47> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x1fd49f47> <pcomp> <accomp>]
LCP: timeout sending Config-Requests
Connection terminated.

µM«á§Ú¦A¤ñ¹ï¥¿±`³s½u(sent©Mrcvd³¡¥÷°T®§ ­«½Æ¤­¤»¦¸§Ú²¤Æ¦U¤@¦¸)
sent [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>]rcvd [CCP ConfReq id=0x1 <mppe +H -M +S +L -D -C>]
rcvd [CCP ConfReq id=0x2 <mppe +H -M +S -L -D -C>]sent [CCP ConfAck id=0x2 <mppe +H -M +S -L -D -C>]

¸g¤ñ¹ï§Ú²q·Q³o¬O¨¾¤õÀðªºÃö«Y,¦]¬°¤£¥¿±`ªº³s ½u°O¿ýÀÉÅã¥Üserver¶Ç °e¥X¸ê®Æ,¦ý ¨Ã¨S¦³¦¬¨ì¨Ó¦Ûclientªº ¦^À³,¦] ¦¹§Ú¥²¶·¥ý½T©wpptpd¨ì ©³¬O¨Ï¥Î¨º´X­Ó³s±µ°ð:

¤@¯ë³£¥H¬°¥u¦³tcp/1723,¸g§Ú´M§äµ²ªGgre(47 General Routing Encapsulation"«Ê¥])¤]¬O¥²­nªº,gre¤£¬O¤@¯ëªºtcp/udpªºport,¨ä¹ê³q«H¨ó©w¤j·§¦³¤G¡B¤T¤QºØªº¨ó©w,¥]§t¤Ftcp¡B udp¡Bicmp....
²{¦b§ä¨ì°ÝÃD¦A¨Ó´N¬O­n½T©wiptableªº³]©w
1.
iptables -t nat -A POSTROUTING -p gre -s {$client_net}/mask -j MASQUERADE
¦Û°Êªº°°¸Ë,µLªk³s½u¦¨¥\
2.
iptables -t nat -A PREROUTING -p gre -d {$fire_wall} -j DNAT --to-destination {$client}
±N©Ò¦³°e©¹¥»fire_wallªºgre¨ó©w©¹win98ºÝ°e µ²ªG¦¨¥\¥t¤@­Ó¬O¥~³sªºvpn(nat)¤] ¥²¶·­n³]©w
iptables -t nat -A POSTROUTING -p tcp -s {$client_net}/mask -j MASQUERADE
¥Ø«e¦b·Q§ó¦nªº³]©w¦]¬°{$client}ªºip¬O©T©w,¦bºô¸ô¤W´M(gre iptables)¤]¥¼§ä¨ì¦nªº¸Ñ¨M¤è®×,³o¤]´N¬O»¡,§AµLªk¥ô·N¨Ï¥Î°Ïºô¨Ó³s¨Ó³s¥t¤@­Ó°Ïºô(³o¤]´N¬Oip¤À¨É¾¹ªº¤]¥i ¯àµLªk¨Ï¥Î,¦] ¥¼´ú¸Õ¤£´±Â_¨¥)

ª`·N:
³o¬O³æ¦Vªº¦]¬°clientºÝ¤w¸g«ü©wserverºÝªºip¦ý¬O, serverºÝ ¨Ã¤£ª¾¹D§A­ì©lªºip,¦Ó¸ô¥Ñ¤]¨S¦³³]©w,¦]¦¹serverºÝ¨ÃµLªkª½±µ³s¨ì§A³oÃ䪺°Ïºô,°£«D§A¦bserverºÝ¥[¤J
route add -net {$client_net}  dev ppp? netmask 255.255.255.0
GRE:
³o­Ó¨ó©wªºtimeout¬O600¬í(10¤ÀÄÁ),¦pªG³s½u¦³°ÝÃD,¥²¶·µ¥10¤À¤~¥i¥H¦A³s½u


serverºÝ ªººÞ²z¤u¨ã

/usr/bin/confmod.sh
/usr/bin/vpnstats
/usr/bin/vpnstats.pl
/usr/bin/vpnuser
/usr/sbin/bcrelay(broadcast relay)

³o¬O¤@­Óºô¸ô«Ê¥]­«½Æ¾¹(repeater),³Q³]­p¨Ó¬°¤Fudp«Ê¥],±N·|ºÊÅ¥ºô¸ô¼s ¼½ªº«Ê¥],¥Ñ ¶i¨Óªº¤¶­±¦¬¨ì³o­Ó«Ê¥],¦Ó ¥Ñ¥¦¼s¼½¨ì¥X¥hªº¤¶­±
¥Îªk:
/usr/sbin/bcrelay  [options]
[-d] [--daemon]
¥Hdaemon¤è¦¡°õ¦æ
[-h] [--help]
[-i] [--incoming]
©w¸q¨Ó·½ªº¤¶­±
[-o] [--outgoing]
©w¸q¥Øªºªº¤¶­±
[-s] [--ipsec]   
©w¸qipsecªºtunnel¤¶­±,¦]¬°¨ä¨Ó·½¤Î¥Ø ªº¬O¦P¤@­Ó
[-v] [--version] 
Åã¥Üª©¥»
/usr/sbin/pptpctrl

vpnstats
¬O¥Î¨Ó¬d¸ßvpnªº³s½u°O¿ý
§A¥i¥H¦b/etc/vpnstats.conf¤¤ ³]©w
From:-
°e¥ó¤H
To: -
¦¬°e¤J
µM«á°õ¦ævpnstats ,¥¦´N·|¤ÀªR°O¿ýÀɲ£¥Í³ø§i,¨Ã±Hµ¹¦¬¥ó¤H


FC3 ªº¦w¸Ë

fc3¦P¨ä¥¦ªºª©¥»»Ý­n
1.MPPE®Ö¤ß
  dkms- ¥Î¨Ó¸ü¤J°ÊºA®Ö¤ß¼Ò²Õªºµ{¦¡
  kernel_ppp_mppe.dkms-mppeªº®Ö¤ß¼Ò²Õ(¦w¸Ë¹Lµ{¤¤·|À°§A´ú¸Õ®Ö¼Ò²Õ,¦]¦¹¤£»Ý­n¤â°Ê´ú¸Õ)

2.ppp-¥²¶·©Mppp-clientªºª©¥»¬Û°t¦X
3.ppp-client (console¤UclientºÝ¤~»Ý­n)
4.pptpd(serverºÝ¤~»Ý­n)

¤U¸ü»Ý­nªº¦w¸Ë´N¦n¤F

 
1.client§Ö³t°õ¦æ
  ¦b/etc/ppp/peer
  «Ø¥ßÀÉ®×,¤º®eÃþ¦ü¤U­±
  a.b.c.d -­n³s½uªº¥D¾÷
  name   -³s½u¦WºÙ
  192.168.2.0 -·s¼Wªº¸ô¥Ñ

# Server IP: a.b.c.d
name abc
file  /etc/ppp/optins.pptp
require-mppe
require-mppe-128
# Route: add -net 192.168.2.0 dev TUNNEL_DEV netmask
  255.255.255.0  ¦s¦¨¤@­ÓÀɨҦptest
2.±K½X
  ¦b/etc/chap-secrets,¿é¤J±K½X,®Ú¾Ú¨ä®æ¦¡¨Ò
  abc *  secrets *
  ¥»¨Ï¥ÎªÌ¦WºÙ±K½X¦bserver ºÝ¤]­n¦³
3.³s½u
  pptp-command start test
  ¦pªG¨S°ÝÃD´N¦¨¥\
§ó¦hªº¸ê®Æ½Ð°Ñ¦Ò¥»¤å¤§«e

windows xp client ³]©w
  1. °O¦íwins­n³]©w
  2. ºô¸ô¥\¯à->Internet Protocol(TCP/IP)->¤º®e->¶i¶¥->¤@¯ë->¨Ï¥Î»·ºÝºô¸ô¬°¹w³]¹h¹D(¤£­n¥´¤Ä)

Â_½uÀˬd
¦b¤£¥¿±`Â_½u®É,¨t²ÎµLªk­«·s±Ò°Êpptp³s½u¤ÎÅܧóserverºÝªº¸ô¥Ñ,¦]¦¹§Ú¼g¤Fshell script¨ÓÀˬd¨Ã­«±ÒªA°È
§Ú¦³¨â­Óºô¬q
192.168.1.0(server)<->192.168.0.0(client)
°²³]server ºÝip s.s.s.s
clientºÝip c.c.c.c
¥¿±`³s½u
1.clientºÝ³s½u¨ìserverºÝ«á,client¥[¤J192.168.1.0¬qªº¸ô¥Ñ,¦ÓserverºÝ¥[¤J192.168.0.0¸ô¥Ñ
2.clientºÝªº¸ô¥Ñ¬O¦b³]©wÀɤ¤¥i¥[¤J,¦b³s½u¦¨¥ß®É¦Û°Ê¥[¤J
3.serverºÝªº¸ô¥Ñ¬O¥²¶·¤â°Ê¥[¤J
·íÂ_½u®É
1.clientºÝ¨Ï¥Îcrond¨C10¤ÀÄÁÀˬd³s½u±¡ªp,¦pªGÂ_½u,­«±Ò³s½u
2.serverºÝ¨Ï¥Îcrond¨C10¤ÀÄÁÀˬd³s½u±¡ªp,¦pªGÂ_½u,¥[¤J¸ô¥Ñ

¦bserver ºÝ¥[¤J¤@­Óscript(Àˬd¬Y­ÓclientºÝ¬O§_³s¤Wpptpd,¦AÀˬd¸ô¥Ñ¬O§_¦s¦b,¦pªG¤£¦s¦b«h­«·s¥[¤J¸ô¥Ñ)
!/bin/sh
pptp_pid=`ps aux | grep "pptpd \[c.c.c.c" |sed /grep/d |awk '{print $2;}'`
route_pptp=`/sbin/route | grep 192.168.0.0`
if [ -n "$pptp_pid" ] ; then
   if [ -z "$route_pptp" ] ;then
      add_route=`/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 dev ppp0`;
   fi
fi

¦bclientºÝ¥[¦Ë¤J¤@­Óscript(Àˬd¬O§_Â_½u,§_«h­«·s³s½u)
#!/bin/bash
pptp_pid=`ps aux | grep "pptp: call manager for s.s.s.s" |sed /grep/d |awk '{print $2;}'`
if [ -z "$pptp_pid" ];then
   pptp_connect=`/usr/sbin/pptp-command start §Aªº³]©w¦WºÙ`;
fi
#§Aªº³]©w¦WºÙ¬OclientºÝ¦b/etc/ppp/peer¤ºªº³]©w,