°Ô½Ã¹° 1,369°Ç
   
Openvpn Howto
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2009-12-01 (È­) 10:45 Á¶È¸ : 16031
±ÛÁÖ¼Ò :
                                
Doc : http://openvpn.net/howto.html
 
 
1. OpenVPN °³¿ä

- ÇϳªÀÇ udp ¶Ç´Â tcp Æ÷Æ®¸¦ ÅëÇØ ip subnetÀ̳ª °¡»óÀÇ ÀÌ´õ³ÝÀ» Åͳθµ ÇÒ¼ö ÀÖ´Ù.
- ¾ÈÀüÇÑ VPNÀ» À§ÇØ opensslÀÌ Áö¿øÇÏ´Â ¸¹Àº ¾Ïȣȭ, ÀÎÁõ ±â´ÉÀ» ÀÌ¿ëÇÒ¼ö ÀÖ´Ù. ¶ÇÇÑ ¹Ì¸® ÁöÁ¤µÈ °øÀ¯Å°(pre-shared static key)¸¦ ÀÌ¿ëÇϰųª ¾ÆÀ̵ð/¾ÏÈ£¸¦ ÀÌ¿ëÇÑ ÀÎÁõ ±â´Éµµ Áö¿øÇÑ´Ù.
- ÀÎÁõÀÌ Ãë¾àÇϰųª NAT¿¡¼­ ±¸ÇöÀÌ ¾î·Æ°í º¹ÀâÇÑ PPTP³ª L2TP/IPSec¿¡ ºñÇØ OpenVPNÀº µ¥¸ó ÇüÅ·ΠÀÛµ¿Çϱ⠶§¹®¿¡ º¹ÀâÇÑ Ä¿³Î ÆÐÄ¡³ª Ä¿³Î ¸ðµâÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ¸¸ç ¼³Ä¡ ¹æ¹ýÀÌ ¸Å¿ì ½±´Ù.
- ¸®´ª½º »Ó¸¸ ¾Æ´Ï¶ó Solaris, FReeBSD, MacOS X, Windows 2000/XP µî ¿©·¯ OS¿¡¼­ ÀÌ¿ëÇÒ¼ö ÀÖ´Ù.
- ¸ðµç ÆÐŶÀÌ VPNÀ» Åë°úÇÔ¿¡µµ ºÒ±¸ÇÏ°í ½Ã½ºÅÛ¿¡ ºÎÇϸ¦ À¯¹ßÇÏÁö ¾ÊÀ¸¸é¼­ ¼Óµµ°¡ ¸Å¿ì ºü¸£´Ù.
- ºê¸®ÁöÇü, NATÇü µî ¿©·¯ ÇüŸ¦ Áö¿øÇÏ¸ç ¿øÇÏ´Â ¸¸Å­ ¿©·¯°³ÀÇ ÅͳÎÀ» »ý¼ºÇÒ¼ö ÀÖ´Ù.
- ¸µÅ©ÀÇ ´ë¿ªÆøÀ» Á¦¾îÇϱâ À§ÇØ ½Ç½Ã°£ ¾ÐÃà ¹× Æ®·¡Çȼ¼ÀÌÇÎ(shaping)À» ÀÌ¿ëÇÒ¼ö ÀÖ´Ù.
- OpenVPNÀº Ưº°ÇÑ º¸¾È Ãë¾à¼ºÀÌ ¹ß°ßµÇÁö ¾Ê¾Æ ±× ÀÚü·Î ¸Å¿ì ¾ÈÁ¤ÀûÀÌ´Ù.
OpenVPNÀÇ È¨ÆäÀÌÁö´Â http://www.openvpn.net À̸ç, ÀÌ »çÀÌÆ®¿¡ Á¢¼ÓÇÏ¿© ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ´Ù.

