Pages - Menu 
(ย้ายไปยัง ...)
 
หน้าแรก 
 
▼ 
 
  
 
 
 
 
 
 
OpenVPN เมื่อแอปพลิเคชั่นจะตามคุณไปทุกที่
 
 
 
"ใน โลกที่ปกคลุมไปด้วยอินเตอร์เนตบรอดแบนด์ VPN หรือ Virtual Private Network  กำลังจะทำให้แอปพลิเคชั่นในสำนักงานสามารถติดตามคุณไปได้ทุกที่ OpenVPN  คือโซลูชั่นที่จะทำให้ฝันของคุณเป็นจริง"      ในยุคก่อนที่จะมีอินเตอร์เนตความเร็วสูง การใช้ VPN ( Virtual Private  Network )  ผ่านเครือข่ายอินเตอร์เนตเพื่อเข้ามาใช้งานภายในองค์กรคงเป็นเรื่องที่ต้อง ทำใจพอสมควร ยิ่งถ้าต้องติดต่ออินเตอร์เนตโดยผ่านโมเด็มแบบ 56K ด้วยแล้ว  การใช้งานที่ต้องการใช้แบนด์วิดสูงๆ แทบเป็นไปไม่ได้เลย  แต่ในยุคปัจจุบันอินเตอร์เนตความเร็วสูงโดยเฉพาะ ADSL  ที่มีการพัฒนาอย่างต่อเนื่อง และในอนาคตจะมี ADSL2 และ ADSL2+  ซึ่งความเร็วจะสูงกว่าปัจจุบันอีกมาก ( ADSL2+  มีความเร็วสูงสุดถึง 24  Mbps )  ประกอบกับค่าบริการที่ถูกลง  ทำให้ลดช่องว่างระหว่างการนั่งทำงานภายในออฟฟิศ  กับการเข้ามาใช้งานจากระยะไกลลงได้  โดยเฉพาะอย่างยิ่ง  การใช้งานแอพพลิเคชันที่ไม่ได้ออกแบบมาเพื่อให้ทำงานผ่านอินเตอร์เนต VPN  นับว่าเป็นหนทางหนึ่งที่จะช่วยแก้ปัญหานี้ได้  ในโลกของซอฟต์แวร์เสรีมีซอฟต์แวร์ VPN   รอให้ท่านผู้อ่านนำไปประยุกต์ใช้ซึ่งแบ่งได้เป็น 3 กลุ่มดังนี้      VPN แบบ pptp ซอฟต์แวร์ในกลุ่มนี้ได้แก่ Poptop เป็น VPN Server บนลีนุกซ์ที่ใช้  
โปรโตคอล pptp ( Point-to-Point Tunneling Protocol ) ในการติดต่อกัน  ซึ่งนับได้ว่า Poptop เป็น VPN Server  ซึ่งมีความเข้ากันได้ดีกับไคลเอนต์บนวินโดวส์ โดยสามารถใช้ VPN Client  ของวินโดวส์ได้ทันที  
VPN แบบ IPSec ซอฟต์แวร์ในกลุ่มนี้ได้แก่ FreeS/WAN และ Openswan VPN บน 
โปรโตคอล IPSec ( IP Security Protocol ) ถือได้ว่าเป็น VPN  ที่ได้รับความนิยมไม่ว่าจะเป็น ซอฟต์แวร์แบบเปิดเผยรหัสหรือไม่เปิดเผยรหัส  เนื่องจากว่ามีความปลอดภัยสูง  แต่ด้วยความซับซ้อนทำให้การติดตั้งค่อนข้างลำบากโดยเฉพาะการติดตั้ง IPSec  ผ่านระบบ NAT ( Network Address Translation ) นอกจากนี้การติดตั้ง VPN แบบ  IPSec บนลีนุกซ์จำเป็นต้องมีการ Patch Kernel ด้วย  
VPN แบบ tun/tap ได้แก่ OpenVPN ,Vtune ,tinc และ CIPE  โดยในบทความครั้งนี้จะกล่าวถึง OpenVPN โดยเฉพาะ ซึ่งเป็น VPN Server  ที่ทำงานบนโปรโตคอล SSL ( Secure Socket Layer )  การติดตั้งเหมือนการใช้งานแอพพลิเคชันทั่วไปที่ทำงานร่วมกับ SSL  ซึ่งมีผลให้การติดตั้งไม่ยุ่งยากและที่สำคัญสามารถวิ่งได้หลายแพลตฟอร์มไม่ ว่าจะเป็น Linux, Windows 2000/XP (หรือสูงกว่า), OpenBSD, FreeBSD,  NetBSD, Mac OS X, และ Solaris  
    ท่านสามารถดูตารางเปรียบเทียบ VPN Server ทั้ง 3 กลุ่มได้ที่  
