Thứ Tư, 27 tháng 2, 2019

Add ip gateway Pfsense

Tăng thêm ip gateway Pfsense
Thao tác ngoài dos mới được vô webgui không thể nào tạo ip Lan cùng subnet (vd: 192.168.1.1 thêm 192.168.1.2 là không được)
P/s: Trường hợp không ping được ip 192.168.1.x  cùng subnet mask hoặc rớt ping hết kiềm tra lại dây mạng tất cả các ip gateway



Thứ Ba, 26 tháng 2, 2019

Cài Đặt Failover và Load Balancing Cho pfSense

Cài Đặt Failover và Load Balancing Cho pfSense


Failover là chế độ dự phòng trong những hệ thống mạng, khi những hệ thống chính không hoạt động vì những lí do bất khả kháng ( treo máy, hư máy, virus…), hoặc bất kì lần dừng hoạt động theo lịch nào ( vì lí do bảo trì ).
Trong bài hướng dẫn này, chúng ta sẽ cùng nhau thực hiện setup failover và Load Balancing sử dụng nền tảng pfSense để cân bằng tải cho traffic từ mạng Lan của bạn ra nhiều nhánh Wan ( ở bài này người viết dùng 2 kết nối Wan, tạm gọi là Wan1 và Wan2 ).
Ví dụ ở trường hợp này, một kết nối Wan sẽ bị mất kết nối vì vài lý do lỗi kết nối, lúc này đường Wan2 sẽ ngay lập tức thay thế Wan1. Cơ chế hoạt động sẽ là khi Wan1 mất kết nối, sẽ không thể trả lời các tín hiệu Ping được, lúc này pfSense sẽ tự động chuyển sang dùng Wan2. Cơ chế này cũng diễn ra khi Wan2 mất kết nối.
Load Balancer sẽ gộp băng thông 2 đường truyền của bạn thành một để nâng cao tốc độ. Lấy ví dụ Wan1 có tốc độ 3MB và Wan2 là 2MB, nó sẽ gộp 2 băng thông lại thành 5MB, giúp tăng tốc và ổn định đường truyền.
Để bắt đầu cấu hình Failover và Load Balancer, chúng ta cần tối thiểu 3 card mạng với tốc độ ít nhất là 10/100MB. Card mạng thứ nhất dùng để giao tiếp Lan và 2 card dùng cho Wan.
Setup các thông số như sau :
IP Address Lan : 192.168.1.1/24
IP Address Wan1 : Nhận từ DHCP
IP Address Wan2 : Nhận từ DHCP
Trước khi tiến hành các bước tiếp theo, chúng ta cần đảm bảo rằng pfSense đã được cài đặt và chạy được. Xem thêm : hướng dẫn cài đặt Firewall pfSense
Bước 1 : Cấu hình Network Interface :
Sau khi cài đặt pfSense, màn hình sẽ hiển thị những interface nào có thể cài đặt.
configure pfsense interface Cài Đặt Failover và Load Balancing Cho pfSense
Chọn interface thứ nhất em0 là WAN1, IP được nhận từ DHCP, interface thứ hai là em2 cho Lan và một interface còn lại là em1, sẽ được đổi sau thành Wan2và nhận IP từ DHCP. Đây là bảng Interface cuối cùng.
configure network interface Cài Đặt Failover và Load Balancing Cho pfSense
 configure network Cài Đặt Failover và Load Balancing Cho pfSense