2. VPN ¼­¹ö ¼³Ä¡¹× ¼³Á¤
OpenVPNÀº »óÈ£ ¸Á ¶Ç´Â ¼­¹ö¸¦ ¿¬µ¿ÇÒ ¶§¿¡ ¼¼°¡Áö ¸ðµå·Î ÀÎÁõÀ» Á¦°øÇÑ´Ù.
ù¹ø°´Â »çÀü¿¡ °øÀ¯µÈ Å°(Pre-shared static key)¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀÌ°í, µÎ¹ø¤¹¤Â´Â RSAÅ°¸¦ ÀÌ¿ëÇÑ SSL/TLS, ¼¼¹ø°´Â username/password ¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀε¥, ù¹ø°´Â »ç¿ë¹æ¹ýÀÌ ´Ü¼øÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ°í, µÎ¹ø°´Â SSL/TLS RSAÅ°¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý(¼ÒÀ§ SSL VPN)Àº ´õ¿í ¾ÈÀüÇϱâ´Â ÇÏÁö¸¸ ¼³Ä¡°¡ ´Ù¼Ò º¹ÀâÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ¿©±â¿¡¼­ ù¹ø°¿Í µÎ¹ø° ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æº»´Ù.

°øÀ¯µÈ Å°(Pre-shared static key)¸¦ ÀÌ¿ëÇÑ ¹æ¹ý
1) OpenVPN¿¡¼­´Â TUN À̳ª TAPÀ̶ó´Â º°µµÀÇ µå¶óÀ̹ö¸¦ ÅëÇÏ¿© VPN Åë½ÅÀ» ÇϹǷΠ¸ÕÀú VPN¼­¹öÀÇ Ä¿³Î¿¡¼­ ÀÌ µå¶óÀ̹ö¸¦ Áö¿øÇÏ¿©¾ß ÇÑ´Ù.
 
µû¶ó¼­ Ä¿³Î ¸Þ´º¿¡¼­ "Network Device support --> <*> Universal TUN/TAP device driver support" À¸·Î staticÇÏ°Ô ¼±ÅÃÇϰųª ¸ðµâ·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
 
Ä¿³Î 2.4.7 ÀÌ»ó ¹öÁ¯¿¡¼­´Â ÀÌ ¸Þ´º°¡ Ä¿³Î ³»¿¡ Æ÷ÇԵǾî Àֱ⠶§¹®¿¡ Ä¿³Î ÄÄÆÄÀϽà Ŀ³Î ¸Þ´º¿¡¼­ ¼±ÅÃÇϱ⸸ ÇÏ¸é µÇÁö¸¸ 2.2. ¹öÀü´ë Ä¿³ÎÀ» »ç¿ëÇÑ´Ù¸é(¾Æ¸¶ ¾ø°ÚÁö¸¸) http://vtun.sourceforge.net/tun/¿¡¼­ ´Ù¿î·ÎµåÇÏ¿© ¼³Ä¡ÇÏ¿©¾ß ÇÑ´Ù.
Ä¿³Î ÄÄÆÄÀÏÀ» ¿Ï·áÇÑ ÈÄ¿¡´Â µð¹ÙÀ̽º¸¦ ¼³Á¤Çϱâ À§ÇØ ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇϵµ·Ï ÇÑ´Ù.
  # mkdir /dev/net
  # mkmod /dev/net/tuc c 10 200
¸¸¾à ¸ðµâ·Î ¼±ÅÃÇßÀ¸¸é ÀÌÈÄ¿¡ modprobe tunÀ»  ½ÇÇàÇÏ¸é µÈ´Ù.

2) openvpnÀ» ¼³Ä¡Çϱâ Àü¿¡ ¾Æ·¡ÀÇ °ü·Ã ÇÁ·Î±×·¥À» ¸ÕÀú ¼³Ä¡ÇÑ´Ù.
* openssl : ¾Ïȣȭ¿¡ ÇÊ¿äÇÏ¸ç °¡±ÞÀû ÃֽŹöÁ¯À» ¼³Ä¡Çϴ°ÍÀÌ ÁÁÀºµ¥, rpmÀ¸·Î ¼³Ä¡µÇ¾î À־ °ü°è ¾ø´Ù. ÇöÀç ¼³Ä¡µÇ¾î ÀÖ´Â openssl ¹öÁ¯Àº ¾Æ·¡¿Í °°ÀÌ È®ÀÎÇÒ¼ö ÀÖ´Ù.
  # openssl version
  OpenSSL 0.9.7a Feb 19 2003
  È¨ÆäÀÌÁö : http://www.openssl.org
* lzo : ½Ç½Ã°£ ¾ÐÃà ¶óÀ̺귯¸®ÀÌ´Ù.
  È¨ÆäÀÌÁö : http://www.oberhumer.com/opensource/lzo
