Group Blog All Blog |
Pfsense for client-to-site vpn
Setup Pfsense as openvpn server for windows XP - Client to site
ติดตั้ง openvpn client Gen key สำหรับ server และ client Client config. file Setup Pfsense ทำ bridging ระหว่าง WAN และ Lan ของ Pfsense 1. ติดตั้ง openvpn client ดาวน์โหลด openvpn client จาก //wwwvpn.net สำหรับ windows รองรับ xp, vista, 7 จะมี 2 แบบคือ OpenVPN Access Server Windows Client Download OpenVPN Community Software Windows Client Download <--ใช้อันนี้ แล้วติดตั้งที่เครื่อง client 2. Gen Key สำหรับ server(pfsense) และ client เรียก command-pomp โดยต้องมีสิทธิ admin เข้าไปที่ path c:program filesopenvpneasy-rsa แล้วใช้คำสั่ง >init-config.bat แก้ไขไฟร์ vars.bat ด้วย text editor แก้ตัวแปร attribute เป็นตามต้องการ เช่น country, province, city, org, email >vars.bat >clean-all.bat >build-ca.bat <-- สร้าง file ca ตัวแปรที่สำคัญตอนสร้างคือ "Common Name" >build-key-server.bat server <-- สร้าง key, crt ของ server ตัวแปรสำคัญคือ "common name" ให้กำหนดเป็น "server" หรือตามชอบ >build-dh.bat <-- ไฟร์ในการเข้ารหัส >build-key.bat ovpn-client <-- สร้าง crt, key สำหรับ client โดย ovpn-client แทนด้วยชื่อที่เราต้องการ จะสร้างกี่ client ก็ได้ แต่ชื่อต้องไม่ซ้ำกัน 3. Client config file client ที่จะ connect ใช้ 4 file โดยเอาไปไว้ที่ "c:program filesopenvpnconfig" คือ ca.crt <-- ได้จากการสร้าง build-ca.bat อยู่ใน c:program filesovpneasy-rsakeys client.crt, client.key <-- ได้จากการสร้าง client key อยู่ path เดียวกับ ca โดยชื่อจะเป็นตามที่เรากำหนดเวลาสร้าง connect_client.ovpn <-- file config สำหรับเชื่อมต่อ สร้างขึ้นเองจาก text editor ตัวอย่าง config file client dev tun <-- ลักษณะการเชื่อมต่อ tap, tun proto udp <-- protocal tcp, udp remote xxx.xxx.xxx.xxx 1194 <-- ip ของ pfsense ovpn server และ port ping 10 resolv-retry infinite nobind persist-key persist-tun ca ca.crt <-- file ca ชื่อตามที่เรา gen ขึ้นมา cert client.crt <-- file cert ชื่อตาม client ที่เรา gen key client.key <-- file key ชื่อตาม client ที่เรา gen ns-cert-type server <-- ชื่อ server ตามที่ gen comp-lzo <-- การส่งข้อมูลของ tunnal บีบอัดแบบ lzo pull verb 3 4. Setup pfsense เข้าที่ pfsense vpn->openvpn->server tab ปรับตัวเลือกสอดคล้องกับ client file protocal : udp local port : 1194 address pool : xxx.xxx.xxx.0/24 <-- ช่วง ip ที่ไม่ถูกใช้ เพราะถ้าเราเลือกแบบ ไม่ fix ip แล้ว ip ของ client ที่ connect เข้ามา จะได้อยู่ในช่วงของ address pool Local Network : xxx.xxx.xxx.0/24 <-- ip range ของ lan อิงตามขา lan ของ pfsense Remote Network : blank Cryptography : BF-CBC(128 bit) <-- หรือตามต้องการ Authentication Method : PKI <-- ใช้เป็น Public key เลือก DHCP-Opt: Disable NetBIOS เลือก LZO Compression จากนั้น copy เนื้อหาของ file, key, dh, ca ลงตามช่องของ pfsense ca.crt ใน "CA certificate" server.crt ใน "Server certificate" server.key ใน "Server key" dh1024.pem ใน "DH parameters" เปิด rule ของ firewall ให้ openvpn ตอนนี้ client ควรจะ connect และได้ ip จาก address pool แล้ว แต่ก็ยัง ping เข้าหา เครื่องที่อยู่ใน lan ของ server ไม่ได้ เพราะยังไม่มีการเชื่อมต่อกัน ระหว่างส่วนที่เป็น wan ที่ client connect เข้ามา กับส่วนที่เป็น lan ภายใน โดยต้องทำ Bridging ก่อน 5. OpenVPN Client Bridging เข้าไปที่ pfsense -> openvpn -> server tab เลือก edit เลือก "Use static IPs" <-- pfsense จะจ่าย ip ให้ ovpn client โดยอิงกับ dhcp ภายในเอง หรือ รเาจะ fix iip ไปเลยก็ได้ Cuntomer Option เพิ่มเป็น dev tapx <-- x เป็นตัวเลข 0, 1, ... ขึ้นกับใช้ tap ไหน server-bridge 192.1.1.1 255.255.255.0 192.1.1.20 192.1.1.30 <-- อยู่ในรูป (Lan IP)(Lan netmask)(openvpn client range start)(openvpn client range end) 3. เข้าไป shell ของ pfsense แก้ /conf/config.xml เพิ่มโค๊ดนี้ ในส่วนของ system ifconfig bridge0 ถ้าทำได้ถูกต้อง เมื่อไปที่ pfsense -> status -> interfaces จะเป็น Lan ในส่วน bridge status จะเป็น Learning ผิดถูกอย่างไรแนะนำด้วยครับ |
เรือลำน้อย
Rss Feed Smember ผู้ติดตามบล็อก : 1 คน [?] Link |