ʹÓÃOpenVPN´î½¨LinuxϵÄVPN·þÎñ
³£ÔÚÏîÄ¿ÖÐÓöµ½ÍâµØµÄ¿Í»§Åöµ½ÎÊÌ⣬µ«ÎÞ·¨Ôڵ绰Öнâ¾ö£¬ÐèÒªÔÚ»úÆ÷ÉϽøÐзÖÎöºÍ´¦Àí¡£µÚÒ»¸öÏëµ½µÄ¾ÍÊÇÔ¶³ÌµÇ½£¬µ«¶Ô·½Ã»Óй«ÍøIP£¬Ôõô°ì£¿´Ëʱ£¬Èç¹ûÓиöVPNͨµÀ¸Ã¶àºÃ¡£ËùÒÔ£¬ÎÒ¾ö¶¨´î½¨Ò»Ì¨VPN·þÎñÆ÷ÒÔ·½±ã½ñºóµÄά»¤£¬Ë³±ãÒ²ÔÙÊìϤһÏÂÏà¹ØµÄÅäÖá£
VPNÓ²¼þÊDz»Óÿ¼Âǵ쬷ÑÓÃÌ«¸ß¡£¶øÇÒ¼ÈÈ»ÒѾÊìϤÁËLinux»·¾³£¬µ±È»»¹ÊÇÔڸû·¾³ÏÂѰÕÒÁË¡£¿¼ÂÇÁ½µã£º
1¡¢°²È«ÐÔµÚÒ»£¬ÅäÖ÷½±ã£»
2¡¢Ö§³Ö¶àƽ̨Á¬½Ó£¬±Ï¾¹Ê¹ÓÃWindows×ÀÃæµÄÓû§»¹ÊǺܶàµÄ¡£
¿¼ÂÇÔÙÈý£¬¾ö¶¨Ê¹ÓÃOpenVPNÀ´ÊµÏÖ¡£
Ò»¡¢ÔÀí
OpenVPNÊÇ»ùÓÚSSLµÄVPN£¬ÆäʹÓù¤Òµ±ê×¼µÄSSL/TLSÐÒéʵÏÖµÚ2²ãºÍµÚ3²ãµÄ°²È«Êý¾ÝÁ´Â·VPN¡£×îа汾ÊÇ2.0.7£¬ÆäÓŵã°üÀ¨£º
1¡¢»ùÓÚSSLÐÒ飬°²È«£¬²¢Ê¹Óõ¥Ò»TCP»òUDP¶Ë¿Ú¼´¿ÉʵÏÖ£»
2¡¢Ê¹ÓÃË«ÏòÑéÖ¤£¬·þÎñÆ÷Ö»Ðè±£´æ×Ô¼ºµÄÖ¤ÊéºÍÃÜÔ¿£»
3¡¢·þÎñÆ÷Ö»½ÓÊÜÄÇЩÓÉÖ÷CAÖ¤ÊéÇ©ÃûµÄ¿Í»§¶Ë£¬²¢Óг·»Ø»úÖÆ£¬¶ø²»ÐèÒªÖØ½¨Õû¸öPKI£»
4¡¢¿ÉÒÔʵÏÖ»ùÓÚCommon NameµÄȨÏÞ¿ØÖÆ¡£
¹Ù·½ÍøÕ¾£ºÕâÀï
rpmÏÂÔØ£ºµã»÷
ÒÀÀµµÄlzo°ü£ºµã»÷
¡ù×¢Ò⣬OpenVPNÊÇ»ùÓÚSSL/TLSÐÒéµÄ£¬ËùÒÔÊDz»¼æÈÝIPSecºÍPPTP£¬ÔÚWindowsÒ²ÐèÒª°²×°¿Í»§¶Ë¡£
¶þ¡¢ÍøÂç¼Ü¹¹
OpenVPN¿ÉÒÔʵÏÖ¶àµã¶Ôµ¥µã£¬ÒÔ¼°µã¶ÔµãµÄVPN¹¦ÄÜ¡£½ñÌìÎÒÃÇÏÈÒÔÒ»¸ö¼òµ¥µÄ°¸ÀýÀ´ËµÃ÷£¬ºóÐøÔÙÏêϸÃèÊö¸üÉîÈëµÄÅäÖá£
¼Ü¹¹ÈçÏ£º
˵Ã÷£º
1¡¢Ô¶³Ì¿Í»§¶Ëͨ¹ýInternetÍøÂçÁ¬½Óµ½¹«Ë¾ÍøÂ磨ģÄâ³É192.168.228.0Íø¶Î£©£¬²¢½¨Á¢10.8.0.0µÄVPNͨµÀ£»
2¡¢¹«Ë¾ÄÚ²¿ÍøÂçΪ192.168.56.0Íø¶Î£¬¼ÙÉèÖ»ÓÐһ̨Ö÷»ú£»
3¡¢Ä¿±êÊǿͻ§¶ËºÍºǫ́Ö÷»ú¿ÉÒÔË«Ïò»¥Í¨¡£
Èý¡¢°²×°ºÍÅäÖÃ
¼ÙÉè¿Í»§¶ËºÍ·þÎñ¶Ë¶¼ÊÇLinuxϵͳ£¬ÈçÏ£º
·þÎñÆ÷ƽ̨£º ºìÆì DC Server 5.0 for x86
¿Í»§¶Ëƽ̨£º ºìÆì Desktop 5.0 for x86
1¡¢·þÎñ¶Ë°²×°
rpm -ivh lzo-1.08-4.redflag.i386.rpm
rpm -ivh openvpn-2.0.7-2.redflag.i386.rpm
1£©Ê¾ÀýÅäÖÃÎļþÔÚ£º
ÒýÓÃ
/usr/share/doc/openvpn-2.0.7/
2£©¿½±´´´½¨CAÖ¤ÊéµÄeasy-rsa£º
cp -ra /usr/share/doc/openvpn-2.0.7/easy-rsa /etc/openvpn/
3£©¿½±´Ê¾ÀýÅäÖÃÎļþ
cd /etc/openvpn/
mkdir config
cp -ra /usr/share/doc/openvpn-2.0.7/sample-config-files/server.conf config/
ln -s config/server.conf ./
¡ùÈç¹ûÄú½ñºóÏ£ÍûOpenvpnËæÏµÍ³×Ô¶¯Æô¶¯£¬ÔòËü»á×Ô¶¯Ñ°ÕÒ/etc/openvpnϵÄËùÓÐ.confÅäÖÃÎļþ£¬²¢ÔËÐС£ËùÒÔ£¬ÎÒÕâÀïÏȽ¨Á¢¶ÔÓ¦µÄÁ´½ÓÁË¡£
4
Ïà¹ØÎĵµ£º
1.¸ÅÄîºÍÇø±ð£º
¾²Ì¬¿â¾ÍÊÇÔÚ±àÒë¹ý³ÌÖÐһЩĿ±êÎļþµÄ¼¯ºÏ¡£¾²Ì¬¿âÔÚ³ÌÐòÁ´½ÓµÄʱºòʹÓã¬Á´½ÓÆ÷»á½«³ÌÐòÖÐʹÓõ½º¯ÊýµÄ´úÂë´Ó¿âÎļþÖп½±´µ½Ó¦ÓóÌÐòÖС£Ò»µ©Á´½ÓÍê³É£¬ÔÚÖ´ÐгÌÐòµÄʱºò¾Í²»ÐèÒª¾²Ì¬¿âÁË¡£
ÓÉÓÚÿ¸öʹÓþ²Ì¬¿âµÄÓ¦ÓóÌÐò¶¼ÐèÒª¿½±´ËùÓú¯ÊýµÄ´úÂë£¬Ë ......
Ò»¡¢TCPÁ¬½Ó¹Ø±ÕµÄ¼¸ÖÖ·½Ê½£º
1¡¢“Õý³£”¹Ø±Õ£ºµ÷ÓÃclose()¹Ø±Õsocket¡¢Ã»closeµ«½ø³ÌÕý³£½áÊø(µ±È»ÕâÊDz»Ó¦¸ÃµÄ×ö·¨)¡¢½ø³Ìcoreµô¡¢ÔÚshellÃüÁîÐÐÖÐkillµô½ø³Ì£¬¶¼¿É³éÏó³É“Õý³£”¹Ø±Õ¡£ÒòΪ¼´Ê¹coreµô£¬ÄÚºËÒ²»áÂíÉϰïÓ¦ÓóÌÐò»ØÊÕ(close)socketÎļþÃèÊö·û¡£
“Õý ......
¸ü¸Ä/etc/resolv.confÎļþ
Èç¹ûÄãµÄlinuxÖ÷»úÖ»ÊÇÔÚ¾ÖÓòÍøÄÚ¹¤×÷£¬Ç뽫nameserverµØÖ·¸ÄÎªÍø¿¨±¾ÉíµÄµØÖ·¡£
Àý£º
# vi /etc/resolv.conf
nameserver 192.168.0.160
search site
È»ºó ......
Ëùν½ø³Ì¾ÍÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý. ËüÊÇÏÖ´ú²Ù×÷ϵͳÖÐÒ»¸öºÜÖØÒªµÄ³éÏó,ÎÒÃÇ´Ó½ø³ÌµÄÉúÃüÖÜÆÚ:´´½¨,Ö´ÐÐ,ÏûÍöÀ´·ÖÎöÒ»ÏÂLinuxÉϵĽø³Ì¹ÜÀíʵÏÖ.
Ò»:ǰÑÔ
½ø³Ì¹ÜÀí½á¹¹;
ÔÚÄÚºËÖÐ,ÿһ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask.¾ÍÊÇÒÔǰËù½²µÄPCB.ËüµÄ½á¹¹ÈçÏÂ(include/linux/sched.h):
struct task_struct {
  ......