Trang chủ Proton VPN

Cách cấu hình Proton VPN trên pfSense bằng OpenVPN

Đọc
14 phút
Danh mục
Bộ định tuyến

Trong hướng dẫn này, chúng tôi sẽ chỉ cách thiết lập Proton VPN trên pfSense 23.09pfSense 2.7.x sử dụng giao thức OpenVPN. Việc này cho phép bộ định tuyến bảo vệ mọi thiết bị kết nối bằng kết nối Proton VPN.

Tìm hiểu thêm về OpenVPN

Nếu đang sử dụng pfSense 2.7.x, khuyến nghị nên sử dụng giao thức WireGuard® thay thế.

Lưu ý không khuyến nghị sử dụng nhiều kết nối khi dùng OpenVPN. Với trường hợp này, một lần nữa khuyến nghị nên sử dụng WireGuard.

Trước khi bắt đầu, cần có:

  • Bản cài đặt mới pfSense 23.09 hoặc pfSense 2.7.x
  • Máy tính kết nối với mạng LAN để có thể truy cập giao diện điều khiển pfSense
  • Tên người dùng và mật khẩu OpenVPN. Thông tin này khác với tên người dùng và mật khẩu Proton VPN thông thường. Để tìm các thông tin này, hãy đăng nhập vào account.protonvpn.com và đi tới Tài khoảnTên người dùng OpenVPN.

1. Tạo tệp cấu hình OpenVPN

Đăng nhập vào Proton VPN bằng tên người dùng và mật khẩu Tài khoản Proton tại account.protonvpn.com, đi tới Tải xuốngTệp cấu hình OpenVPN, rồi tải xuống tệp cấu hình OpenVPN. Hãy nhớ Chọn nền tảng: Bộ định tuyến.

Tìm hiểu cách tải xuống tệp cấu hình OpenVPN từ Proton VPN

Để cấu hình pfSense, cần có chứng chỉ TLS(cửa sổ mới) từ tệp cấu hình này. Để tìm chứng chỉ này, hãy mở tệp cấu hình OpenVPN đã tải xuống bằng trình chỉnh sửa văn bản và tìm đoạn văn bản bắt đầu bằng —–BEGIN CERTIFICATE—- và kết thúc bằng –—-END CERTIFICATE—–.

Chứng chỉ TLS OpenVPN

Cũng cần có địa chỉ IPsố cổng của máy chủ VPN. Có thể tìm thấy thông tin này trên dòng remote đầu tiên được liệt kê trong chứng chỉ. Số đầu tiên là địa chỉ IP, và số thứ hai là số cổng. Trong ví dụ bên dưới, địa chỉ IP là 185.159.157.6, và số cổng là 51820

Số đầu tiên là địa chỉ IP, và số thứ hai là số cổng.

Và cuối cùng, cần có khóa OpenVPN Static key. Khóa này bắt đầu bằng —–BEGIN OpenVPN Static key V1—- và kết thúc bằng —–END OpenVPN Static key V1—–.

Khóa OpenVPN Static key

2. Thêm chứng chỉ TLS vào pfSense

Nhập 192.168.1.1 vào thanh URL của trình duyệt để mở giao diện web pfSense. Đăng nhập và đi tới SystemCertificatesAdd → Import certificate.

Cấu hình các cài đặt sau:

Tạo / Chỉnh sửa CA. Đi tới AuthoritiesAdd và thay đổi các cài đặt sau:

  • Descriptive name: Có thể dùng bất kỳ tên nào thuận tiện để mô tả chứng chỉ TLS của Proton
  • Method: Nhập một Certificate Authority hiện có

Certificate Authority hiện có

Cấu hình chứng chỉ

Nhấp vào Save sau khi hoàn tất.

3. Cấu hình OpenVPN Client

Bây giờ, bạn sẽ thêm một OpenVPN client để mã hóa dữ liệu và truyền qua đường hầm đến máy chủ VPN.

