Mr.Green

สร้าง บันทึกและแบ่งปัน

พิมพ์ค้นหาบทความได้ในช่องค้นหา

ติดตั้ง OpenVPN Server บน Pfsense

ติดตั้ง OpenVPN Server บน Pfsense

ภาพรวมการดำเนินการทั้งหมด

  • สร้าง Authorities (หากเป็นรุ่นเก่าจะเรียกว่า CAs)
    • ปรับแต่ง Authorities
  • สร้าง Certificates
    • ปรับแต่ง Certificate
  • Configuring OpenVPN on PFSense
    • General OpenVPN Server Information
    • Cryptographic Settings
    • Tunnel Settings and Client Settings
    • Client Settings
  • ติดตั้ง Exports client
  • ส่งไฟล์ ให้ผู้ที่ต้องการเชื่อมต่อ

Creating a Certificate Authority on PFSense

เริ่มจากการเข้าไปยังหน้า Certificates เพื่อสร้าง Authorities  ก่อน ตามเส้นทางดังภาพ System>Certificates (หากเป็นรุ่นเก่า จะเป็นการสร้าง CAs หลักการคล้ายกัน แต่เมนูจะชื่อ Cert,manager)

สร้าง Authorities

วิธีการสร้าง ในขณะที่เราคลิกเลือก Authorities ให้คลิก Add ซึ่งอยู่ด้านล่าง   เพื่อเข้าไปปรับแต่ง ค่ารายละเอียดตามที่เราต้องการ (หากเป็นรุ่นเก่า จะเป็นการสร้าง CAs)

จากภาพด้านบน จะเห็นว่า มีการสร้างไว้แล้ว มีชื่อว่า PFsense_RootCA หากต้องการสร้างตัวใหม่ ให้คลิก Add ด้านล่าง (ในภาพไม่โชว์ เพราะจำภาพไม่ได้) หรือหากต้องการแก้ไขรายละเอียด รวมทั้งการจัดการเกี่ยวกับคีย์หรือการ Export ต่างๆๆ สามารถดำเนินการได้

การกำหนดค่า ใน Authorities

  • ในกรอบหน้าต่าง Create/Edit CA กำหนดได้ตามรายละเอียดภาพข้างล่าง
ในกรอบหน้าต่าง Create/edit CA

Descriptive name = ตั้งชื่ออะไร ก็ได้ แต่ต้องจำให้ได้ เพราะไว้อ้างอิงในขั้นตอนต่างๆๆ ทางที่ดีจดไว้หรือสร้างให้เหมือนเขาแนะนำ จะได้เข้าใจ ตามตัวอย่าง ตั้งชื่อว่า PFSenst_RootCA

Method = ให้เลือก Create an internal Certificate Authority

  • ในกรอบ Internal Certificate Authority
ในกรอบหน้าต่าง Internal Certificate Authority

กำหนดรายละเอียดดังนี้ ส่วนรายละเอียดอื่นสามารถกำหนดได้ตามข้อมูลของเรา ได้ตามความต้องการ บางตัวเป็นตัวเลือก อาจจะไม่ต้องกำหนดก็ได้

  • Key length  =2048
  • Digest Algorithm =sha256
  • Lifetime(days)=3650
  • ส่วนรายละเอียดอื่น กำหนดได้ตามต้องการ

ตัวอย่างการกำหนดค่า ในกรณีที่เป็นรุ่นเก่า ซึ่งแตกต่างกันไม่มาก

  • Descriptive name=ตั้งชื่ออะไร ก็ได้ แต่ต้องจำให้ได้ เพราะไว้อ้างอิงในขั้นตอนต่างๆๆ ทางที่ดีจดไว้หรือสร้างให้เหมือนเขาแนะนำ จะได้เข้าใจ ตามตัวอย่าง ตั้งชื่อว่า PFSenst_RootCA
  • Method = ให้เลือก Create an internal Certificate Authority
  • Key length  =2048
  • Digest Algorithm =sha256
  • ที่เหลือกำหนดรายละเอียดได้ตามความต้องการ เป็นอันว่าเสร็การสร้าง CAs

สร้าง Certificates

คลิกตรง Certificates ตามภาพ ซึ่งอยู่ถัดจาก Authorities ให้คลิก Add/Sign ซึ่งอยู่ด้านล่าง   เพื่อสร้าง Certificates  อย่าสับสนนะครับ ตัวแรกคือการสร้าง Authorities (หากเป็นรุ่นเก่าจะเรียกว่า CAs) จากภาพด้านล่างจะเห็นว่ามีการสร้างไว้แล้วในชื่อ VpnServerCert

ในกรณีที่เป็น Pfsense รุ่นเก่าจะเป็นดังภาพข้างล่าง

การปรับแต่ง Certificates

ในการปรับแต่งในขั้นตอนนี้ หากดูภาพจะมาก แต่จริงๆ แล้วแก้ไขเพิ่มแค่ 2  ขั้นตอนคือ