¼³Ä¡´Â °¢°¢   # ./configure ; make ; make install À» ½ÇÇàÇÏ¸é µÈ´Ù.
OpenVPN À» ¾ÐÃà ÇØÁ¦ÇÑÈÄ ¿ª½Ã
  # ./configure --enable-password-save; make ; make install
  ·Î ¼³Ä¡Çϸé /usr/local/sbin/openvpn ½ÇÇàÆÄÀÏÀÌ ¼³Ä¡µÈ´Ù.
  ÀÌÈÄ ½ÃÀÛ ½ºÅ©¸³Æ®´Â ¼³Ä¡ µð·ºÅ丮ÀÇ sample-scripts/openvpn.init ÆÄÀÏÀ» Âü°íÇÏ°í, ¼³Ä¡ ÆÄÀÏÀº sample-config-files/server.conf ÆÄÀÏÀ» Âü°íÇÏ¸é µÈ´Ù
  Âü°í·Î openvpnÀº ¼ö½Ã·Î ¹öÀüÀÌ ¿Ã¶ó°¡¸é¼­ configureÀÇ ¿É¼ÇÀÌ º¯°æµÇ¹Ç·Î ¼³Ä¡Àü¿¡´Â ./configure --help¸¦ ¸ÕÀú ½ÇÇàÇؼ­ µµ¿òÀ» ¹Þ±â ¹Ù¶õ´Ù.
  openvpn ¼³Ä¡½Ã °øÀ¯ ¶óÀ̺귯¸®¸¦ ãÀ»¼ö ¾ø´Â ¿¡·¯°¡ ³ª¸é rpmÀÇ °æ¿ì ¼Ò½º·Î, ¼Ò½ºÀÇ °æ¿ì rpmÀ¸·Î opensslÀ» Àç ¼³Ä¡ÇØ º¸±â ¹Ù¶õ´Ù.
  ¶Ç´Â ./configure --with-ssl-headers=/usr/local/ssl/include/openssl/ --with-ssl-lib=/usr/local/ssl/lib¿Í °°ÀÌ Çì´õ³ª ¶óÀ̺귯¸® °æ·Î¸¦ Á÷Àû ÁöÁ¤ÇØ Á־ µÈ´Ù
  REAME ȤÀº INSTALL ÆÄÀÏÀ» º¸±¸ ¼³Ä¡ÇÏ´Â°Ô ÁÁÀ»µí

3) VPN ¼­¹ö ¼³Á¤ - ¾Æ·¡¿Í °°ÀÌ ±ÇÀå
  [Openvpn.conf=server.conf]
  
  port 5000
  dev tap0
  secret static.key (°øÀ¯Å°¸¦ »ç¿ëÇÒ °æ¿ì)
  ifconfig 10.1.0.1 255.255.255.0
  keepalive 10 60
  comp-lzo
  user nobody
  group noboy
  persist-key
  persist-tun
  status openvpn-status.log
  log openvpn.log
  log-append openvpn.log
  verb 4
  openvpn --config openvpn.conf --daemon
  ÀÌÈÄ netstat À» ½ÇÇàÇغ¸¸é ¾Æ·¡¿Í °°ÀÌ 5000/udp¿¡¼­ ÇÁ·Î¼¼½º°¡ ¸®½¼Çϴ°ÍÀ» ¾Ë¼ö ÀÖ´Ù.
  ¿¡·¯¹ß»ý½Ã openvpn.log ÆÄÀÏÀ» º¸°í ÇØ°á