Đi tới VPNOpenVPNClients, nhấp vào Add, và cấu hình các cài đặt sau:

Thông tin chung:

  • Description: Chọn tên hiển thị cho cấu hình này
  • Disabled: Không chọn

Cấu hình chế độ

  • Server Mode: Peer to Peer (SSL/TLS)
  • Device mode: tun – Layer 3 Tunnel Mode

Cấu hình điểm cuối

  • Protocol: Chọn UDP on IPv4 only hoặc TCP on IPv4 only (tùy chọn, nhưng cần khớp với tệp cấu hình đã tải xuống). Tìm hiểu thêm về UDP và TCP
  • Interface: WAN
  • Local Port: –
  • Server host or address: Vui lòng tham khảo Bước 1 để tìm thông tin này. 
  • Server port: Vui lòng tham khảo Bước 1 để tìm thông tin này. 
  • Proxy host or address: –
  • Proxy port: –
  • Proxy Authentication: none
Cấu hình OpenVPN Client 1

Cài đặt xác thực người dùng

  • Username: Tên người dùng Proton VPN OpenVPN
  • Password: Mật khẩu Proton VPN OpenVPN
  • Authentication Retry: Không chọn

Lưu ý: Các thông tin này khác với tên người dùng và mật khẩu Proton VPN thông thường. Để kích hoạt các tính năng bổ sung, hãy thêm các hậu tố sau vào tên người dùng OpenVPN.

  • NetShield Ad-blocker: +f1
  • NetShield Ad-blocker nâng cao (chỉ khả dụng với gói trả phí, đồng thời chặn phần mềm độc hại và trình theo dõi): +f2

Ví dụ: để kích hoạt NetShield Ad-blocker, hãy nhập tên_người_dùng+f1.

Cấu hình ứng dụng khách OpenVPN 2

Cài đặt mật mã

  • Use a TLS Key: Đã chọn
  • Automatically generate a TLS Key: Không chọn
  • TLS Key: Dán OpenVPN Static key từ tệp cấu hình OpenVPN (xem Bước 1)
  • TLS Key Usage Mode: Mã hóa và Xác thực TLS
  • TLS keydir direction: Sử dụng hướng mặc định
  • Peer Certificate Authority: Proton AG (hoặc tên mô tả đã sử dụng ở Bước 2)
  • Peer Certificate Revocation List: Giữ nguyên
  • Client Certificate: Không có (Yêu cầu tên người dùng và/hoặc mật khẩu)
  • Data Encryption Negotiation: Đã chọn
  • Data Encryption Algorithms: AES-256-GCM, CHACHA20-POLY1305
  • Fallback Data Encryption Algorithm: AES-256-GCM
  • Auth digest algorithm: SHA256 (256-bit)
  • Hardware Crypto: Việc tính năng này có được hỗ trợ hay không tùy thuộc vào thiết bị. Nếu được hỗ trợ, trước tiên phải kích hoạt bằng cách đi tới SystemAdvancedMiscellaneous. Nếu không chắc chắn, hãy chọn No hardware crypto acceleration.
  • Server Certificate Key Usage Validation: Đã chọn
Ports explained

Cài đặt đường hầm

  • IPv4 Tunnel Network: –
  • IPv6 Tunnel Network:-
  • IPv4 Remote network(s): –
  • IPv6 Remote network(s): –
  • Limit outgoing bandwidth: – (trừ khi có tùy chọn khác)
  • Allow Compression: Từ chối mọi nén không phải stub (Bảo mật nhất)
  • Topology: Subnet — Một địa chỉ IP cho mỗi máy khách trong một mạng con chung
  • Type of service: Không chọn
  • Don’t pull routes: Chọn
  • Don’t add/remove routes: Không chọn
  • Pull DNS: Chọn
Cấu hình OpenVPN Client 4

Cài đặt Ping

  • Giữ nguyên tất cả các giá trị mặc định.