ในกรอบหน้าต่าง Add/Sign a New Certificate

  • Method ให้เลือก Create an Internal Certificate
  • Descriptive name ให้กำหนดชื่อตามที่เราต้องการ แต่ ต้องจำไว้ด้วยเพราะต้องไปอ้างอิงในการกำหนดค่าส่วนอื่น

ในส่วนของหน้าต่าง Internal Certificate และ Certificate Attributes

ในหน้าต่าง Certificate Attributes อย่าลืม ให้กำหนดค่า Certificate type ให้เป็น Server Certificate

  • Method ให้เลือก Create an internal Certificates
  • Certficates  ให้เลือก  Server Certificates

คลิก Save  

Configuring OpenVPN on PFSense

ขั้นตอนนี้ จะเป็นการปรับแต่งเพื่อใช้งาน Openvpn Server บน Pfsens โดยใช้  wizard ของ OpenVpn คลิกเลือกเส้นทางเพื่อเปิด OpenVpn ตามภาพ

  • เลือกเมนูแทบ ตรง Wizards

  • Type of server ให้เลือก  Local User Access  คลิก  Next

  • ในกรอบ Choose a Certificate Authority (CA)

ขั้นตอนนี้ ให้เราเลือก Certificates Authority =PFSense_RootCA   คือตัวที่เราสร้างตัวแรกสุด ขั้นตอนการสร้าง Authorities (หรือหากเป็นรุ่นเก่าจะเรียกว่า CAs)  หากคลิกแล้วไม่เจอ ก็ต้องกลับไปดูหรือสร้างใหม่ หรือใครที่ตั้งชื่อเป็นอย่างอื่นก็เลือกตามชื่อที่ตั้ง 

  • Choose a Server Certificate 

ให้เลือก VPNServerCert  ตัวนี้ คือชื่อ Descriptive Name ในขั้นตอนที่เราสร้าง Certificates ในภาพเป็นชื่อ VPNServer_Cert เนื่องจากเป็นภาพเก่า แต่ให้จำหลักไว้ว่าในขั้นตอนที่เราสร้าง Certificates แล้วเรากำหนดชื่อ Descriptive Name ไว้ว่าอย่างไร ให้เลือกตัวนั้น

ขั้นตอนการปรับแต่งค่า

หลังจากที่เราได้กำหนดหรือเลือกค่า Authority และ Certificate เรียบร้อยเข้าก็จะเข้าสู่ขั้นตอนการปรับแต่งค่า ส่วนมากแล้วจะยังคงค่าเดิมไว้ แก้ไขเฉพาะในส่วนที่เราต้องการใช้งานเพิ่มเติมเท่านั้น ดูรายละเอียดตามภาพด้านล่าง

การกำหนดค่าในกรอบ Tunnel Setting

อย่าลืม การกำหนดค่า ไม่ใช่กำหนดค่า Ip Address แต่ให้ กำหนดค่า IP Network ของแต่ละเครือข่าย

ในกรณีที่เป็น Pfsense รุ่นเก่า สามารถปรับแต่งได้ดังนี้

General OpenVPN Server Information

ในหัวข้อนี้ เพิ่มเติมในส่วนเดียวคือในส่วนคำอธิบาย  Description ซึ่งจะใส่อะไรก็ได้ แต่ให้จำไว้ด้วย

Cryptographic Settings

ในหัวข้อนี้ ปล่อยให้เหมือนเดิม เลือกเฉพาะ

  • Auth Digest Algorithm =SHA256

Tunnel Settings and Client Settings

ในหัวข้อนี้ ให้แก้ไขโดยกำหนดค่าดังนี้

  • Tunnel Network  ให้กำหนด ip ของ Network  สำหรับ ip ที่กำหนดนี้ จะจ่ายให้กับเครื่องลูก เพราะฉะนั้น จะต้องไม่ให้ตรงกับวง Lan Dmz ของเรา จะเป็น ip  อะไรก็ได้
  • Redirect Gateway คลิกเลือก เป็นการกำหนดว่า เครื่องลูกจะต้องวิ่งผ่าน Tunnel
  • Local Network  คือ ip ของขา Lan คือไอพีของ Pfsense
  • Concurrent Connecttion คือกำหนดว่า จะให้เครื่องลูกใช้ได้กี่เครื่อง

 Client Settings

ปล่อยไว้เหมือนเดิม แต่ ตรงนี้ หากต้องการให้เครื่องลูกขณะเชื่อม vpn เข้าอินเตอร์เน็ตผ่าน VPN  ได้ ก็สามารถกำหนด DNS Server เพิ่มเติมได้

หรือต้องการปรับแต่งรายละเอียดเพิ่มเติมก็ปรับแต่งได้

ขั้นตอนการเพิ่ม Rule ไปยัง Firewall

ในขั้นตอนนี้ เราเลือกได้ว่า จะให้ Pfsense เพิ่มให้ หรือเราต้องการเพิ่มเอง

Next the wizard will want to create the Firewall rule configuration. Select the Firewall rule and the OpenVPN rule as per the example below and click ‘Next‘

