การคอนฟิก OpenVPN แบบ Host-to-Net (Roadwarrior) บน Endian Firewall Community

โดย อดิศร ขาวสังข์
จัดทำเมื่อ 19/07/2008
ทดลองบน efw 2.1.2

บทนำ
เมื่อเราติดตั้ง Endian Firewall Community แล้ว  ก็จะมีแอพพลิเคชันที่เป็น OpenVPN ที่สามารถพร้อมใช้งานได้  ทั้งแบบ net-to-net และ host-to-net ซึ่งในที่นี้จะกล่าวถึงการใช้งานแบบ host-to-net

การเชื่อมต่อ VPN แบบ host-to-net จะเป็นดังรูึปที่ 1 โดยด้านซ้ายของรูปก็เป็นเครือข่ายภายใน (LAN) ที่อยู่ในองค์กรของเราและมีการเชื่อมต่อกับเครือข่าย Internet เพื่อให้เครือข่าย LAN ของเราสามารถติดต่อไปยังโลกภายนอกที่เป็นอินเตอร์เน็ตได้ แต่โลกภายนอก (Inetnet) ไม่สามารถทะลุผ่านเข้าไปสู่เครือข่าย LAN ของเราได้โดยง่าย  เพราะติดเรื่องของระบบความปลอดภับและเทคนิคการออกแบบเครือข่าย  ดังนั้นถ้าจะให้โลกภายนอกสามารถทะลุผ่านเข้าไปยังเครือข่าย LAN ได้โดยมีความปลอดภัยก็จะต้องประยุกต์เอาระบบ VPN มาใ้ช้งาน


รูปที่ 1 การเชื่อมต่อ VPN แบบ host-to-net

การคอนฟิกฝั่ง Server

  1. เชื่อมต่อไปยัง Endian Firewall Community ผ่าน Web Browser (https://server_ip_address:10443)
  2. ไปที่เมนู vpn ด้านบน และเลือกเมนูย่อยเป็น Openvpn Server ด้านซ้ายมือ
  3. ป้อนค่า IP pool ซึ่งคือ IP Address ของเครือข่ายภายใน (LAN) ที่จะจ่ายให้กับเครื่อง (Roadwarrior) ที่จะเชื่อมต่อเข้ามานั่นเอง
  4. คลิ๊กที่ checkbox ของ OpenVPN Server enabled ให้มีเครื่องหมายถูก  ดังรูปที่ 2


    รูปที่ 2 การคอนฟิก Global setting ของ OpenVPN

  5. คลิ๊กปุ่ม Restart ของรูปที่ 2
  6. คลิ๊กที่ Link : Download CA Certificate ของรูปที่ 2 แล้วบันทึกไฟล์ไว้ในเครื่องที่ต้องการใช้งาน 
  7. คลิ๊กปุ่ม Add account และเพิ่มผู้ใช้ดังตัวอย่างในรูปที่ 3 แล้วคลิ๊กปุ่ม Save


    รูปที่ 3 ตัวอย่างการเพิ่ม user

  8. user ที่ add เข้าไปจะเป็นดังรูปที่ 4


    รูปที่ 4 vpn user

การคอนฟิกฝั่ง Client

  1. ดาวน์โหลดโปรแกรม OpenVPN GUI for Windows ได้จาก http://openvpn.se/
    1. เลือกเมนู Download ด้านซ้ายมือ  และเลือกเมนู Stable
    2. เลือกดาวน์โหลดโปรแกรมที่เป็น Installation Package ซึ่งในขณะที่เขียนบทความนี้มีชื่อไฟล์เป็น openvpn-2.0.9-gui-1.0.3-install.exe ดังรูปที่ 5


      รูปที่ 5

  2. ติดตั้งโปรแกรมที่ดาวน์โหลดมาลงในเครื่องที่ต้องการจะให้เป็น OpenVPN client โดยของผู้เขียนติดตั้งเป็นแบบ Default คือไม่ได้เลือก Options เพิ่มเติมใด ๆ ซึ่งการติดตั้งจะติดตั้งไฟล์ไว้ในตำแหน่ง C:\Program Files\OpenVPN
  3. เมื่อติดตั้งโปรแกรมแล้วจะปรากฏ Icon อยู่บน Taskbar ด้านล่างขวา ดังรูปที่ 6


    รูปที่ 6 OpenVPN icon

  4. สำเนาไฟล์ client.ovpn จากโฟลเดอร์ C:\Program Files\OpenVPN\sample-config ไปไว้ในตำแหน่ง C:\Program Files\OpenVPN\config โดยใช้ชื่อไฟล์เป็นชื่อเดิม
  5. คลิ๊กเมาส์ขวาบน VPN Icon ตามรูปที่ 6 แล้วเลือกเมนู Edit Config หรือจะเปิดไฟล์คอนฟิกจากตำแหน่งไฟล์โดยตรงนั่นคือไฟล์ C:\Program Files\OpenVPN\config\client.ovpn
  6. แก้ไขเพิ่มเติมไฟล์คอนฟิกดังกล่าวให้มีค่าต่อไปนี้ อยู่ในไฟล์

    client
    dev tap
    proto udp
    remote ovpn.south.cattelecom.com
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca cacert.pem
    auth-user-pass
    comp-lzo


    หมายเหตุ   หลังคำว่า remote เป็นค่า IP Address ของ OpenVPN Server ก็ได้
                     หลังคำว่า ca สามารถระบุ path ของไฟล์ได้ (ในกรณีไฟล์ ca วางไว้ที่ตำแหน่งอื่น)

  7. ให้ disable คำว่า cert client.crt และ key client.key ในไฟล์ client.ovpn ด้วยการเอาเครื่องหมาย ";" ไปไว้ข้างหน้า
  8. สำเนาไฟล์ ca (cacert.pem) ที่ดาวน์โหลดมาจาก OpenVPN Server (ในขั้นตอนที่ 6 ของการคอนฟิกฝั่ง Server) ไปไว้ที่ตำแหน่ง config ของโปรแกรมคือ C:\Program Files\OpenVPN\config

การเชื่อมต่อใช้งาน

  1. เลือกเมนู Connect บน Icon ของ OpenVPN Client แล้วจะมีการถาม user และ password ดังรูป


    รูปที่ 7

  2. เมื่อ Connect ได้แล้ว OpenVPN Icon บน Taskbar จะเปลี่ยนสีเป็นสีเขียวดังรูปที่ 8


    รูปที่ 8

  3. เมื่อตรวจสอบดู IP Address ที่ได้รับจาก Server ก็จะตรงกับช่วงของ IP pool ที่ได้เซ็ตไว้ดังรูปที่ 9


    รูปที่ 9

  4. ที่ฝั่งของ OpenVPN Server เืมื่อทำการมอนิเตอร์ดูสถานะการเชื่อมต่อก็จะเห็น user ที่กำลังเชื่อมต่อใช้งานอยู่ดังรูปที่ 10 ซึ่งสามารถที่จะ kill และ ban การใช้งานได้


    รูปที่ 10

  5. การใช้งานกับ user หลายคนสามารถทำให้สะดวกมากขึ้นด้วยการสำเนาไฟล์คอนฟิกต้นแบบที่ทำการปรับแต่งเรียบร้อยแล้ว พร้อมไฟล์ ca ที่ดาวน์โหลดมาจาก Server ส่งให้คนอื่น ๆ

จบครับ