Cấu hình OpenVPN Client 5

Cấu hình nâng cao

  • Tùy chọn tùy chỉnh: Thêm các mục sau:

tun-mtu 1500;
mssfix 0;
reneg-sec 0;
remote-cert-tls server;

Lưu ý: các cài đặt cấu hình này thay thế các cài đặt hiển thị trong ảnh chụp màn hình bên dưới.

Để cải thiện độ tin cậy của kết nối, hãy mở tệp cấu hình OpenVPN đã tải xuống bằng trình chỉnh sửa văn bản và tìm các dòng bắt đầu bằng remote. Từ dòng remote thứ hai trở đi, sao chép từng dòng bắt đầu bằng remote vào trường Custom Options trong pfSense, tiếp theo là dấu chấm phẩy.

how port forwarding works

  • UDP Fast I/O: Đã chọn
  • Exit Notify: Đã vô hiệu hóa
  • Send/Receive Buffer: Mặc định
  • Gateway creation: Chỉ IPv4
  • Verbosity level: 3 (khuyên dùng)
Cấu hình OpenVPN Client 6

Nhấp vào Lưu và đi tới StatusOpenVPN. Client VPN mới sẽ hiển thị với Statusup.

Client OpenVPN hiện đã hoạt động

4. Cấu hình giao diện OpenVPN

Client VPN hiện đã hoạt động, nhưng chưa có lưu lượng nào được định tuyến qua đó. Để định tuyến tất cả lưu lượng mạng qua đường truyền Proton VPN bảo mật, cần cấu hình các giao diện và quy tắc tường lửa.

Đi tới InterfacesInterface Assignments → Available network ports và chọn client VPN vừa thêm từ menu thả xuống → Add.

Thao tác này sẽ tạo một giao diện có tên OPTx (trong đó x tùy thuộc vào số lượng giao diện vật lý của bộ định tuyến). Nhấp vào giao diện mới được tạo để cấu hình.

Cấu hình giao diện OpenVPN 1

Đi tới tab Interfaces, nhấp vào OPTx và nhập các cài đặt cấu hình sau·

Cấu hình chung:

  • Kích hoạt: đã chọn
  • Description: Chọn tên mô tả cho giao diện

Các mạng dự phòng:

  • Block bogon networks: Chọn

Giữ nguyên các trường còn lại.

Nhấp vào LưuÁp dụng thay đổi.

Cấu hình giao diện OpenVPN 2

5. Cấu hình các quy tắc tường lửa

Sử dụng các quy tắc tường lửa để định tuyến tất cả lưu lượng qua giao diện Proton VPN vừa thiết lập. Đi tới FirewallNATOutbound và chọn Manual Outbound NAT rule generation. Sau đó nhấp vào LưuÁp dụng thay đổi.

Cấu hình quy tắc tường lửa 1

Trong mục Mappings, sẽ có sáu quy tắc được liệt kê. Trong cột Source, 4 quy tắc trong số này hiển thị các địa chỉ 127.0.0.0/8 và ::1/128. Bỏ qua các quy tắc này và Chỉnh sửa (nhấp vào biểu tượng bút chì trong cột Actions) hai quy tắc còn lại.

Cấu hình quy tắc tường lửa 2

Đối với cả hai quy tắc, hãy đổi Interface thành Giao diện Proton VPN đã tạo ở Bước 4. Nhấp vào Lưu Áp dụng thay đổi.

Cấu hình quy tắc tường lửa 3

Lưu ý: thao tác này cũng sẽ tự động tạo một cổng có cùng tên với giao diện.

Cấu hình quy tắc tường lửa 4

Cài đặt Mappings bây giờ sẽ trông như thế này:

Cấu hình các quy tắc tường lửa 5

Đi tới FirewallRulesLAN. Nhấp vào biểu tượng bên cạnh Default allow LAN IPv6 to any rule để vô hiệu hóa quy tắc này.