Sau khi cấu hình Network interfaces, login vào bảng điều khiển của pfSense để cấu hình Load Balancer. Địa chỉ mạng nhập vào là :
Sau khi login được vào giao diện đồ họa, bạn sẽ thấy chỉ mới có card Lan, Wan như hình bên dưới :
Cài Đặt Failover và Load Balancing Cho pfSense
Để cấu hình Interface chọn Interface từ Menu và click vào WAN để thêm mô tả vào WAN1, chọn save để lưu thay đổi.
configure wan1 interface Cài Đặt Failover và Load Balancing Cho pfSense
Một lần nữa Click vào Interfaces và chọn OPT1, stick vào Enable Interface để đổi tên từ OPT1 sang WAN2.
enable opt1 interface Cài Đặt Failover và Load Balancing Cho pfSense
Tiếp theo, chọn DHCP ở mục IPv4 Configuration Type, hoặc DHCP6 ở mục IPv6 Configuration Type.
configure wan 2 interface Cài Đặt Failover và Load Balancing Cho pfSense
Tại Page cấu hình WAN2, phần cuối trang có mục Private Network, bỏ chọn Block Private Networks, để bỏ chặn traffic từ hệ thống mạng nội bộ. Click Save để lưu thay đổi.
configure private network wan2 Cài Đặt Failover và Load Balancing Cho pfSense
Sau đó cuộn lên đầu trang, sẽ thấy hiện dòng Apply Changes, click vào để xác nhận thay đổi có hiệu lực.
confirm wan2 changes Cài Đặt Failover và Load Balancing Cho pfSense
Bây giờ tại Dashboard bạn sẽ thấy hiện 3 interface.
confirm interfaces Cài Đặt Failover và Load Balancing Cho pfSense
Vậy là chúng ta đã cấu hình cơ bản cho 2 WAN, bây giờ sẽ tiếp tục cấu hình LoadBalancer.
Bước 2 : Cấu hình Monitor IP :
Trước khi cấu hình LoadBalancer cho pfSense, chúng ta cần cấu hình Monitor IP cho LoadBalancer. Bấm vào ‘System’ trên menu và chọn ‘Routing’.
system gateways Cài Đặt Failover và Load Balancing Cho pfSense
ở trang ‘Edit gateway’, nhập vào địa chỉ IP cho cả 2 WAN1 và WAN2. Ở WAN1 dùng địa chỉ DNS của ISP là 218.248.233. Ở WAN2 dùng của Google đó là 8.8.8.8.
configure monitor ip Cài Đặt Failover và Load Balancing Cho pfSense
Sau khi thêm vào Monitor IP, bấm vào Advanced và thêm vào giá trị thấp hơn mặc định ( 10 ) cho mục Down. Tại bài viết này là 3.
Monitor IP Failover Cài Đặt Failover và Load Balancing Cho pfSense
Cấu hình tương tự cho WAN2. Ở đây người viết dùng DNS của Google thay cho DNS của ISP. Bấm vào Save và thoát ra.
configured system gateway Cài Đặt Failover và Load Balancing Cho pfSense
Bấm vào Apply Change để thay đổi có hiệu lực.
confirm gateways settings Cài Đặt Failover và Load Balancing Cho pfSense
Bước 4 : Cấu hình Gateway Group
Sau khi cấu hình Gateway Monitoring, click vào Group để tạo một Gateway Group. Bấm vào nút + bên phải để thêm Gateway Group mới.
create gateway group Cài Đặt Failover và Load Balancing Cho pfSense
Đặt tên cho Group và chọn Tier cho WAN1 và WAN2, bấm save để lưu thay đổi.
Để cấu hình LoadBalancer chúng ta cần chọn cùng một Tier cho các gateway.
give gateway group name Cài Đặt Failover và Load Balancing Cho pfSense
configured gateway groups Cài Đặt Failover và Load Balancing Cho pfSense
Bước 5 : cấu hình Firewall Rules :
Sau khi tạo Group, tiếp theo chúng ta sẽ tạo Firewall Rule cho Group, bấm vào Firewall ở menu và chọn Rules. Chọn Lan interface  và cấu hình.
Configure Firewall Rules for Group Cài Đặt Failover và Load Balancing Cho pfSense
Tại cuối trang, Mục Advanced Features, mục Gateway chọn Group vừa tạo và bấm Save để áp dụng thay đổi.
configure firewall gateway Cài Đặt Failover và Load Balancing Cho pfSense
Sau khi áp dụng thay đổi, bạn có thể thấy gateway đã được hiển thị như hình dưới.
confirm firewall setting Cài Đặt Failover và Load Balancing Cho pfSense
Như vậy là chúng ta đã hoàn thành cấu hình LoadBanlancer, tiếp theo sẽ test quá trình hoạt động của dịch vụ.
Bước 6 : Kiểm tra LoadBalancer.
Để kiểm tra LoadBalancer, vào Status ở thanh menu và bấm vào ‘Gateway’ để  chắc chắn rằng cả 2 Gateways đều đang online.
confirm gateway status Cài Đặt Failover và Load Balancing Cho pfSense
Mục ‘Traffic Graph’  ở dưới menu ‘ Status’ sẽ cho người quản trị thấy lưu lượng traffic đi qua Gateway theo thời gian thực.
Real Time Traffic Graph Cài Đặt Failover và Load Balancing Cho pfSense
Bước 7 : Cài đặt và cấu hình Failover bằng pfSense.
Để cấu hình Failover bằng pfSense, chúng ta  cần tạo những Tier khác nhau. Di chuyển đến menu ‘System’ và chọn ‘Routing’. Tại đây chúng ta có thể thấy các Gateways đã được gán cho LoadBalancer, vì vậy hãy tiến hành tạo 2 nhóm khác dành cho Failover.
Chọn ‘Group’ ở dưới System: Gateway Groups. Ở đây chúng ta sẽ tạo 2 Group,1  Group cho WAN1 và 1 Group cho WAN2. Nếu WAN1 mất kết nối hệ thống sẽ tự động chuyển sang WAN2, và ngược lại.
Tiến hành tạo nhóm tên ‘WAN1Failover’ , chọn WAN1 với Tier1 và WAN2 với Tier2, nếu WAN1 hỏng sẽ chuyển sang WAN2. Ở Trigger Lever chọn Packet Loss, bất kì gói tin ping nào đến DNS không có tín hiệu trả lời sẽ tự động chuyển sang WAN2.
create failover groups Cài Đặt Failover và Load Balancing Cho pfSense
Làm tương tự như hướng dẫn ở trên đối với WAN2 để tạo ‘WAN2Failover’.
create failover wan2 group Cài Đặt Failover và Load Balancing Cho pfSense
Như vậy là chúng ta đã có 3 Group, 1 Group cho LoadBanlancing, và 2 Group cho Failover.
confirm system gateway group Cài Đặt Failover và Load Balancing Cho pfSense
Bước 8 : Cấu hình Firewall Rules cho Failover
Bây giờ, chúng ta cần gán Firewall Rules cho Failover. Để cấu hình Firewall Rules di chuyển đến menu ‘Firewall’ và chọn ‘Rules’. Ở dưới Lan chúng ta phải add thêm rule dành cho Failover.
Click vào biểu tượng + ở phía bên phải để thêm vào Rule mới :
Add FailOver Firewall Rule Cài Đặt Failover và Load Balancing Cho pfSense
Thay đổi như sau :
Interface = LAN
Protocol = any
Source = LAN net
Description = mô tả cho Failover.
configure failover firewall rule Cài Đặt Failover và Load Balancing Cho pfSense
Ở dưới Advanced Features của Gateway , chọn ‘WAN1Failover’ và save lại. Làm tương tự để cấu hình WAN2Failover.
select failover gateway Cài Đặt Failover và Load Balancing Cho pfSense
select failover gateway for wan2 Cài Đặt Failover và Load Balancing Cho pfSense
Sau khi thêm vào những Rule trên, chúng ta có thể thấy những rule liệt kê dành cho LoadBanlancer và Failover.
confirm loadbalancer failover rules Cài Đặt Failover và Load Balancing Cho pfSense
Gán tối thiểu 1 DNS Server cho Gateway  và click apply changes để áp dụng thay đổi.
Từ menu ‘System’, chọn ‘ General Setup’ và kiểm tra với DNS tương ứng, mà chúng ta đã gán cho từng Gateway.
add DNS IP Address Cài Đặt Failover và Load Balancing Cho pfSense
Chọn menu ‘Status’ và click vào ‘Gateway’ để kiểm tra tình trạng.
check dns status Cài Đặt Failover và Load Balancing Cho pfSense
Như vậy là chúng ta đã hoàn thành cài đặt, cấu hình Failover cho pfSENSE.
Tổng kết :
PfSense LoadBalancer và Failover có thể được sử dụng ở các hộ gia đình, mạng doanh nghiệp… nếu bạn có từ 2 kết nối Internet của 2 ISP trở lên. Thay vì phải trả tiền cho một Router chuyên nghiệp với chức năng LoadBalancer, chúng ta có thể dùng pfSense để thay thế rất hiệu quả.