Finally, the configuration is complete. Click ‘Finish‘.

เมื่อปรับแต่ง OpenVpn บน Pfsense เสร็จจะปรากฏดังภาพด้านบน ให้คลิก Finish

ติดตั้ง Client Export  Package

เป็นการติดตั้งเพื่อให้สามารถส่งไฟล์ติดตั้ง Openvpn ให้กับผู้ใช้ที่ต้องการจะเชื่อมต่อกับ Openvpn Server ที่เราจัดสร้างขึ้นตามบทความนี้ วิธีการติดตั้งไม่ขอนำเสนอด้วยภาพนะครับเพราะไม่ยาก แค่เข้าไปตามเส้นทางนี้ครับ

  1. System /Package Manager/ Available Packages
  2. เลือก openvpn-client-export package. แล้ว สั่ง Install 

การส่งออกไฟล์คอนฟิก ให้กับผู้ใช้ (Client.Export)

เมื่อเราติดตั้ง Client Export  Package จะปรากฏมีคำสั่งตามภาพ ที่วงสีเหลือง     จริงๆ  แล้วในเว็บที่อ้างอิงได้แนะนำให้ คอนฟิก ตรงผู้ใช้ด้วย (Clients) แต่ได้ทดลองแล้ว จะมีปัญหาตอน บูตระบบ จะมีการถามรหัสตลอด ทำให้เสียเวลาต้องเอาจอไปต่อกับเครื่อง Pfsense  และได้ทดลองไม่เข้าเพิ่มผู้ใช้ผ่าน เมนู Clients ระบบ ก็ยังทำงานได้ปกติ แต่เข้าไปจัดการใน User Manager  แทน

ขั้นตอนนี้ คือการ Export ไฟล์เพื่อส่งให้เครื่องลูกติดตั้งหรือแก้ไขเฉพาะค่าคอนฟิกเพื่อเชื่อมต่อมายัง Pfsense ที่เรากำลังดำเนินการ จะเห็นว่า สามารถ Exports  ออกมาได้หลายรูปแบบ สำหรับการดำเนินการ แบ่งได้ดังนี้

  1. ติดตั้ง Client Export  Package (Installing the OpenVPN Client Export Package) (ตามขั้นตอนที่ผ่านมา)
  2. เข้าไปจัดการเกี่ยวกับผู้ใช้ โดยเพิ่มผู้ใช้เข้ามาในระบบ 
  3. กลับมายัง ที่ Client Export   เพื่อเอาไฟล์ออกมาส่งให้ผู้ใช้ตามชื่อที่ปรากฏ และรูปแบบตามที่เขาต้องการ หรือคอมพิวเตอร์ อุปกรณ์ต่างๆๆ ที่ผู้ใช้รองรับ

การเพิ่มผู้ใช้ เพื่อให้ใช้งาน OpenVpn

การเพิ่มผู้ใช้งานธรรมดา กับการเพิ่มผู้ใช้งานเพื่อใช้ OpenVpn  แตกต่างกันนิดเดียว ตรง การกำหนด Certificates   ตามเส้นทาง

System/User Manager/Users

  • เพิ่ม Username ,passwd
  1. คลิก เลือก Certificate  เพื่อสร้าง Certificates ให้กับผู้ใช้ หากไม่เลือกตรงนี้ หน้าต่างด้านล่าง ที่เขียนว่า Create Certificate for User จะไม่โชว์ขึ้นมา
  2. อย่าลืมคลิกเลือก create a user certificate  แล้วเข้าไปกำหนดค่า
    • Descriptive  คือการสร้างคำอธิบายหรืออ้างอิง (ใส่ไว้นะครับ มันสะดวกในการจัดการ)
    • Certificate Authority = pfsense_RootCa  ตัวนี้ หากใครเป็นชื่ออื่น ก็เลือกให้ตรงชื่อนะครับ (ตัวนี้คือขั้นตอนที่เราสร้าง CAS ลองย้อนขึ้นไปดูนะครับ )
  3. หลังจากนั้น ก็คลิก Save   เป็นอันว่าเสร็จ

เข้าไปกำหนดค่า และ Export ไฟล์คอนฟิก เพื่อส่งให้ผู้ใช้

ให้ไปคลิกตรง Client Export แล้วกำหนดค่าตรง Client Connection Behavior

  • Client Connection Behavior ตรงนี้ กำหนดชื่อ Host หรือชื่อ Pfsense หรือ ip  กรณีเราใช้ ip  Public  ตามตัวอย่างเป็นการกำหนดค่า Fix Ip
  • OpenVPN Clients  เลือกชื่อผู้ใช้ แล้ว Export ส่งไปให้

เลือกชนิดของ OS ที่ใช้

เป็นอันว่าเสร็จสิ้นในการส่งการเชื่อม Vpn หลังจากนั้นให้ส่งข้อมูลให้กับผู้ที่ต้องการเข้ามาใช้งานผ่าน ระบบ Vpn Server

Tags:  ,

Leave a Reply

Your email address will not be published. Required fields are marked *