Cấu hình quy tắc tường lửa 6

Đi tới Default allow LAN to any rule Edit (biểu tượng bút chì).

Cấu hình quy tắc tường lửa 7

Nhấp vào Display advancedGateway và chọn cổng đã tạo ở Bước 5. Nhấp vào Save Apply Changes.

Cấu hình các quy tắc tường lửa 8

Bây giờ, hãy chuyển đến StatusOpenVPN và nhấp vào biểu tượng ServiceRestart để khởi động lại máy khách OpenVPN với các cài đặt mới.

Cấu hình quy tắc tường lửa 9

Cấu hình cài đặt DNS

Tất cả lưu lượng internet đi qua tường lửa pfSense giờ đây sẽ được định tuyến qua máy chủ Proton VPN. Tuy nhiên, các yêu cầu DNS thì không. Để khắc phục điều này, cần thay đổi cài đặt DNS trong pfSense.

Đi tới System → General Setup → DNS Servers → DNS servers và nhập các cài đặt sau:

  • DNS ServersAddress: 10.2.0.1
  • DNS serversGateway: chọn giao diện VPN đã tạo ở Bước 4
  • DNS Server Override: tích chọn
  • DNS Resolution Behavior: Sử dụng máy chủ DNS từ xa, bỏ qua DNS cục bộ
Configure DNS server settings

Bây giờ, hãy chuyển đến ServicesDNS ResolverOutgoing Network Interfaces và nhập các cài đặt sau:

  • Outgoing Network Interfaces: chọn giao diện VPN đã tạo ở Bước 4
  • DNS Query Forwarding: tích chọn

Nếu đã kích hoạt tính năng Trình chặn quảng cáo NetShield bằng cách thêm hậu tố +f1 hoặc +f2 vào tên người dùng OpenVPN (xem Bước 3), phải vô hiệu hóa hỗ trợ DNSSEC.

Configure general DNS resolver options

Nhấp SaveApply changes.

Quá trình thiết lập hiện đã hoàn tất. Tất cả lưu lượng từ mạng hiện sẽ được định tuyến an toàn qua máy chủ Proton VPN đã chọn. Có thể kiểm tra bằng cách truy cập trình quét IP bảo mật miễn phí từ bất kỳ thiết bị nào trong mạng.

Tinh chỉnh tùy chọn

Có thể loại trừ một số máy tính trong mạng khỏi việc sử dụng giao diện VPN. Ví dụ: người dùng có thể muốn máy chơi game truy cập internet mà không cần kết nối với VPN. Để làm điều này:

1. Đi tới FirewallRulesLANAdd.

Loại trừ thiết bị khỏi VPN 1

2. Cấu hình các cài đặt như sau:

  • Action: Pass
  • Disabled: Không chọn
  • Interface: LAN
  • Address Family: IPv4
  • Protocol: Any
  • Source: Single Host or Alias và thêm IP của thiết bị muốn loại trừ
  • Destination: Any
  • Log: Unchanged
  • Description: Thêm mô tả
Thiết lập pfSense 22

3. Nhấp vào Display Advanced và đổi Gateway thành WAN.

Thiết lập pfSense 23

4. Nhấp SaveApply Changes.

Loại trừ một thiết bị khỏi VPN 4

5. Đi tới FirewallNATOutbound và chuyển Mode sang Automatic, sau đó nhấp vào SaveApply Change. Tiếp theo, chuyển Mode trở lại Manual, sau đó nhấp SaveApply Change.

Loại trừ một thiết bị khỏi VPN 5

Thao tác này tạo ra hai quy tắc mới cho phép thiết bị đã chọn truy cập mạng WAN cục bộ.

Thiết lập pfSense 24

Thiết bị hiện đã bị loại trừ khỏi giao diện VPN và sẽ truy cập internet bằng địa chỉ IP do ISP cấp. Tuy nhiên, thiết bị sẽ sử dụng máy chủ DNS của Proton VPN.