Hồi năm ngoái, mình đã chia sẻ loạt bài viết pfSense Lab tổng hơp lại những kiến thức và kinh nghiệm trong thời gian nghiên cứu về pfSense. Khi đó, mình cài đặt pfSesne lên máy ảo Hyper-V để thực hành. Sau khi mò xong, mình đã xóa toàn bộ máy ảo pfSense do không có nhu cầu sử dụng thực tế (mình hiện đang dùng Mikrotik làm router chính trong nhà và rất hài lòng với nó).
Còn ở hiện tại, mình đang nghiên cứu về nền tảng ảo hóa vSphere ESXi 7.0 nên quyết định cài đặt lại pfSense lên máy ảo ESXi. Mục đích để tạo mạng ảo nội bộ, quản lý các máy ảo khác.
Bài viết này là hướng dẫn cách cài đặt pfSense lên máy ảo ESXi 7.0
Mục Lục
I. Thiết lập mạng ảo trên ESXi
1. Tạo Virtual Switch
Mặc định ESXi đã có sẵn vSwitch0 được kết nối ra mạng bên ngoài thông qua card mạng vật lý của máy. Mình sẽ tạo thêm 1 Virtual Switch với tên gọi pfSense-LAN để dùng cho mạng nội bộ của pfSense.
- Bấm chọn Networking
- Chuyển qua tab Virtual Switches
- Bấm Add standard virtual switch
Đặt tên pfSense-LAN và bấm Add.
ESXi giờ đã 2 virtual Switch: vSwitch0 và pfSense-LAN
2. Tạo port group
Tiếp theo chuyển qua tab Port groups, bấm vào Add port group để tạo mới.
Port group đầu tiên tên pfSense-WAN, và kết nối vào vSwitch0. Port group này sẽ được dùng để kết nối vào cổng WAN của máy ảo pfSense.
Tạo thêm 1 port group nữa với tên gọi pfSense-LAN và kết nối vào virtual switch pfSense-LAN.
Sau khi tạo xong, mục port group sẽ có hiện ra 4 cái: VM Network và Management Network là mặc định của ESXi. Còn pfSense-LAN và pfSense-WAN vừa mới tạo.
II. Tải pfSense ISO về datastore
Truy cập website của pfSense và tải về bản ISO cài đặt mới nhất lên datastore của ESXi. Mình truy cập SSH vào máy chủ ESXi để tải về
wget http://sgpfiles.netgate.com/mirror/downloads/pfSense-CE-2.6.0-RELEASE-amd64.iso.gz
Code language: JavaScript (javascript)
File ISO sau khi tải về đang ở dạng nén gz, nên cần thực hiện thêm thao tác giải nén
gzip -d pfSense-CE-2.6.0-RELEASE-amd64.iso.gz
Code language: CSS (css)
III. Tạo máy ảo mới cho pfSense
Tạo máy ảo mới trên ESXi theo các bước sau
- Đặt tên máy ảo: pfSense
- Guest OS family: Other
- Guest OS version: FreeBSD 12 (64-bit)
Chọn datastore lưu máy ảo.
Tùy chỉnh cấu hình máy ảo tùy vào nhu cầu sử dụng của bạn. Mình chọn thông số như sau
- CPU: 1
- Memory: 2048 MB
- Hard disk: 16 GB
- CD/DVD Drive: Chọn file ISO của pfSense
Bấm vào Add network adapter để tạo thêm 1 card mạng cho máy ảo.
1 card mạng sẽ kết nối vào pfSense-WAN. 1 card mạng kết nối vào pfSense-LAN. Lưu ý: cần chỉnh Adapter Type của cả hai thành E1000e. Nhờ vậy pfSense sẽ tự động nhận diện cổng WAN và LAN sau khi cài đặt xong. Nếu bạn để mặc định VMXNET 3 thì phải làm thêm bước thiết lập cổng mạng khi khởi động pfSense lần đầu tiên.
Bấm Finish để tạo máy ảo mới.
IV. Cài đặt pfSense
Khởi động máy ảo và bắt đầu cài đặt pfSense theo các bước dưới đây
Bấm Accept
Chọn Install pfSense, bấm OK
Giữ nguyên keymap mặc định, bấm Select để tiếp tục
Chọn Auto (ZFS) và bấm OK
Giữ nguyên mặc định và bấm OK
Chọn VMware Virtual disk và bấm OK
Bấm Select để xác nhận việc cài đặt pfSense lên ổ cứng của máy ảo.
Xác nhận YES thêm lần nữa.
Sau khi cài đặt xong, chọn No
Sau đó chọn Reboot để khởi động lại máy ảo.
Ở lần khởi động đầu tiên, pfSense sẽ tự động nhận dạng được cổng WAN và LAN hiện có.
V. Cài đặt Open VM Tools
Trong Console của pfSense, bạn gõ 8 sau đó bấm Enter để truy cập vào Shell. Tiếp theo, gõ lệnh pfctl -d
để tắt tính năng packet filter. Nhờ đó bạn có thể truy cập vào pfSense theo địa chỉ WAN IP 192.168.0.164
Dùng trình duyệt web truy cập vào địa chỉ https://192.168.0.164
và đăng nhập vào pfSense bằng tài khoản mặc định username: admin / password: pfsense
Sau đó truy cập vào mục Package Manager để cài đặt Open VM Tools.
Sau khi cài đặt xong, ESXi sẽ nhận được thông tin địa chỉ IP và Storage chi tiết từ pfSense để hiển thị trên web client như dưới đây.
Việc cài đặt pfSense lên máy ảo ESXi 7.0 vậy là xong.
VI. Hướng dẫn sử dụng pfSense
Các bạn có thể tham khảo thêm các bài viết hướng dẫn sử dụng pfSense bên dưới.
- pfSense Lab – [Phần 1] Thiết lập mạng ảo với pfSense và Hyper-V
- pfSense Lab – [Phần 2] Cài đặt pfSense 2.5.x lên máy ảo Hyper-V
- pfSense Lab – [Phần 3] Cấu hình căn bản cho pfSense
- pfSense Lab – [Phần 4] Quản lý tài khoản, cấu hình SSH Server, DHCP Server
- pfSense Lab – [Phần 5] Cấu hình VLAN cho pfSense
- pfSense Lab – [Phần 6] Cấu hình Dynamic DNS
- pfSense Lab – [Phần 7] Thiết lập Captive Portal trên pfSense
- pfSense Lab – [Phần 8] Cấu hình PPPoE Server, PPPoE Client
- pfSense Lab – [Phần 9] Cấu hình giới hạn băng thông mạng LAN
- pfSense Lab – [Phần 10] Cấu hình Dual-Wan Load Balancing (cân bằng tải) & Failover (chế độ dự phòng)
- pfSense Lab – [Phần 11] Cấu hình WireGuard VPN và định tuyến tự động
- [ESXi] Cài đặt pfSense lên máy ảo ESXi 7.0
Thanks bác, series này hữu ích quá
làm một bài về open VPN trên pfsense đi bác
Giờ thấy đa số chuyển qua WireGuard hết rồi bác, tốc độ ngon hơn OpenVPN nhiều. Đã có hướng dẫn ở đây: https://thuanbui.me/pfsense-lab-cau-hinh-wireguard-vpn/
Nếu cài pfsense trên esxi thì mình cấu hình vlan cho pfsense như thế nào vậy anh ơi. em có xem bài vlan pfsense anh viết ở trên nhưng nó dành cho hyperv thì phải.
Mong anh có bài hướng dẫn trên esxi ạ. cám ơn những bài viết quá hữu ích của anh
Bao giờ rãnh nghiên cứu xong thì anh sẽ có bài nhé. Còn hiệ giờ chưa mò tới nên chưa biết em ơi.
ad vẽ mô hình ấy bằng phần mềm gì v ad?
Mình dùng https://draw.io nhé
Mình sử dụng 2 cổng LAN cho WAN pfSense, 2 cổng LAN cho LAN pfSense. Mình nối 2 cổng LAN này vào một router WiFi chạy AP mode để phát WiFi mạng khách.
WAN: 10.0.0.20
LAN: 192.168.1.1
Tất cả đều để static
Mình cài thêm một máy ảo Ubuntu trong ESXI, attach vào LAN pfSense và có IP là 192.168.1.103
Mình làm theo guide trong lab pfSense của bạn để mở cổng cho truy cập Web từ lớp WAN fpSens (10.0.0.x) và mở ssh.
Hiện tại các máy ở WiFi mạng khách 192.168.1.xxx có thể truy cập vào dịch vụ trong máy ảo docker trong UBUNTU (mayan server, …) nhưng các máy nằm trong WAN 10.0.0.x thì không thể.
Mình cần tạo rules nào để các máy từ lớp 10.0.0.x có thể truy cập dịch vụ trong docker của máy ảo Ubuntu vậy. Cảm ơn bạn
Ubuntu Server của bạn nằm trong LAN, dùng IP LAN nội bộ nên các máy từ WAN không thể truy cập được do không có Routing table tương ứng. Để khắc phục, bạn cần tạo thêm Port Forwarding Rule để chuyển hướng từ WAN IP của Pfsense vào LAN IP của Ubuntu server (hướng dẫn: https://www.wundertech.net/pfsense-port-forwarding-setup-guide/), sau đó các máy trong WAN sẽ truy cập vào dịch vụ Docker theo đia chỉ “WAN IP của pfsense”:”port”.
Hoặc tối ưu hơn là cài đặt thêm 1 cái Reverse Proxy trên Ubuntu Server, và chỉ cần mở cổng 80 / 443 chuyển hướng về Ubuntu Server. Các dịch vụ Docker sẽ truy cập thông qua tên miền.