Pfsense Firewall – Captive Portal chứng thực Voucher

Pfsense Firewall – Captive Portal chứng thực Voucher

Captive portal trên Pfsense ngoài chứng thực bằng  local user, RADIUS và freeRADIUS ra, nó còn có thể sử dụng hình thức chứng thực Voucher. Voucher là một hình thức chứng thực khá đặt biệt, chúng ta có thể hiểu nó như là một mã trả trước của điện thoại. Khi người dùng kích hoạt mã voucher thời gian sử dụng được quy định trong voucher sẽ được đếm lùi cho đến khi hạn dùng không còn nữa. Ở một môi trường mà mạng Wifi có thể thoải mái như ở Việt Nam thì bạn có thể ít thấy người ta sử dụng phương pháp này, xong một số nước, khi bạn muốn sử dụng Wifi trong khách sạn thì bạn sẽ phải trả một khoản phí và được cung cấp mã đăng nhập. Phương pháp này cũng có thể áp dụng cho cho một số dịch vụ Wifi công cộng của quốc gia hoặc các thành phố.
Trên Pfsense cũng cung cấp cho chúng ta giải phái chứng thực Captive Portal thông qua voucher:
Bạn bật dịch vụ Captive Portal của Pfsense
Chỉ cho phép mỗi mã được dùng cho một thiết bị.
Trong mục Authentication > Authentication method bạn chọn chứng thực bằng Local User Manager / Vouchers.
Khi bật Voucher lên, giao diện chứng thực mặc định sẽ xuất hiện thêm dòng Enter Voucher Code bên cạnh chứng thực bằng user.
Với hai thông tin chứng thực user và coucher, người dùng có thể chọn một trong hai để sử dụng internet. Như vậy để không làm cho người dùng gặp rắc rối, cảm thấy đơn giản khi sử dụng. Bạn có thể thay giao diện đăng nhập khác với chỉ việc Enter Voucher Code. Trong tab Configuration của Captive Portal bạn kéo xuống mục HTML Page Contents để thay thế giao diện (bạn có thể tải về tại đây).
Sau khi thay đổi bạn sẽ được giao diện mới.
Sau khi cấu hình bật dịch vụ Captive portal, chọn phương thức chứng thực và chuyển giao diện chứng thực xong, bạn tiếp tục qua tab Vouchers. Trong mục Create, Generate and Activate Rolls with Vouchers bạn check vào ô Enable the creation, generation and activation of rolls with vouchers để bật chức năng Voucher lên.
Sau khi bật lên bạn sẽ thấy một số thông tin cấu hình cho dịch vụ này, các thông tin này dùng để tạo và quản lý thông tin Voucher trong mục Create, Generate and Activate Rolls with Vouchers
Voucher Public Key và Voucher Private Key, đây là thành phần để mã hóa khi tạo ra mã voucher và giải mã voucher khi người dùng đăng nhập. Bạn muốn tạo ra một mã RSA mới thì bấm vào Generate new keys.
  • Character set: Các ký tự được dùng khi sinh ra code voucher
  • # of Roll bits: Số bít được dùng để cấp các cuộn (roll), chúng ta tưởng tượng roll thì nó giống như một cuộn giấy vệ sinh, trên cuộn giấy vệ sinh đó người ta phân chia ra thành nhiều đoạn, những đoạn đó được gọi là voucher. Thì ở đây, tham số này chạy từ 1 đến 31 bit. Tối thiểu  1bit = 2= 2 roll và 31bit  = 231= 2.147.483.647 roll, vậy bạn có thể tạo cac roll từ 0 đến 2.147.483.647.
  • # of Ticket bits: Số bít dùng để câp code voucher trên mỗi roll, tối thiểu là 1 bit và tối đa là 16 bit. Tương đương tối thiểu sẽ tạo được 21-1= 1 code trên và tối đa sẽ là 216 – 1 = 65.535 code voucher trên mỗi roll, do bit đầu tiên trạng thái bằng 0 thì không có ý nghĩa
  • # of Checksum bits: các bit dùng kiểm tra thông tin Roll và Ticket trên mỗi voucher
  • # Magic number: Thông tin được lưu trữ trong vocher, đươc xác minh trong quá trình kiểm tra voucher, số bít còn lại sau khi dùng cho Roll+Ticket+Checksum.