4) VPN Ŭ¶óÀ̾ðÆ® ¼³Ä¡ ¹× ¼³Á¤ - ¾Æ·¡¿Í °°ÀÌ ±ÇÀå
  VPN µ¥¸óÀÌ ½ÇÇàµÇ¾î ¸®½¼ÇÏ°í ÀÖ´Ù¸é ¼­¹öÂÊ ¼³Á¤Àº Á¤»óÀûÀÎ °ÍÀ̹ǷΠÀÌÁ¦ Windows PCÃø¿¡¼­ VPN Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» ¼³Ä¡ÇÒ Â÷·ÊÀÌ´Ù. ¸ÕÀú http://openvpn.sourceforge.net ¿¡¼­ Window ÇÁ·Î±×·¥À» ´Ù¿î·ÎµåÇÏ¿© ¼³Ä¡ÇÑ´Ù.
  ¼³Ä¡ÈÄ OPenVPN ¸Þ´º¿¡¼­ "Add a new TAP virtual ethernet adaper"¸¦  ¼±ÅÃÇÑ´Ù. º¸¾Èâµî ¼³Ä¡ÇÒ °ÍÀÎÁö ¹¯´Â âÀÌ ³ª¿Ã¶§ "°è¼Ó"À» ¼±ÅÃÇÏ°í '³» ³×Æ®¿öÅ© ȯ°æ'¿¡¼­ ¼Ó¼ºÀ» º¸¸é ¾Æ·¡¿Í °°ÀÌ »õ·Î¿î ÀÎÅÍÆäÀ̽º°¡Ãß°¡µÈ °ÍÀ» È®ÀÎÇÒ¼ö ÀÖ´Ù. Ãʱ⿡´Â ³×Æ®¿öÅ©°¡ ¿¬°áµÇ¾î ÀÖÁö ¾ÊÀ¸¸ç ¼³Á¤ÀÌ ¿Ï·áµÇ¸é »óÅ°¡ '»ç¿ëÇÔ'À¸·Î ¹Ù²î°Ô µÈ´Ù. ¸¸¾à Çѹø ´õ ½ÇÇàÇÏ¸é »õ·Î¿î ·ÎÄÿµ¿ª¿¬°á ÀÎÅÍÆäÀ̽º°¡ »ý±â°Ô µÈ´Ù.
  ¸¸¾à DHCP Client ¼­ºñ½º°¡ °¡µ¿ÁßÀ̶ó¸é ¾Õ¿¡¼­ ÁöÁ¤ÇÑ IP¸¦ ÀÚµ¿À¸·Î ÇÒ´ç¹Þ±â ¶§¹®¿¡ º°µµÀÇ ¼³Á¤Àº ÇÊ¿ä¾øÁö¸¸ ¸¸¾à Áß±âµÈ »óŶó¸é IP¸¦ Á÷Á¢ ¼³Á¤ÇÏ¿©¾ß Çϴµ¥, À̸¦ À§ÇØ ÀÌ TAP-32 ÀÎÅÍÆäÀ̽º¿¡¼­ ¼Ó¼ºÀ» ¼±ÅÃÇÏ¿© "[ÀÎÅͳÝÇÁ·ÎÅäÄÝ µî·ÏÁ¤µµ]->[´ÙÀ½IPÁÖ¼Ò»ç¿ë]"¿¡ IP:10.1.0.2 ¼­ºê³Ý ¸¶½ºÅ©¿¡ 255.255.255.0 À» ÀÔ·ÂÇÑ´Ù. ¹°·Ð À̶§ IP´Â 10.1.0.100 À̾ °ü°è´Â ¾øÀ¸¸ç Window¿¡¼­´Â ÀÌ IP·Î ¾Õ¿¡¼­ Á¤ÀÇÇÑ ¼­¹öÀÇ 10.1.0.1°ú Åë½ÅÇÏ°Ô µÈ´Ù.
  ÀÌÈÄ OpenVPNÀ» ¼³Ä¡ÇÑ µð·ºÅ丮ÀÎ "³»ÄÄÇ»ÅÍ" -> "C:\Program Fills\OpenVPN\config" µð·ºÅ丮³»¿¡ ÀÖ´Â config.ovpn ÆÄÀÏÀ» ¾Æ·¡¿Í °°ÀÌ ¼³Á¤Çϵµ·Ï ÇÑ´Ù.

  [config.ovpn]
  remote 211.47.68.21
  port 5000
  proto udp
  dev tap0
  ifconfig 10.1.0.2 255.255.255.0
  dev-node "·ÎÄà ¿µ¿ª ¿¬°á 3"
  secret static.key (¼­¹ö¿¡¼­ »ý¼ºÇÑ Å°¿Í µ¿ÀÏÇÑ Å°À̾î¾ß ÇÑ´Ù. ¸¸¾à Å°°¡ ´Ù¸¦ °æ¿ì Ŭ¶óÀ̾ðÆ®¿¡¼­¼­¹ö·Î Á¢¼ÓÇϱâ À§ÇØ openvpnÀ» ½ÇÇàÇϸé ÁߴܵȴÙ)
  ping 10
  verb 4
  comp-lzo
  config> openvpn --config config.ovpn ("·ÎÄà ¿µ¿ª ¿¬°á 3"ÀÌ È°¼ºÈ­µÈ´Ù)
  Å¬¶óÀ̾ðÆ® 10.1.0.2¿¡¼­ ¼­¹ö 10.1.0.1·Î ping À» ³¯·Áº¸°í ½ÇÁ¦·Î ¾Ïȣȭ Åë½ÅÀÌ ÀÌ·ç¾î Áö´ÂÁö ¾Æ·¡¿Í °°ÀÌ È®ÀÎÇØ º»´Ù.
  # tcpdump -X port 5000
  µ¿½Ã¿¡ tap0 ÀÎÅÍÆäÀ̽º¿¡¼­ ÆÐŶÀ» ĸÃÄÇϸé Æò¹®ÀÌ Ä¸Ã³µÇ´Â°ÍÀ» ¾Ë¼ö ÀÖ´Ù. ÀÌ´Â °ð udp¸¦ ÅëÇØ Àü¼ÛµÇ´Â ÆÐŶÀº ¾ÏȣȭµÇ¾úÁö¸¸ ¾Æ·¡¿Í °°ÀÌ tap0À» ÅëÇØ Àü¼ÛµÇ´Â ÆÐŶÀº Æò¹®À¸·Î Àü¼ÛµÇ´Â°ÍÀ» ¾Ë¼ö ÀÖ´Ù.


