NAT and VPN Gateway on NCS with Pfsense-2.6.0
Last updated
Was this helpful?
Last updated
Was this helpful?
Pfsense Image on Customer Project
2 VPC Network
1 Private Subnet for Assosiate with External IP สำหรับทำเป็น WAN Interface
1 Private subnet ของลูกค้าที่ต้องการจะใช้ NAT Gateway (มีได้มากกว่า 1 Subnet) สำหรับทำเป็น LAN Interface
1 External IP สำหรับใช้ในการทำ NAT ออกไปยัง Internet และสำหรับ VPN client (OpenVPN)
OS ที่ในการทดสอบจะใช้ Pfsense-2.6.0 ในการทำ NAT Gateway และ OpenVPN
***ในคู่มือนี้จะไม่มีขั้นตอนในการนำ Image Pfsense เข้า NCSOS ที่ในการทดสอบจะใช้ Pfsense-2.6.0 ในการทำ NAT Gateway และ OpenVPN
Username : admin
Password : pfsense
OS Note : หากเข้าไม่ได้แล้วปรากฏ error ขึ้นมา ให้ทำการ console แล้วใส่ command line ตามด้านล่างนี้ครับ “pfSsh.php playback disablereferercheck“
ต้องทำก่อนการเพิ่ม Network Interface ที่ 2 เท่านั้น เนื่องจาก Default Rule ของ WAN ที่ Allow HTTP จะถูกย้ายไปอยู่ขา LAN เมื่อเราเพิ่ม Interface ใหม่ จะส่งผลให้ขา WAN ไม่มี Rule Firewall ที่ Allow HTTP ซึ่งทำให้เราไม่สามารถเข้าใช้งาน Pfsense ได้
หลังจากตั้งค่าพื้นฐานของ Pfsense เรียบร้อยแล้ว ดำเนินการดังต่อไปนี้
โดยสามารถมีได้มากกว่า 1 subnet ตัวอย่าง หากมี 2 subnet ที่ต้องการใช้งาน NAT Gateway จำเป็นต้อง add interface ของ 2 subnet นี้เข้าที่ pfsense ด้วย
เพื่อให้ Instance ที่อยู่ภายใต้ Virtual Network นั้น ได้รับ DHCP Default Route ไปยัง Pfsense แทนที่จะเป็น vRouter
การทำ Host Route จะเป็นการบอกให้ DHCP Server แจก Route ที่ระบุลงไปเมื่อ Client รับ DHCP ด้วย
ถ้า Instance เกิดขึ้นมาก่อนใส่ Host Route จำเป็นต้องต้อง release dhcp เพื่อที่จะได้รับ route ดังกล่าว "dhclient -r"
ถ้า instance เกิดมาหลังใส่ Host Route จะได้รับ route ดังกล่าวทันที
เมื่อทำ Host Route เรียบร้อยแล้ว จะต้อง Disable "Reverse Path Forwarding" บน Virtual Network ที่จะใช้ NAT Gateway โดยไปที่เมนู VPC Network > Subnet > more > Disable RPF > CONFIRM
Launch instance ขึ้นมาเพื่อทดสอบ NAT Gateway โดยใช้ Private Network
จะเห็นว่า default route จะชี้ไปทาง Pfsense แทนแล้ว และลองออก Internet จะเห็นว่าออกไปด้วย External IP ที่ Assosiate บน Pfsense ขา WAN อยู่
ไปที่เมนู System > Package Manager > Available Packages
จากนั้น Search "openvpn" และลง package "openvpn-client-export" เพื่อใช้สำหรับ export file opvn สำหรับลูกค้า
ไปที่เมนู System > Cert Manager > CA
Method : Create an internal Certificate Authority
Key Type : RSA 4096
Digest Algorithm : SHA256
Lifetime : 3650 (10 years)
ไปที่เมนู System > Cert Manager > Certificates
Method : Create an internal Certificates
Key Type : RSA 4096
Digest Algorithm : SHA256
Lifetime : 3650 (10 years)
Certificate Type : Server Certificate
Server Mode : Remote Access (User Auth)
Device Mode : Tun - Layer 3 Tunnel Mode
Protocol : UDP on IPv4 Only
Interface : WAN
Peer Certificate Authority : NCS (ชื่อตามตอนที่สร้าง CA)
Server Certificate : NCS-Server (ชื่อตามตอนที่สร้าง Certificate Server)
IPv4 Tunnel Network : 10.147.0.0/24 (Subnet สำหรับแจก client เวลา VPN เข้ามา พยายามตั้งค่าให้ไม่ชนกับ subnet ที่ลูกค้าใช้งานอยู่)
IPv4 Local Network : 10.148.0.0/24, 10.149.0.0/24 (Subnet ที่ต้องการใช้งานเมื่อ VPN เข้ามา)
เข้าไปที่เมนู System ➝ User Manager ➝ Users
สำหรับ VPN User ไม่จำเป็นต้องอยู่ใน Group Membership แค่สร้าง username/password ก็สามารถใช้งานได้
ตั้งค่า Host Name Resolution เป็น other และใส่ Host Name เป็น External IP ที่ Assosiate กับขา WAN
ทดสอบโหลด Profile จาก Pfsense และใช้งานบน iPad
สร้าง instance ใหม่ใน Private Network เพื่อทำเป็น web server ไว้ทดสอบ OpenVPN
ทดสอบเข้า web ด้วย OpenVPN