http://www.math.ucla.edu/~jimc/documents/vpn.html  สำหรับบทความนี้จะพูดถึงการใช้งาน OpenVPN โดยให้ VPN Server ทำงานบนลีนุกซ์และใช้ VPN Client ซึ่งทำงานอยู่บนวินโดวส์   นิยามศัพท์ของ VPN 
TUN     ( Virtual Point-to-Point network device ) ไดร์เวอร์  TUN ผูกติดกับ Kernel ของลีนุกซ์ซึ่งพร้อมใช้งานได้ ทันทีใน  Fedora Core  แต่ถ้าเป็นตระกูล RedHat Clone จะไม่ได้คอมไพล์ TUN มาให้ จึงต้องคอมไพล์  Kernel ใหม่  TUN device มีหน้าที่สร้างอุโมงค์ไอพี ( IP tunneling )  แอพพลิเคชันจะทำการอ่านและเขียน  IP Frame ผ่าน TUN 
 
ข้อดี    สำหรับการทำงานผ่าน TUN 
ทำงานได้รวดเร็ว 
 
ข้อเสีย    สำหรับการทำงานผ่าน TUN 
  
สนับสนุน IP Frame เท่านั้น   
VPN Client ที่ติดต่อเข้ามาจะอยู่คนละ Subnet Mask กับ VPN Server  TAP  ( Virtual Ethernet network device ) ทำหน้าที่คล้ายกับ TUN  เพียงแต่แอปพลิเคชันจะทำหน้าที่อ่านและเขียน Ethernet Frame ผ่าน TAP  device 
 
ข้อดี    สำหรับการทำงานผ่าน TAP 
  
สนับสนุน Ethernet Frame จึงสามารถใช้โปรโตคอลอื่นๆ นอกเหนือจากไอพีได้ เช่น IPX   
VPN Client ที่ติดต่อเข้ามาจะมี Subnet Mask เดียวกับ VPN Server 
 
ข้อเสีย    สำหรับการทำงานผ่าน TAP 
  
ทำงานช้ากว่า TUN    
    Passive Attack  คือ ผู้แอบดูข้อมูลระหว่างเครื่องคอมพิวเตอร์ 2 เครื่องที่กำลังติดต่อกัน วิธีการป้องกันคือ การเข้ารหัสข้อมูล  
Active Attack  คือ ผู้ที่มีความสามารถเข้ามาแทรก  หรือเพิ่มเติมแก้ไขข้อมูลระหว่างทางที่เครื่องคอมพิวเตอร์กำลังติดต่อกัน  วิธีการป้องกันคือ พิสูจน์ตัวตน  ( authentication ) OpenVPN ใช้ HMAC  ในการพิสูจน์ตัวตนในการแลกเปลี่ยนแพ็กเก็ต    แนวคิดของ OpenVPN    OpenVPN พัฒนาโดย James Yonan  ซึ่งมีแนวคิดการออกแบบให้สามารถใช้งานได้หลากหลายแพล็ตฟอร์ม  การติดตั้งต้องสามารถทำได้ง่าย ปลอดภัย รวมถึงความรวดเร็วทำงาน ดังนั้น  OpenVPN  จึงนำแนวคิดเหล่านี้ถ่ายทอดออกมาเป็นในรูปแบบการส่งข้อมูลที่เข้ารหัสแล้ว ผ่านโปรโตคอล UDP ( User Datagram Protocol ) ซึ่ง James Yonan  ได้บอกว่าการนำข้อมูลที่เข้ารหัส  ห่อหุ้มด้วย IP Frame  และวิ่งไปบนโปรโตคอล UDP เป็นทางเลือกที่ดีที่สุด ( ในกรณีที่ต้องการให้ IP  Frame วิ่งบน TCP ก็สามารถทำได้แต่ค่าปรกติที่กำหนดไว้คือ UDP ) ดังรูปที่  1   
  
 
รูปที่ 1 การส่งข้อมูลผ่าน OpenVPN โดยส่งผ่านโพรโตคอลผ่าน UDP  
หมายเหตุ : 
 ท่านสามารถอ่านเหตุผลการทำ VPN ซึ่งส่งข้อมูลผ่าน tun/tap วิ่งไปบน 