ÀÎÁõ¼­¸¦ È°¿ëÇÑ °ø°³Å°(PKI-Public Key Infrastructure)¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý
¾Õ¿¡¼­ »ìÇ¥º» °øÀ¯Å°(static key)¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ¸·Î´Â º°µµÀÇ µ¥¸óÀ» ¶ç¿ìÁö ¾Ê´Â ÇÑ ¿©·¯ PC¿¡¼­ µ¿½Ã Á¢¼ÓÇÒ ¼ö ¾ø´Ù´Â ÇÑ°è°¡ ÀÖ¾ú´Ù µû¶ó¼­ À̸¦ À§Çؼ­´Â Áö±ÝºÎÅÍ »ìÇ¥º¼ RSAÅ°¸¦ ÀÌ¿ëÇÑ SSL/TLS(¼ÒÀ§ SSL-VPN)À» ÀÌ¿ëÇÏ¿©¾ß ÇÑ´Ù. ÀÌ´Â °¡Àå ¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î ¾Ë·ÁÁ® Àִµ¥, ¿©±â¿¡¼­´Â opensslÀ» ÀÌ¿ëÇÏ¿© RSA ÀÎÁõ¼­ ¹× Å°¸¦ ºôµåÇÒ °ÍÀÌ´Ù.. ¿©±â¿¡´Â .crt È®ÀåÀÚ´Â ÀÎÁõ¼­(certificate)ÆÄÀÏÀÌ°í, .key ÆÄÀÏÀº ºñ¹ÐÅ°(private key)¶ó°í »ý°¢ÇÏ¸é µÈ´Ù. ¹°·Ð ºñ¹ÐÅ°´Â ¾ÈÀüÇÏ°Ô º¸°üÇÏ¿©¾ß Çϸç, ÀÎÁõ¼­ ÆÄÀÏÀº ÀÚÀ¯·Ó°Ô °ø°³Çصµ µÈ´Ù.
¸ÕÀú opensslÀÇ  ¼³Á¤ÆÄÀÏÀº ±âº»ÀûÀ¸·Î /usr/share/ssl/openssl.conf ¿¡ Àִµ¥, ÀÌ ÆÄÀÏÀ» ¿­¾î ¾Æ·¡¿Í °°ÀÌ ¸î°¡Áö ¼³Á¤À» º¯°æÇØ ÁÖµµ·Ï ÇÑ´Ù.

[/usr/share/ssl/openssl.conf]
dir                = /usr/share/ssl
certificate        = $dir/my-ca.crt
private_key        = $dir/private/my-ca.key

ÀÌÈÄ ÇöÀç µð·ºÅ丮¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ½ÇÇàÇÏ¿© serial°ú index.txt ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. serial°ú index.txt¿¡´Â °¢°¢ root CA¿¡¼­ ÀÎÁõÇÑ È½¼ö¿Í ÀÎÁõÇÑ ³»¿ëÀÌ ±â·ÏµÇ´Âµ¥, Ãß°¡·Î ÀÎÁõÇÒ ¶§¸¶´Ù ÀÚµ¿À¸·Î °»½ÅµÈ´Ù. ƯÈ÷ ÀÌ´Â ±âÁ¸¿¡ ¹ß±ÞÇÑ ÀÎÁõ¼­¸¦ Ãë¼ÒÇϰųª Æó±âÇÏ°íÀÚ ÇÒ ¶§ »ç¿ëµÈ´Ù.
  # echo "01" | cat > serial
  # touch index.txt

