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 ¹öÁ¯Àº ¾Æ·¡¿Í °°ÀÌ È®ÀÎÇÒ¼ö ÀÖ´Ù.
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