โปรโตคอล UDP ได้ที่ 
 
http://sites.inka.de/bigred/devel/tcp-tcp.html  
http://openvpn.sourceforge.net/papers/BLUG-talk/  
OpenVPN รุ่นก่อนหน้าเวอร์ชัน 2.0 จะต้องทำการติดตั้งอินเตอร์เฟส  TUN/TAP ที่ VPN Server ตามจำนวนที่  VPN Client ที่ติดต่อเข้ามา เช่น มี  VPN Client จำนวน10 เครื่องที่ต้องการติดต่อกับเครื่อง VPN Server  จะต้องติดตั้ง TUN/TAP ไว้ 10 อินเตอร์เฟส (TUN0/TAP0-9) บนเครื่อง VPN  Server  แต่ OpenVPN 2.0 ขึ้นไป สามารถใช้งานหลาย VPN Client  ผ่านอินเตอร์เฟส TUN/TAP เพียงอินเตอร์เฟสเดียวได้  ดังนั้นในบทความนี้จะพูดถึง OpenVPN 2.0 ขึ้นไป   คุณสมบัติของ OpenVPN   
ทำอุโมงค์แบบ IP Frame และแบบ Ethernet Frame ได้   
มีความปลอดภัยในระดับป้องกันทั้ง Passive Attack และ Active Attack   
ทำ chroot environment และสามารถวิ่งในสิทธิ์ของยูสเซอร์ธรรมดาได้ หลังจาก Initialize สำเร็จแล้ว   
ทำ Load Balance กรณีที่มี VPN เซิร์ฟเวอร์หลายตัว   
สนับสนุนการเข้ารหัสในรูปแบบ Pre-shared Keys และ Certficated Keys   
สนับสนุนการทำงานในรูปแบบ HMAC Authentication   
สนับสนุนการบีบอัดข้อมูลเพื่อลดปริมาณการจราจรบนเครือข่าย   
ทำ DHCP เพื่อแจกจ่ายไปยัง VPC ไคลเอนต์  ไม่ว่าจะเป็นการกำหนด route, DNS, WINS ซึ่งเหมาะกับการใช้งานแบบ road-warrior   
ทำอุโมงค์ผ่าน NAT ได้   
ไม่ต้องแก้ไข  kernel โดยปกติ kernel ของลีนุกซ์จะสนับสนุนการใช้งาน tun/tap อยู่แล้ว   
ใช้ได้หลากหลายแพล็ตฟอร์มดังที่ได้กล่าวไปแล้วข้างต้น   
OpenVPN เป็น GPL   
   
ผังเน็ตเวิร์กตัวอย่างสำหรับการติดตั้ง VPN  
  
 
รูปที่ 2 ผังเน็ตเวิร์กตัวอย่างสำหรับการทดสอบ OpenVPN  
ข้อมูลเพิ่มเติมจากเน็ตเวิร์กตัวอย่าง 
 
 
VPN Server VPN Client  
Local Address  192.168.0.254 From VPN Server  
Tunnel Endpoint 192.168.100.1 192.168.100.2  
OpenVPN Gateway (Router) DHCP From ISP DHCP From ISP  
  
 
  
