ตัวอย่างการติดตั้งใช้งาน OpenVPN แบบ Net-to-Net บน IPCop

โดย อดิศร  ขาวสังข์
เขียนเมื่อ 11/11/2006
ทดลองบน IPCop 1.4.11      
อ้างอิง : http://www.zerina.de/?q=documentation/howto-net2net


บทนำ
การติดตั้ง OpenVPN บน IPCop จะมีสองแบบคือ

  1. Host-to-Net Virtual Private Network (RoadWarrior)
  2. Net-to-Net Virtual Private Network

ซึ่งในที่นี้เราจะใช้โปรแกรม ZERINA OpenVPN addon ซึ่งเป็น addon สำหรับ IPCop เพื่อคอนฟิกให้สามารถใช้งานเป็นแบบ Net-to-Net ซึ่งอาจจะเรียกเป็นแบบ site-to-site หรือ Intranet VPN ก็ได้

ความต้องการของระบบ
การทดลองในที่นี้สมมุติว่าองค์กรของเรามีสำนักงานอยู่ 2 แห่ง เป็น Site A และ Site B ดังรูป ซึ่งในความเป็นจริงแล้วอาจจะมีจำนวน Site มากกว่านี้ แต่การประยุกต์ใช้งาน ก็ใช้หลักการที่จะกล่าวถึงนี้ได้ครับ และทั้งสอง Site ได้เช่าใช้บริการอินเตอร์เน็ตจากผู้ให้บริการเรียบร้อยแล้ว  นั่นหมายถึงทั้งสอง Site สามารถใช้งานอินเตอร์ได้  แต่มีความต้องการเพิ่มเติมคือ ต้องการให้เครืิอข่ายภายในที่ใช้ IP เป็น Private IP ของทั้งสอง Site สามารถเชื่อมต่อกันได้โดยมีรความปลอดภัยของข้อมูลที่น่าเชื่อถือได

ทางออกในที่นี้คือการใช้ระบบ VPN โดยเลือกเป็น OpenVPN เพราะเป็น Open Source ที่ไม่ต้องลงทุนซื้อ  และเลือกที่จะใช้ OpenVPN บน IPCop เพราะสามารถเซ็ตได้ง่าย และในที่นี้ผู้เขียนเลือกใช้ขา Green และขา Red เ่ท่านั้น โดยขา Red ของทั้งสอง Site ต้องเป็น Public IP ที่ได้จาก ISP ส่วนขา Green เป็น Private IP




ขั้นตอนการติดตั้ง ZERINA OpenVPN addon

  1. ติดตั้ง IPCop ทั้ง 2 Site ซึ่งในที่นี้ผู้เขียนใช้ IPCop 1.4.11 (ใช้เวอร์ชันเก่ากว่านี้ก็ได้) และจะไม่ขอกล่าววิธีการติดตั้งในที่นี้

  2. ทำการ  Enable ssh access บนเครื่อง IPCop ของทั้งสอง Site ด้วยการคอนฟิกผ่านเว็บ ก็ให้เรียกใช้งานไปที่ http://hostmane-or-private-ip:81  จากนั้นจะถูก redirect ไปที่ https://hostmane-or-private-ip:445/ โดยให้เืืลือกเมนู System --> SSH Access และให้เลือก Checkbox ดังรูป แล้วคลิ๊กปุ่ม Save



  3. ทำการติดตั้งโปรแกรม ZERINA OpenVPN addon ซึ่งเป็น OpenVPN for IPCop แบบ GUI บน IPCop ของทั้งสอง Site โดยมีขั้นตอนดังนี้
    1. ดาวน์โหลดโปรแกรม ZERINA OpenVPN addon (ZERINA-0.9.4d-Installer.tar.tar) ได้ที่ http://www.zerina.de/  โดยให้วางไว้ที่เครื่อง PC ที่ใช้สำหรับการคอนฟิกก่อน

    2. ดาวน์โหลดโปรแกรม WinSCP (หรือโปรแกรม SCP ของค่ายอื่น) ซึ่ง SCP เป็น Secure Copy ที่ใช้ SSH Protocol ในที่นี้ใช้สำหรับถ่ายโอนไฟล์จากเครื่องที่ใช้สำหรับการคอนฟิก (Window) ไปยังเครื่อง IPCop โดยดาวน์โหลดได้ที่ http://winscp.net/

    3. ติดตั้ง WinSCP และอัพโหลดไฟล์ ZERINA-0.9.4d-Installer.tar.tar จากเครื่อง PC ไปยังเครื่อง IPCop โดยการติดต่อไปยัง IPCop ให้ใช้พอร์ต 222 ซึ่งในที่นี้ผู้เขียนได้สร้างไดเร็คทอรี่บน IPCop ชื่อว่า ZERINA ดังรูป





    4. เข้าไปที่เครื่อง IPCop ทั้งสองเครื่อง อาจจะ Remote ผ่าน ssh โดยใ้ช้พอร์ต 222 ซึ่งในที่นี้ผู้เขียนใช้โปรแกรม PuTTY และทำการแตกไฟล์ ZERINA-0.9.4d-Installer.tar.tar (uppack) ด้วยคำสั่ง :
      tar -xzvf ZERINA-0.9.4d-Installer.tar.tar

      และจะได้ไฟล์ออกมาดังรูป



    5. ติดตั้งโปรแกรมด้วยคำสั่ง
      ./install

  4. ทำการสร้าง Configuration file ซึ่งเป็นขั้นตอนที่สำคัญ ห้ามข้ามขั้นตอนนี้เด็ดขาด วิธีการคือ ที่หน้าเว็บเพจของ IPCop ให้เลือกเมนู VPNs --> OpenVPN ที่ส่วนของ Global settings ให้คลิ๊กที่ปุ่ม Advanced Server options และให้คลิ๊กปุ่ม Save Advanced options โดยไม่ต้องเปลี่ยนแปลงค่าใด ๆ





