Skip to content
Thuan Bui's Blog
Go back

pfSense Lab - [Phần 11] Cấu hình WireGuard VPN và định tuyến tự động

Sau bài viết hướng dẫn cấu hình WireGuard VPN và định tuyến tự động trên router Mikrotik, một số bạn đã liên hệ mình hỏi cách thiết lập tương tự trên pfSense / OPNSense. Thật may là mình vẫn còn giữ hệ thống mạng ảo pfSense trên Hyper-V nên có thể tiếp tục nghiên cứu về WireGuard VPN.

Xin giới thiệu với mọi người [Phần 11] của pfSense Lab - Cấu hình WireGuard VPN và định tuyến mạng tự động trên router pfSense.

I. Yêu cầu thiết bị

https://thuanbui.me/huong-dan-thiet-lap-vpn-server-mien-phi-voi-oracle-cloud-vps/

II. Cài đặt WireGuard package

Mặc định pfSense chưa có sẵn dịch vụ WIreGuard VPN. Bạn cần phải cài thêm WireGuard từ trang quản lý Package Manager.

Truy cập vào Web UI của pfSense, bấm vào Mneu System , chọn Package Manager. Sau đó bạn chọn qua tab Available Packages

Kéo xuống dưới, tìm WireGuard và bấm Install để cài đặt.

Chờ vài phút để pfSense tải và cài đặt WireGuard. Sau khi cài thành công, bạn sẽ thấy thông báo Success.

III. Cấu hình WireGuard VPN

1. Chuẩn bị file Wireguard Client

Trước tiên, bạn cần phải truy cập WireGuard VPN Server để tạo 1 Client mới dành cho Mikrotik và tải file conf về. Nội dung file sẽ tương tự như dưới đây.

[Interface]
PrivateKey = UDbFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaN9Oms=
Address = 10.7.0.3/24
DNS = 10.2.0.100
[Peer]
PublicKey = e/VZhqIyyyyyyyyyyyyyyyyyyyyyyyyy/4wS37B5x8QMxg=
PresharedKey = 5XvmWvYUm2xxxxxxxxxxxxxxxxxxxxxxxxxxxlgYPoFzj8Q618=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 146.ooo.iii.eee:51820
PersistentKeepalive = 0

Chúng ta sẽ dùng thông tin trong file conf này để cấu hình WireGuard VPN trên pfSense.

3. Tạo Tunnel

Bấm vào Menu VPN, chọn WireGuard để truy cập vào trang quản lý WireGuard. Bấm Add Tunnel.

Chúng ta sẽ dùng thông tin trong mục [Interface] của file cấu hình ở trên để thiết lập Tunnel

Nhập thông số:

Bấm Save tunnel để lưu lại.

3. Tạo Peer

Bấm qua tab Tunnel, bấm vào Add Peer.

Chúng ta sẽ dùng thông tin trong mục [Peer] của file cấu hình ở trên để thiết lập Peer.

Nhập thông số:

Bấm Save Peer để lưu lại.

4. Kích hoạt WireGuard

Bấm qua tab Settings, bấm chọn vào mục Enable WireGuard để kích hoạt WireGuard và bấm Save.

Sau đó, chuyển qua tab Status, bấm vào nút Show Peers, bạn sẽ thấy thông báo kết nối thành công đến WireGuard VPN Server.

IV. Cấu hình WireGuard Interface

Truy cập vào mục Interface Assignment từ menu Interfaces. Bấm vào nút Add ở dòng Available network ports.

Sau đó bấm vào Interface vừa tạo để thiết lập thông số

Bấm vào nút Add a new gateway cạnh mục IPv4 và IPv6 để tạo Gateway mới. Nhập vào thông tin và bấm Add.

Bấm Save để lưu lại.

Tạo Gateway mới
Tạo Gateway mới

V. Thiết lập Gateway mặc định

Bấm vào Menu System, chọn Routing để truy cập trang thiết lập Gateways.

Bạn cần thiết lập Gateway mặc định cho mạng sử dụng Gateway của WAN

Bấm Save để lưu lại

VI. Cấu hình Firewall Rule for WireGuard

Để truy cập Internet thông qua WireGuard, bạn cần thiết lập Firewall Rule cho LAN.

Bấm vào menu Firewall, chọn Rules, sau đó bấm tiếp qua tab LAN. Bấm vào nút Add để tạo rule mới

Thông số:

Bấm vào nút Advance Setting, mục Gateway: chọn Gateway WireGuard: WG_GW

Sau đó bấm Save. Bấm tiếp Apply để kích hoạt Firewall Rule mới.

Với Firewall Rule mới thiết lập, mọi kết nối từ trong LAN sẽ được chuyển hướng đi qua WireGuard Gateway. Bạn có thể kiểm tra bằng cách truy cập https://ip.me/ sẽ thấy hiện ra IP của VPN Server đang kết nối.

VII. Định tuyến tự động mạng quốc tế chạy qua VPN

Với cách thiết lập ở bước trên, mọi kết nối từ trong mạng LAN đều sẽ được gửi đến WireGuard VPN Server. Mình sẽ làm thêm 1 bước nữa để phân luồng mạng:

Nguyên lý hoạt động như sau

1. Tạo IP Aliases

Từ Menu Firwall, bấm chọn Aliases. Bấm vào nút Import để nhập vào danh sách IP.

Sử dụng danh sách chứa tàon bộ dải IP của Việt Nam ở link dưới đây để nhập vào ô Aliases to Import

https://gist.githubusercontent.com/10h30/4347744f239f837dc0997ccbb1a0fd93/raw/abaeda6863304c0edf1b9b10439fcb7398ee14f6/pfsense-vietnam-ip-list

Aliase Name: Vietnam_IP_List

Bấm Save để lưu lại

2. Chỉnh sửa Firewall Rule

Quay lại trang quản lý Firewall Rule của LAN, chỉnh sửa lại Wirewall rule đã tạo ở bước trước đó, chỉnh lại thông số ở mục Destination:

Bấm Save để lưu lại.

Danh sách Firewall Rule cho LAN sẽ hiện ra như sau:

Với thiết lập này, tất cả các truy cập đến IP quốc tế (nằm ngoài dải IP Việt Nam) sẽ chạy qua WireGuard VPN. Còn các truy cập trong nước sẽ chạy qua kết nối mạng thông thường.

Bạn có thể kiểm tra bằng cách truy cập vào https://ip.mehttps://kiemtraip.com/ sẽ thấy hiện ra 2 IP khác nhau:

Để bảo đảm kết nối thông suốt, bạn nên thiết lập Failover để tránh tính trạng VPN Server gặp vấn đề sẽ ảnh hưởng đến kết nối quốc tế.

Chúc bạn thực hiện thành công!


Share this post on:

Previous Post
Hướng dẫn thiết lập VPN Server miễn phí với Oracle Cloud VPS
Next Post
Hướng dẫn cài đặt Arch Linux trên máy ảo Hyper-V