เตรียมแพกเกจก่อนการติดตั้ง 
แหล่งที่มาของซอฟต์แวร์ OpenVPN คือ http://openvpn.sourceforge.net ไปที่เมนู Download จะพบไฟล์ 3 ไฟล์ดังนี้    
Windows Installer: openvpn-2.0_rc1-install.exe   
Source (Tarball): openvpn-2.0_rc1.tar.gz   
Source (Zip): openvpn-2.0_rc1.zip   
   ให้ดาวน์โหลด openvpn-2.0_rc1.tar.gz เพื่อที่จะทำ VPN Server (  บนเครื่องลีนุกซ์ ) และ openvpn-2.0_rc1-install.exe สำหรับ VPN client (  บนเครื่องวินโดวส์ )   กรณีที่ต้องการใช้การบีบอัดข้อมูลเพื่อความรวดเร็วในการทำงานต้องเตรี ยมแพกเกจ  lzo ด้วย สามารถดาวน์โหลดได้ที่  http://dag.wieers.com/packages/lzo/ โดยให้เลือกไฟล์ rpm  ให้เหมาะสมกับระบบปฏิบัติการของท่าน   ในกรณีต้องการใช้งานในแบบ GUI ผ่าน VPN Client ท่านสามารถดาวน์ VPN GUI ได้ที่  http://www.nilings.se/openvpn/download.html โดยเลือกไฟล์ openvpn-gui-1.0.exe    การติดตั้ง VPN Server บนลีนุกซ์ 
 
ติดตั้งแพกเกจ    ติดตั้ง lzo  ด้วยคำสั่ง rpm -i lzo-1.08-3.1.xxx.rpm    
ติดตั้ง openvpn ด้วยคำสั่ง rpm -tb openvpn-2.0_rc1.tar.gz จะได้แพกเกจ  openvpn-2.0_rc1-1.rpm    
ติดตั้ง openvpn อีกครั้งด้วยคำสั่ง rpm -i openvpn-2.0_rc1-1.rpm   
     
สร้างคีย์เพื่อทำ SSL     เปลี่ยนไดเรกทอรีไปที่ /usr/share/openvpn/easy-rsa     
สร้างค่าตัวแปรโดยการเรียก . vars     
ลบข้อมูลเดิมด้วยคำสั่ง ./clean-all     
สร้าง Certificate Authority (CA) ด้วยคำสั่ง ./build-ca ( ตอบคำถามการสร้าง CA )     
สร้างกุญแจสำหรับเครื่อง VPN Server ด้วยคำสั่ง ./build-key server (ตอบคำถามตามความเหมาะสมสำหรับการสร้างกุญแจ)     
สร้างกุญแจสำหรับเครื่อง VPN Client ด้วยคำสั่ง ./build-key client  (ตอบคำถามตามความเหมาะสมสำหรับการสร้างกุญแจ)     
สร้างคีย์ Diffie-hellman ด้วยคำสั่ง ./build-dh     
นำคีย์ที่ได้จากการสร้างคือ ca.crt, server.key, server.crt, dh1024.pem ไปไว้ที่ /etc/openvpn     
กรณีต้องการใช้งาน auth-pam.pl ให้ทำสำเนาจาก  /usr/share/openvpn/sample-scripts/auth-pam.pl ไปที่ /etc/openvpn    
   
  
 สร้างไฟล์ /etc/openvpn/server.conf  
port 1194 
dev tun 
#dev tap 
 
tls-server 
 
dh dh1024.pem 
ca ca.crt 
cert server.crt 
key server.key 
 
auth-user-pass-verify ./auth-pam.pl via-file 
#client-disconnect ./logoff.sh 
 
#up ./openvpn.up 
 
mode server 
duplicate-cn 
ifconfig 192.168.100.1 192.168.100.2 #(tun) 
#ifconfig 192.168.100.1 255.255.255.0 #(tap) 
 
ifconfig-pool 192.168.100.100 192.168.100.200 # (tun)IP range for openvpn client 
#ifconfig-pool 192.168.100.100 192.168.100.200 255.255.255.0 # (tap)IP range fomtu-test 
tun-mtu 1500 
tun-mtu-extra 32 
mssfix 1450 
ping 10 
ping-restart 120 
 
push "ping 10" 
push "ping-restart 60" 
 