´ÙÀ½À¸·Î´Â root CA ÀÎÁõ¼­¿Í ºñ¹ÐÅ°¸¦ »ý¼ºÇÒ Â÷·ÊÀε¥, ¾Æ·¡ ¸í·É¾î·Î 10³â µ¿¾È À¯È¿ÇÑ CA¹× ºñ¹ÐÅ°¸¦ »ý¼ºÇÑ´Ù.
  # openssl req -nodes -new -x509 -keyout my-ca.key -out my-ca.crt -days 3650

´ÙÀ½Àº ¼­¹öÂÊ¿¡¼­ »ç¿ëÇÒ °ø°³Å°¿Í ºñ¹ÐÅ°¸¦ »ý¼ºÇϵµ·Ï ÇÑ´Ù.
  # openssl req -nodes -new -keyout server.key -out server.csr

±×¸®°í root CA·Î ¼­¹öÂÊ ÀÎÁõ¼­¿¡ »çÀÎÇÑ´Ù. ½ÇÇàÀÌ ¿Ï·áµÇ¸é index.txt ¿Í serial Á¤º¸°¡ ¾÷µ¥ÀÌÆ® µÈ´Ù.
  # openssl ca -out server.crt -in server.csr

¸¶Âù°¡Áö·Î Ŭ¶óÀ̾ðÆ®¿¡¼­ »ç¿ëÇÒ Å°¸¦ »ý¼ºÇϵµ·Ï ÇÑ´Ù.
  # openssl req -nodes -new -keyout client.key -out client.csr

±×¸®°í root CA·Î Ŭ¶óÀ̾ðÆ®ÂÊ ÀÎÁõ¼­¿¡ »çÀÎÇÑ´Ù. ½ÇÇàÀÌ ¿Ï·áµÇ¸é index.txt ¿Í serial Á¤º¸°¡ ¾÷µ¥ÀÌÆ® µÈ´Ù.
  # openssl ca -out client.crt -in client.csr

´ÙÀ½À¸·Î ¾Ïȣȭ Çù»ó °úÁ¤¿¡¼­ ÇÊ¿äÇÑ Diffe Hellman ÆĶóÀÌÅ͸¦  »ý¼ºÇÑ´Ù. ÀÌ ÆÄÀÏÀº ¼­¹öÂÊ¿¡¼­¸¸ ÇÊ¿äÇÏ¸ç »ý¼º½Ã ¾à 2-3ºÐ¤¸ Á¤µµ ¼Ò¿äµÉ °ÍÀÌ´Ù.
  # openssl dhparam -out dh1024.pem 1024

ÀÌÁ¦ ³ª¸ÓÁö´Â ±×´ë·Î µÎ°í client.crt ¿Í client.key ±×¸®°í my-ca.key ÆÄÀÏÀº Ŭ¶óÀ̾ðÆ® PC ·Î º¹»çÇÏ¸é µÈ´Ù.

¸ÕÀú ¼­¹ö ÂÊ ¼³Á¤À» »ìÇ¥º¸¸é, Å©°Ô º¯ÇÑ °ÍÀº ¾ø´Âµ¥, Àüü ¼³Á¤¿¡¼­ º¯°æµÈ ºÎºÐ¸¸ Àá½Ã »ìÇ¥º¸ÀÚ
config ÆÄÀÏÀº server.conf ¶ó°í °¡Á¤ÇÑ´Ù.
port 5000
proto udp
dev tun0
¿©±â±îÁö´Â ±âÁ¸ÀÇ ¼³Á¤°ú µ¿ÀÏÇÏ´Ù.

tls-server
SSL/TLS Å° ±³È¯½Ã¿¡ ¼­¹ö¿ªÇÒÀ» ÇÒ °ÍÀ̹ǷΠtls-server·Î ÁöÁ¤ÇÑ´Ù.