การคอนฟิำก OpenVPN ที่ Site A (OpenVPN Server)

  1. Certificate Authorities ในส่วนของ Certificate Authorities ให้่คลิ๊กปุ่ม Generate Root/Host Certificates ดังรูป



  2. และป้อนข้อมูลให้ตรงความเป็นจริง คล้ายกับรูปข้างล่างนี้ แล้วให้คลิ๊กปุ่ม Generate Root/Host Certificates



  3. จากนั้นจะได้ Root Certificate และ Host Certificate ดังรูป



  4. Adding a new connection ในส่วนของ Net to Net Connection status and control ให้คลิ๊กปุ่ม Add ดังรูป



  5. จากนั้นให้เลือกหัวข้อ Net-to-Net Virtual Private Network และคลิ๊กปุ่ม Add ดังรูป



  6. ให้ป้อนข้อมูลต่าง ๆ คล้ายกับรูปข้างล่างนี้ แล้วคลิ๊กปุ่ม Save โดยค่าที่จำเป็นมีความหมายดังนี้ :
    - Local VPN Hostname/IP : ในที่นี้ผู้ใช้เลือกเป็น IP โดยป้อน IP ที่เป็น Public IP ของ Server ด้าน Site A (Red Interface)
    - Remote Host/IP : เป็น IP ของ Red Interface ของ Site B
    - Local Subnet : เป็น subnet IP ของ Green Interface ด้าน Site A
    - Remote subnet : เป็น subnet IP ของ Green Interface ด้าน Site B
    - OpenVPN Subnet : เป็น Virtual Subnet ตรงนี้ให้เลือกค่าที่เหมาะสมเป็นอะไรก็ได้




  7. Downloading client package  เมื่อทำขั้นตอนในข้อ 6 เสร็จแล้วจะได้ผลดังรูป และใ้ห้ทำการ Download Client Package มาเก็บไว้ในเครื่อง PC ก่อนเพื่อเตรียมสำหรับ Copy ไปยังเครื่อง Server ที่อยู่ ด้าน  Site B ต่อไป

    โดยให้คลิ๊กที่ปุ่ม และบันทึกไฟล์ดังกล่าวไว้ในเครื่อง PC ที่ใช้สำหรับการคอนฟิก



    ให้คลิ๊กปุ่ม Save ดังรูป

การคอนฟิำก OpenVPN ที่ Site B (OpenVPN Client)

  1. ให้เปิดหน้าต่างเว็บเพจสำหรับการคอนฟิกที่ Server Site B ซึ่งในที่นี้ีคือ http://192.168.2.1:81 แ้ล้วเลือกหัวข้อ OpenVPN และส่วนของ Certificate Authorities โดยให้คลิ๊กที่ปุ่ม Generate Root/Host Certificates ดังรูป



  2. แล้วให้ป้ัอนค่าต่าง ๆ คล้ายกับรูปข้างล่างนี้ แล้วคลิ๊กปุ่ม Generate Root/Host Certificates



  3. แล้วจะได้ผลลัพท์ดังรูป



  4. ในส่วนของ Net to Net Connection status and control ให้คลิ๊กปุ่ม Add ดังรูป



  5. ให้เลือก upload z ZERINA Net-to-Net packate แล้ว Browse ไปหาไฟล์ที่ได้ดาวน์โหลดมาจาก Server ของ Site A แล้วคลิ๊กปุ่ม Add ดังรูป



  6. จากนั้นให้คลิ๊กที่ปุ่ม Approved ซึ่งจะเห็นว่า ค่าของ OpenVPN Subnet จะเป็นค่าเดียวกันกับของ Site A ก็ไม่ต้องพยายามแก้ไขใด ๆ นะครับ  ให้ใช้ค่านี้แหละ



  7. ให้ทำการ enable ที่ส่วนของ Action



  8. และเมื่อการเซ็ตค่าถูกต้องจะได้ผลของทั้งด้าน server-Net และด้าน client-Net ดังรูป




  9. ทดสอบการเชื่อมต่อระหว่าง Site ด้วยการ ping เพื่อยืนยันว่าได้ผลตามที่ต้องการดังรูป




จบครับ