VPN Site-to-Site with pfSense on Windows Server 2019
ℹ️ Giới thiệu
pfSense là một hệ điều hành mã nguồn mở dựa trên FreeBSD, được thiết kế để làm tường lửa (firewall) và bộ định tuyến (router) mạng. Được phát triển bởi công ty Netgate, pfSense cung cấp nhiều tính năng bảo mật và quản lý mạng mạnh mẽ cho doanh nghiệp lẫn người dùng cá nhân.
Pfsense được cấu hình qua giao diện GUI trên nền web nên có thể quản lý một cách dễ dàng. Nó hỗ trợ lọc theo địa chỉ nguồn, đích, cũng như port nguồn hay port đích đồng thời hỗ trợ định tuyến và có thể hoạt động trong chế độ bridge hay transparent. Nếu sử dụng pfsense là gateway, ta cũng có thể thấy rõ việc hỗ trợ NAT và port forward trên pfsense cũng như thực hiện cân bằng tải hay failover trên các đường mạng.
💻 Xây dựng mô hình
Mình sẽ xây dựng mô hình đơn giản với 2 máy Windows Server và 2 máy pfSense.
Mô hình này sẽ được xây dựng trên VMware với sơ đồ như hình dưới:
Chuẩn bị các thiết bị
- Trước khi bắt đầu vào triển khai, ta sẽ cài đặt các máy ảo và cấu hình các IP trên các thiết bị.
Server 1
Máy Windows Server 1 sẽ được đặt IP:
192.168.20.100/24
, với default gateway là địa chỉ của máy pfSense_1:192.168.20.1/24
.-
Giao diện Web control của máy pfSense_1 sau khi cài đặt thành công. Truy cập tại địa chỉ
192.168.20.1
. Username và password mặc định của pfSense lần lượt là:admin
vàpfsense
.
- Việc cần làm sau khi truy cập vào giao diện này là đặt lại mật khẩu cho user
admin
.
Máy pfSense_1
- Sau khi cài đặt xong, mình sẽ thực hiện cấu hình các Interfaces cũng như các IP.
Dựa theo sơ đồ ở trên thì:
em0 là VMnet2 sẽ nối với máy
Server_1
.em1 là VMnet3 nối với máy
pfSense_2
.
Máy pfSense_2
- Cài đặt và cấu hình tương tự như với máy pfSense_1.
Dựa theo sơ đồ ở trên thì:
em0 là VMnet4 sẽ nối với máy
Server_2
.em1 là VMnet3 nối với máy
pfSense_1
.
Máy Server_2
- Máy Windows Server 2 sẽ được đặt IP:
192.168.40.100/24
, với default gateway là địa chỉ của máy pfSense_2:192.168.40.1/24
.
- Giao diện Web control của máy pfSense_2 sau khi cài đặt thành công. Truy cập với IP
192.168.40.1
.
🛠️ Bắt đầu triển khai
pfSense Web Configuration 1
- Cấu hình VPN IPsec từ LAN1 đến LAN2.
- Chọn Add Phase 1.
- Phần Remote Gateway nhập vào IP WAN của pfSense_2.
- Phần Authentication chọn Generate new Pre-Shared Key để tạo khoá. Lưu khoá này lại.
- Chọn thuật toán mã hoá AES256-GCM.
- Save.
- Cấu hình xong Phase 1. Tiến hành vào Phase 2.
- Chọn Add P2.
- Ở phần Networks. Với Local Network, nhập vào IP Network
192.168.20.0
. Tương tự với Remote Network:192.168.40.0
.
- Chọn giao thức ESP và thuật toán mã hoá AES256-GCM.
- Phần Keep Alive nhập vào IP LAN của pfSense_2.
- Save. Sau khi cấu hình xong chọn Apply Changes.
Tiếp theo sẽ đến phần cấu hình các Rules.
WAN.
- LAN.
- IPsec.
- Lưu lại các thay đổi. Sau đó tiến hành cấu hình trên pfSense_2 Web Configuration.
pfSense Web Configuration 2
- Các bước thực hiện sẽ tương tự như phần 1 pfSense Web Configuration 1.
- Đối với phần Authentication, copy Pre-Shared Key đã được generate ở pfSense1.
- Save và Apply Changes.
- Các Rules WAN, LAN, IPsec sẽ cấu hình tương tự.
🧪 Kiểm tra kết nối
- Kiểm tra kết nối giữa 2 pfSense.
Đã ping thành công.
Kiểm tra kết nối VPN. Ở mục Status chọn IPsec.
- Trong trường hợp VPN chưa tự động kết nối, chọn Connect P1 and P2s.
- Kiểm tra với lệnh Ping từ Server 1 → Server 2.
C:\Users\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet1:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::df14:9b34:f3e3:8929%7
IPv4 Address. . . . . . . . . . . : 192.168.20.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.20.1
C:\Users\Administrator>ping 192.168.40.100
Pinging 192.168.40.100 with 32 bytes of data:
Reply from 192.168.40.100: bytes=32 time=1ms TTL=126
Reply from 192.168.40.100: bytes=32 time=1ms TTL=126
Reply from 192.168.40.100: bytes=32 time=1ms TTL=126
Reply from 192.168.40.100: bytes=32 time=1ms TTL=126
Ping statistics for 192.168.40.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Ping thành công từ máy Server 1 với IP
192.168.20.100
tới máy Server với IP192.168.40.100
.Vậy là mình đã xây dựng thành công một hệ thống VPN đơn giản, sử dụng giao thức ESP của IPsec với tường lửa pfSense.
Subscribe to my newsletter
Read articles from Nguyễn Tài Nguyên directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Nguyễn Tài Nguyên
Nguyễn Tài Nguyên
In search of the Great Manifesto