Invalid voucher message và Invalid voucher message: thông tin báo lỗi khi voucher không đúng hoặc hết hạn. Thông tin này được hiển thị nếu dùng giao diện đăng nhập mặc định.
Sau khi cấu hình xong các thông tin để tạo Voucher, bạn tiến hành viêc tạo ra các code voucher cho người dùng đăng nhập. Trong mục Voucher Rolls, bạn nhấn vào nút Add
Tiếp theo bạn sẽ điền các thông tin để tạo các Roll chứa các code  Voucher.
  • Roll #: Như đã nói ở trên số roll được tạo ra bởi các bit được khai báo ở # of Roll bits. Roll nhỏ nhất là 0, Roll lớn nhất phụ thuộc vào số bit được khai báo ở # of Roll bits
  • Minutes per ticket: Thời gian sử dụng cho một code voucher, được tính bằng phút.
  • Count: Số code voucher của Roll, số này phụ thuộc vào số bit khai báo ở # of Ticket bits
  • Comment: Ghi chú giải thích Roll này là gì.
Sau khi nhấn save để lưu thông tin Roll được tạo ra, bạn export thông tin và tải về. Thông tin được lưu trữ trong một file .csv.
Bạn có thể mở file này với Excel hoăc có thể dung bất kỳ  phần mềm Text Edit nào như Notpad, Notepad++, Wordpad… để lấy thông tin code voucher và cung cấp cho người dùng
Bạn có thể vào Status > Captive Portal > Voucher Rolls để kiểm tra thông tin là đã có bao nhiêu code voucher của một Roll đã được dùng. Ở đây bạn có thể thấy là có 10 Tickets (code voucher), 1 used đã – dùng (hết thời gian đăng nhập), 1 active – đang dùng, 8 ready – chưa dùng.
Bạn lưu ý:
  • Thông tin trong Roll sau khi được tạo ra, bạn có thể edit.
  • Bạn có thể tạo lại các Roll nếu lỡ tay xóa, các thông tin trong Roll có số Roll trùng sẽ có thông tin giống nhau.
  • Khi bạn thay đổi các thông tin ở phần Create, Generate and Activate Rolls with Vouchers, thì các  Roll khi tạo sẽ không giống với Roll của thông tin trước đó.
  • Khi muốn tạo ra Roll và code voucher hoàn toàn mới, bạn chỉ cần Generate new keys RSA mới  trong Create, Generate and Activate Rolls with Vouchers.