push "dhcp-option DOMAIN ccm.com"    # push the DNS domain suffix 
push "dhcp-option DNS 192.168.0.254"     # push DNS entries to openvpn client 
push "dhcp-option WINS 192.168.0.254"    # push DNS entries to openvpn client 
push "route 192.168.0.0 255.255.255.0" # (tun)add route to to protected network 
push "route 192.168.100.1" # (tun)add route to to protected network 
#push "route 192.168.0.0 255.255.255.0 192.168.100.1" # (tap)add route to to pro tected network 
;user nobody 
;group nobody 
comp-lzo 
status-version 2 
status openvpn-status.log 
verb 3     
หมายเหตุ    ไฟล์ server.conf สามารถดูตัวอย่างพร้อมคำอธิบายได้ที่ไดเรกทอรี 
/usr/share/openvpn/sample-config-files จากตัวอย่างไฟล์ server.conf  ข้างต้นจะเห็นเครื่องหมายคอมเมนต์ของการใช้งานผ่าน TAP  ในกรณีผู้อ่านต้องการใช้ VPN ผ่าน TAP ให้ทำเครื่องหมายคอมเมนต์ที่ TUN  และนำเครื่องหมายคอมเมนต์หน้าบรรทัด TAP ออก  
 
 
 
  
สั่งให้ openvpn ทำงานด้วยคำสั่ง service openvpn start  ถ้าระบบพร้อมที่จะทำงานผู้อ่านควรตรวจสอบด้วยคำสั่งเหล่านี้ก่อนที่เริ่มติด ตั้ง VPN Client     
ใช้คำสั่ง ifconfig จะพบ tun device tun0     Link encap:Point-to-Point Protocol 
inet addr:192.168.100.1  P-t-P:192.168.100.2  Mask:255.255.255.255 
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1 
RX packets:689 errors:0 dropped:0 overruns:0 frame:0 
TX packets:735 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:100 
RX bytes:87131 (85.0 Kb)  TX bytes:105585 (103.1 Kb)  
 
  
ใช้คำสั่ง ifconfig จะพบ tap device (กรณีใช้ tap) tap0      Link encap:Ethernet  HWaddr 00:FF:30:23:39:94 
inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0 
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
RX packets:1293 errors:0 dropped:0 overruns:0 frame:0 
TX packets:1355 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:100 
RX bytes:161389 (157.6 Kb)  TX bytes:468689 (457.7 Kb)  
 
  
ใช้คำสั่ง netstat -na | grep 1194 udp      0           0 0.0.0.0:1194       0.0.0.0:*    
   
 
กรณีที่ระบบของท่านมีไฟล์วอลล์กรุณาให้ไฟร์วอลล์ของท่านเปิดรับ UDP Port  1194 และเปิดรับแพกเก็ตที่มาจากอุปกรณ์ TUN หรือ TAP ด้วย  และในกรณีที่ต้องการใช้งานผ่าน Samba อย่าลืมกำหนดให้ Samba  รับไอพีแอดเดรสของ VPN Client ด้วย  สำหรับตัวอย่างการเปิดไฟร์วอลล์เพื่ออนุญาตการใช้งาน OpenVPN  สามารถดูได้ดังนี้ 
 
http://openvpn.sourceforge.net/howto.html  ( กรณีใช้ Iptables )  
http://www.shorewall.net/OPENVPN.html  ( กรณีใช้ Shorewall )  
    
 
การติดตั้ง VPN Client บนวินโดวส์  
 
ติดตั้งโปรแกรม openvpn-2.0_rc1-install.exe  
openvpn-gui-1.0-beta26.exe ( เป็นไฟล์เดี่ยวๆ ไม่ต้องติดตั้ง สามารถเรียกใช้งานได้เลย ) 
  
 
หลังจากติดตั้งโปรแกรมเรียบร้อยเราจะได้  Local Connection ที่เป็น  TAP-Win32 Adapter สามารถตรวจสอบได้ที่ Network Connections ดังรูปที่ 3   
 
  
 
รูปที่ 3 TAP Adapter ถูกสร้างขึ้นหลังจากติดตั้ง OpenVPN   
 
ในกรณีที่ติดตั้งแล้วยังไม่ได้ TAP-Win32 Adapter ให้ไปที่เมนู /Start/Openvpn/Add a new TAP-Win32 virtual ethernet adapter  
 
  
สร้างคีย์เพื่อทำ SSL เราได้มีการสร้างคีย์ไว้ในช่วงของการติดตั้ง VPN Server  ให้ทำการสำเนาไฟล์ที่เกี่ยวข้อง 3 ไฟล์มายังผู้ใช้ VPN Client คือ ca.crt,  client.crt, client.key หลังจากนั้นให้นำคีย์ทั้ง 3 ไปไว้ที่ไดเรกทอรี  \Program Files\OpenVPN\config  
  