dh key/dh1024.pem
tls-server¿¡¼­¸¸ Á¤ÀÇÇÑ´Ù. ÇöÀç µð·ºÅ丮´Â server.conf ÆÄÀÏÀÌ ÀÖ´Â À§Ä¡¸¦ ¶æÇÑ´Ù.

ca key/my-ca.crt
CA ÆÄÀÏÀº ÁöÁ¤ÇÑ´Ù.

cert key/server.crt
ÀÎÁõ¼­ÀÇ °ø°³Å°¸¦ ÁöÁ¤ÇÑ´Ù.

key key/server.key
ºñ¹ÐÅ°¸¦ ÁöÁ¤ÇÑ´Ù.

ifconfig 10.1.0.1 10.1.0.2
route 10.1.0.0 255.255.255.0

ifconfig-pool 10.1.0.4 10.1.0.251
ÀÌ´Â °³º°ÀûÀ¸·Î Á¢¼ÓÇÏ´Â °¢ PC³ª ¼­¹ö¿¡ ¸¶Ä¡ DHCP ¼­¹öó·³ Dynamic ÇÏ°Ô IPÁÖ¼Ò¸¦ ÇÒ´ç ÇÒ¶§ ÇÒ´çÇÒ ´ë¿ªÀ» ÁöÁ¤ÇÏ´Â °ÍÀε¥, À§ÀÇ °æ¿ì 10.1.0.4¿¡¼­ºÎÅÍ 10.1.0.251±îÁö ÇÒ´çÇϵµ·Ï ÇÑ °ÍÀ» ¾Ë¼ö ÀÖ´Ù.

duplicate-cn
°¢ Ŭ¶óÀ̾ðÆ® À¯Àú¸¶´Ù µ¿ÀÏÇÑ ÀÎÁõ¼­ »ç¿ëÀ» Çã°¡ÇÒÁö ÁöÁ¤

client-to-client
±âº»ÀûÀ¸·Î VPN¿¡ ¿¬°áµÈ ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ®¿Í¸¸ Åë½ÅÇÒ¼ö ÀÖÁö¸¸ VPN¿¡ Á¢¼ÓÇÑ Å¬¶óÀ̾ðÆ®³¢¸®µµ Åë½ÅÇÒ¼ö ÀÖµµ·Ï Çã¿ëÇÒ °ÍÀÎÁö °áÁ¤

max-clients 100
¼­¹ö¿¡¼­ µ¿½Ã¿¡ Á¢¼ÓÀ» ¹Þ¾ÆµéÀÏ Å¬¶óÀ̾ðÆ® °³¼ö¸¦ ÁöÁ¤ÇÑ´Ù. º°µµ·Î ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 1024°¡ µÈ´Ù.

³ª¸ÓÁö´Â À§¿¡¼­¿Í µ¿ÀÏÇÏ´Ù.
ÀÌÈÄ ¼­¹ö¿¡¼­ ¾Æ·¡¿Í °°ÀÌ --mode server ¸¦ Ãß°¡ÇÏ¿© ½ÇÇàÇÏ¸é µÈ´Ù.

openvpn --config server.conf --daemon --mode server
Ưº°ÇÑ ¿¡·¯°¡ ¾ø´Ù¸é Á¤»óÀú±à·Î µ¿½ÃÁ¢¼Ó ¸ðµå·Î °¡µ¿
¸¶Âù°¡Áö·Î Ŭ¶óÀ̾ðÆ®¿¡¼­µµ ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÏ¿© Á¢¼ÓÇÏ¸é ¾Õ¿¡¼­¿Í ´Þ¸® µ¿½Ã¿¡ Á¢¼ÓÇصµ ±âÁ¸ÀÇ Á¢¼ÓÀÌ ²÷±âÁö ¾Ê´Â´Ù

client
dev tun0
proto udp
remote 211.47.68.21 5000
nobind
ca my-ca. crt (°æ·Î¿¡ µû¶ó ÁöÁ¤ÀÌ ´Þ¶óÁü ÁÖÀÇ)
cert client.crt
key client.key
comp-lzo
verb 4
dev-node "·ÎÄà ¿µ¿ª ¿¬°á 3"
ÀÌÈÄ °¢°¢ÀÇ pc¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ½ÇÇàÇÏ¸é µÈ´Ù.

openvpn --config config.ovpn

Ãâó
http://hakkoo.net/zeroboard/zboard.php?id=study&no=285

À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.