สร้างไฟล์ client.ovpn ไฟล์นี้จะคล้ายกับไฟล์คอนฟิกเกอเรชันที่อยู่บนเครื่องเซิร์ฟเวอร์  แต่ถ้าวิ่งอยู่บนวินโดวส์เราจะใช้นามสกุลเป็น ovpn  ซึ่งเราจะต้องกำหนดดังนี้ 
 
 #dev tap 
dev tun 
port 1194 
 
remote <ชื่อของ VPN Server หรือจะใช้เป็นไอพีแอดเดรสก็ได้> 
 
tls-client  
auth-user-pass  
 
ca ca.crt 
cert client.crt 
key client.key 
 
mtu-test  
tun-mtu 1500  
tun-mtu-extra 32  
mssfix 1450 
pull  
 
comp-lzo  
verb 4      
 
  
สั่งให้ OpenVPN ทำงานด้วยการคลิกขวาที่ไฟล์ client.ovpn เลือก  Start OpenVPN on this config file หรือจะใช้ openvpn-gui  ให้ดับเบิ้ลคลิกที่ openvpn-gui หลังจากนั้นจะปรากฏ openvpn-gui เป็น Tray  Icon อยู่ด้านล่างให้คลิกขวาเลือก Connect เพื่อทำการเชื่อมต่อกับ VPN  Server ที่เราได้กำหนดในไฟล์ client.ovpn เมื่อเชื่อมต่อเรียบร้อย open-gui  ที่ Tray Icon จะมีสีเขียว หลังจากนั้นให้ทดสอบการทำงานผ่าน VPN  ได้ตามต้องการ จากนั้นเรามาตรวจสอบค่าของของการเชื่อมต่อของ Local Area  Connection 4 จะปรากฏข้อมูลดังรูปที่ 4 และรูปที่ 5   
 
  
 
รูปที่ 4 ข้อมูล TAP Adapter หลังจากเชื่อมต่อแบบ TUN   
 
  
 
รูปที่ 5 ข้อมูล TAP Adapter หลังจากเชื่อมต่อแบบ TAP   
 
นำ VPN ไปประยุกต์ใช้  
OpenVPN เป็น VPN ที่มีความสามารถค่อนข้างครบครันในระดับหนึ่ง  ไม่ว่าจะเป็นเรื่องความง่ายในการใช้งาน ระบบความปลอดภัย  การใช้งานได้หลากหลายแพลตฟอร์ม  ประกอบกับเอกสารที่มีมากมายซึ่งหาได้จากเว็บไซต์ของ OpenVPN  ทำให้ผู้ที่จะเริ่มต้นการลงระบบ VPN คงเป็นเรื่องไม่ยากนัก  ตัวผู้เขียนหลังจากทดสอบการใช้งานผ่าน Windows Explorer  พบว่ามีความเร็วในระดับที่น่าพอใจทั้งในรูปแบบการติดต่อผ่าน TUN และ TAP  หลังจากนั้นลองทดสอบเรียกไฟล์ Northwind.mdb ซึ่งมีขนาด 2 MB ด้วยโปรแกรม  MS Access ใช้เวลาประมาณ 5 วินาที  ( บน ADSL ความเร็ว 1 Mbps )   สำหรับท่านที่มีอินเตอร์เนตความเร็วสูงกว่านี้ ( ประมาณ 2 MB ขึ้นไป )  ลองทดสอบกับแอพพลิเคชันที่เขียนในรูปแบบ Client/Server  อาจทำให้แอพลิเคชันจากเดิมที่สามารถใช้งานภายเพียงแค่ในออฟฟิศ  เปลี่ยนมาใช้งานผ่าน VPN ซึ่งมีความปลอดภัย  โดยที่ท่านไม่จำเป็นต้องไปเขียนแอพพลิเคชันใหม่เพื่อวิ่งบนอินเตอร์เนต    
แหล่งข้องมูลอ้างอิง 
http://openvpn.sourceforge.net/howto.html   
http://openvpn.sourceforge.net/papers/openvpn-101.pdf 
 http://www.math.ucla.edu/~jimc/documents/vpn.html 
 http://www.linuxjournal/article/7949  
 http://www.sans.org/rr/papers/20/1459.pdf   
 http://fedoranews.org/contributors/florin_andrei/openvpn/    
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
ไม่มีความคิดเห็น:
แสดงความคิดเห็น