Cấu hình VPN trực tiếp trên bộ định tuyến bằng OpenVPN. Đây là một trong những cách mạnh mẽ và linh hoạt nhất để bảo vệ toàn bộ mạng gia đình hoặc doanh nghiệp của bạn mà không cần phải cài đặt ứng dụng trên từng thiết bị. Khi được thực hiện đúng cách, bất kỳ thiết bị nào kết nối với Wi-Fi hoặc qua cáp sẽ truy cập internet thông qua một đường hầm mã hóa, như thể nó đang nằm trên một mạng khác về mặt vật lý.
Hướng dẫn này thu thập, sắp xếp lại và mở rộng thông tin kỹ thuật từ các nhà sản xuất như TP-Link, ASUS, Omada và tài liệu chính thức của OpenVPN để bạn có mọi thứ cần thiết trong một bài viết duy nhất: OpenVPN là gì? OpenVPNNhững lợi ích và thiệt hại khi sử dụng nó, cách thiết lập trên bộ định tuyến và máy chủ, cách kết nối từ máy tính và thiết bị di động, và cách giải quyết các lỗi thường gặp.
OpenVPN là gì và tại sao bạn nên sử dụng nó trên bộ định tuyến của mình?
OpenVPN là một phần mềm VPN mã nguồn mở Nó tạo ra một "đường hầm" được mã hóa giữa máy khách (máy tính xách tay, điện thoại di động, v.v.) và máy chủ (bộ định tuyến, máy chủ Linux, NAS, v.v.). Nó hoạt động trên giao thức SSL/TLS, cho phép sử dụng chứng chỉ số, khóa, tên người dùng và mật khẩu, cùng nhiều thuật toán mã hóa hiện đại khác nhau.
Một trong những ưu điểm vượt trội của nó so với các giao thức khác như IPsec là nó... dễ cài đặt hơnHơn nữa, nó có sẵn trên hầu hết mọi hệ điều hành (Windows, macOS, GNU/Linux, Android, iOS, bộ định tuyến, tường lửa, NAS…).
Khi bạn cài đặt và kích hoạt OpenVPN trên bộ định tuyến, Bản thân bộ định tuyến đóng vai trò như một máy chủ VPN. Mạng cục bộ của bạn trở thành "mặt an toàn", và các thiết bị từ xa (máy khách VPN) kết nối từ bên ngoài nhà hoặc văn phòng của bạn thông qua internet, luôn được mã hóa. Bộ định tuyến đóng vai trò là cổng kết nối giữa VPN và mạng LAN của bạn.
Kết quả là bạn có thể duyệt web an toàn từ các mạng WiFi công cộngTruy cập các tài nguyên nội bộ của bạn (NAS, máy in, camera IP, máy chủ SMB/FTP…) như thể bạn đang ở nhà, đồng thời ẩn địa chỉ IP thực hoặc vượt qua các rào cản địa lý tùy thuộc vào cách bạn thiết lập cấu hình.
Ưu điểm và nhược điểm của việc sử dụng VPN và OpenVPN
Việc thiết lập VPN trên bộ định tuyến bằng OpenVPN đã nhiều lợi ích thực tếTuy nhiên, cũng có một số nhược điểm bạn cần biết trước khi bắt đầu, để có thể lựa chọn thiết bị, nhà cung cấp internet và phương pháp cài đặt phù hợp. Dưới đây là danh sách:
- Khả năng thay đổi hoặc ẩn địa chỉ IP của bạn.
- Mã hóa lưu lượng truy cập để ngăn chặn việc bị theo dõi (đặc biệt hữu ích trên mạng WiFi công cộng).
- Nội dung bị hạn chế theo quốc gia.
- Duyệt web với mức độ ẩn danh cao hơn nhiều.
Trong mục quyền riêng tư, VPN giúp ngăn chặn bất kỳ ai dễ dàng xem được thông tin. Các trang web bạn truy cập và vị trí bạn kết nối đến không được theo dõi, mặc dù nhà cung cấp dịch vụ internet của bạn luôn có một số thông tin nhất định. Tuy nhiên, điều này khiến việc theo dõi bạn thông qua các phần mềm nghe lén, điểm truy cập không an toàn hoặc mạng chia sẻ trở nên cực kỳ khó khăn.
Đổi lại, Mã hóa và định tuyến qua máy chủ VPN tiêu tốn tài nguyên. Chúng cũng có xu hướng làm giảm tốc độ và băng thông khả dụng, đặc biệt nếu bộ định tuyến của bạn yếu hoặc bạn đang sử dụng các dịch vụ miễn phí. Hơn nữa, một chương trình chống virus tốt vẫn rất cần thiết, và bạn nên cẩn thận khi tải xuống phần mềm, vì VPN không bảo vệ bạn khỏi phần mềm độc hại.
Sus điểm mạnh Chúng mang lại sự bảo mật, ổn định, phạm vi tùy chỉnh rộng (lớp 2 hoặc 3, đường hầm TUN hoặc TAP, IP động không gặp vấn đề, khả năng tương thích NAT…) và khả năng kiểm soát tuyệt vời đối với các quy tắc tường lửa và tập lệnh khởi động, nhưng nó đòi hỏi sự hiểu biết tốt về cấu hình của nó, đặc biệt nếu bạn định tùy chỉnh các thuật toán và chứng chỉ.
Các điều kiện tiên quyết và những lưu ý quan trọng (CG-NAT, địa chỉ IP công cộng và DNS động)
Trước khi kích hoạt OpenVPN trên bộ định tuyến, bạn cần kiểm tra một số thứ. những điểm chính:
- Nếu bộ định tuyến của bạn hỗ trợ máy chủ OpenVPN.
- Hãy đảm bảo rằng kết nối internet của bạn có địa chỉ IP công cộng.
- Nếu bạn cần sử dụng DNS động.
Nhiều bộ định tuyến tầm trung và cao cấp từ TP-Link, ASUS hoặc Omada đã tích hợp sẵn máy chủ OpenVPN, nhưng không phải tất cả các mẫu đều có tính năng này, cũng như không phải tất cả các phiên bản firmware đều hỗ trợ. Vì vậy, nên... Kiểm tra thông số kỹ thuật của mẫu máy bạn đang sử dụng. và, nếu cần, hãy cập nhật phần mềm lên phiên bản mới nhất do nhà sản xuất cung cấp.
Yêu cầu quan trọng nhất là có địa chỉ IP công cộng trên WAN của bộ định tuyếnNếu nhà cung cấp dịch vụ Internet (ISP) của bạn sử dụng CG-NAT và cung cấp cho bạn địa chỉ IP riêng dùng chung (thường gặp với kết nối 4G/5G hoặc một số ISP nhất định), bạn sẽ không thể chuyển tiếp cổng từ internet đến bộ định tuyến của mình, do đó VPN sẽ không thể truy cập được từ bên ngoài. Trong trường hợp đó, bạn cần yêu cầu ISP cung cấp cho bạn địa chỉ IP tĩnh hoặc IP công cộng.
Việc có thể xác định vị trí bộ định tuyến của bạn bằng tên chứ không phải bằng địa chỉ IP số rất tiện lợi. Kích hoạt dịch vụ DNS động trên chính bộ định tuyến. (NO-IP, DynDNS, dịch vụ riêng của nhà sản xuất, v.v.). Bằng cách này, bạn có thể kết nối với mydomain.no-ip.org thay vì phải nhớ địa chỉ IP công cộng của mình, vốn có thể thay đổi.
Bên cạnh đó, Nên đồng bộ hóa thời gian hệ thống của bộ định tuyến với thời gian trên Internet.Điều này là do chứng chỉ số và các chức năng TLS phụ thuộc vào ngày giờ chính xác. Bất kỳ sự sai lệch nào cũng có thể gây ra lỗi xác thực chứng chỉ bất thường.

Về mặt kỹ thuật, OpenVPN hoạt động như thế nào và các chế độ mà nó cung cấp (TUN/TAP, UDP/TCP)?
OpenVPN có thể hoạt động ở chế độ TUN hoặc TAPvà sử dụng UDP hoặc TCP làm giao thức truyền tải. Mỗi lựa chọn đều ảnh hưởng đến hiệu suất, khả năng tương thích và loại mạng được tạo ra giữa máy khách và máy chủ.
- Chế độ TUN mô phỏng giao diện điểm-đến-điểm. Chế độ này chỉ hoạt động với lưu lượng IP. Nó lý tưởng để tạo một mạng con ảo mới (ví dụ: 10.8.0.0/24) nơi đặt các máy khách VPN, tách biệt với mạng LAN vật lý. Đây là chế độ phổ biến nhất để truy cập từ xa và thường cung cấp hiệu suất tốt hơn.
- Chế độ TAP mô phỏng giao diện Ethernet lớp 2.Điều này liên quan đến việc đóng gói trực tiếp các khung Ethernet. Điều này cho phép các thiết bị từ xa nằm trên cùng một mạng con với mạng LAN, điều này hữu ích khi bạn muốn các máy khách VPN xuất hiện như thể "đã kết nối" với bộ chuyển mạch cục bộ, mặc dù nó có thể gây ra sự cố nếu phạm vi mạng chồng chéo và nhìn chung kém hiệu quả hơn.
Về quy trình, Nên sử dụng giao thức UDP thay vì TCP. Đối với đường hầm VPN, TCP được ưu tiên hơn vì nó tránh được việc truyền lại dữ liệu nội bộ không cần thiết và có khả năng chống chịu tốt hơn với việc mất gói dữ liệu và các cuộc tấn công từ chối dịch vụ. TCP cũng có thể được sử dụng, nhưng nó tạo ra nhiều chi phí hơn và trùng lặp việc kiểm soát phiên.
Trên thực tế, hầu hết các cấu hình được khuyến nghị Họ sử dụng TUN qua UDP, với một mạng con ảo chuyên dụng cho VPN và các tuyến đường cụ thể để truy cập mạng LAN hoặc buộc tất cả lưu lượng truy cập Internet phải đi qua đường hầm.
Mã hóa, chứng chỉ và bảo mật nâng cao trong OpenVPN
Một trong những điểm mạnh của OpenVPN là cho phép bạn lựa chọn với độ chính xác đáng kể các thuật toán mã hóa đối xứng, bất đối xứng và băm, cũng như phiên bản TLS và nhiều biện pháp bổ sung khác chống lại các cuộc tấn công từ chối dịch vụ.
Đối với cơ sở hạ tầng khóa công khai (PKI)Người ta thường sử dụng chứng chỉ dựa trên đường cong elliptic (EC) thay vì RSA cổ điển. Ví dụ, Easy-RSA 3 có thể được cấu hình để tạo CA, chứng chỉ máy chủ và chứng chỉ máy khách bằng cách sử dụng đường cong secp521r1 và ký chúng bằng SHA512, tạo ra các khóa có độ bảo mật cao và tương đối nhẹ.
Trong kênh điều khiển (đàm phán TLS)OpenVPN hỗ trợ ít nhất TLS 1.2 và, trong các phiên bản gần đây, TLS 1.3. Nên sử dụng các bộ mã hóa mạnh với Perfect Forward Secrecy, chẳng hạn như TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 hoặc các phiên bản mới hơn như TLS_AES_256_GCM_SHA384 và TLS_CHACHA20_POLY1305_SHA256 cho TLS 1.3, luôn kiểm tra bằng lệnh openvpn --show-tls xem hệ thống của bạn hỗ trợ những gì.
Đối với kênh dữ liệu (lưu lượng VPN thực)Các thuật toán mã hóa được khuyến nghị là AES-256-GCM hoặc AES-128-GCM, tích hợp xác thực (AEAD) và loại bỏ nhu cầu sử dụng hàm băm riêng biệt. Nếu bộ xử lý của bạn không hỗ trợ tăng tốc AES-NI, thuật toán mã hóa CHACHA20-POLY1305 thường cho hiệu suất tốt hơn và cũng được hỗ trợ từ OpenVPN 2.5 trở lên.
Một lớp bổ sung quan trọng khác là việc sử dụng thêm một khóa HMAC Với tls-crypt (hoặc tls-auth trong các phiên bản cũ hơn), chức năng này bảo vệ giai đoạn ban đầu của kết nối khỏi các cuộc tấn công tràn cổng UDP, tấn công SYN và quét mạng, đồng thời cũng che giấu chính khóa chia sẻ trước khi sử dụng tls-crypt. Tất cả các máy khách phải chia sẻ cùng một khóa này nếu bạn sử dụng phiên bản đầu tiên, trong khi với tls-crypt-v2, mỗi máy khách có thể có một khóa khác nhau.
Tạo PKI với Easy-RSA và tổ chức chứng chỉ.
Nếu bạn thiết lập một Máy chủ OpenVPN "thuần túy" trên GNU/Linux hoặc hệ điều hành tương tự.Thông thường, người ta sẽ tự tạo chứng chỉ của riêng mình bằng Easy-RSA 3, điều chỉnh tệp vars để xác định xem bạn sẽ sử dụng RSA hay EC, hàm băm, đường cong, thời hạn hết hạn của CA và chứng chỉ, v.v.
Sau khi sao chép vars.example vào vars và chỉnh sửa nó, bạn có thể chọn chế độ cn_only để đơn giản hóa DN, kích hoạt EASYRSA_ALGO ec, chọn đường cong secp521r1, cấu hình thời hạn hết hạn (ví dụ: 10 năm cho CA và 1080 ngày cho chứng chỉ), và đặt EASYRSA_DIGEST thành sha512.
Sau khi chuẩn bị xong tệp đó, bạn khởi tạo PKI bằng lệnh ./easyrsa init-pki.Bạn tạo CA bằng lệnh ./easyrsa build-ca (có hoặc không có mật khẩu cho khóa riêng) và từ đó, bạn tạo yêu cầu chứng chỉ cho máy chủ và số lượng yêu cầu cho máy khách tùy ý, sau đó ký chúng với tư cách là máy chủ hoặc máy khách tương ứng.
Ở thời điểm này, điều đó rất được khuyến khích. sắp xếp tập tin trong các thư mục trong suốt:
- Một tệp dành cho máy chủ (ca.crt, server.crt, server.key, ta.key, và tùy chọn dh.pem nếu bạn không sử dụng ECDHE).
- Một tệp dành cho mỗi khách hàng (ca.crt, clientX.crt, clientX.key và ta.key).
Bằng cách này, bạn sẽ tránh được việc nhầm lẫn giữa khóa và chứng chỉ.
Ngoài chứng chỉ, OpenVPN còn cho phép sử dụng xác thực bổ sung Bằng tên người dùng/mật khẩu, có thể xác thực trực tiếp với hệ thống hoặc với máy chủ RADIUS hay cơ sở dữ liệu khác, giúp tăng cường bảo mật chống lại hành vi đánh cắp chứng chỉ.
Cấu hình máy khách OpenVPN trên máy tính, thiết bị di động và bộ định tuyến.
Bước tiếp theo là cấu hình máy khách từ xaĐó có thể là máy tính chạy Windows hoặc Linux, điện thoại di động Android/iOS, các bộ định tuyến khác, hoặc thậm chí là thiết bị kết nối từ bộ điều khiển như Omada.
Trong một ứng dụng khách máy tính để bàn cổ điểnTệp client.ovpn bao gồm các chỉ thị như client, dev tun, proto udp, dòng từ xa với địa chỉ IP công cộng hoặc tên miền của bộ định tuyến và cổng đã chọn, resolv-retry infinite, nobind và đường dẫn đến ca.crt, chứng chỉ và khóa riêng của máy khách, cộng với tls-crypt ta.key.
Để tăng cường bảo mật, máy khách xác thực máy chủ Với `remote-cert-tls server`, hãy sử dụng cùng thuật toán mã hóa và phương thức xác thực như máy chủ, và lý tưởng nhất là sao chép các bộ TLS được hỗ trợ tương tự. Điều quan trọng là thuật toán mã hóa và đường cong phải khớp nhau; nếu không, quá trình bắt tay TLS sẽ thất bại.
Trên Android, bạn có thể sử dụng ứng dụng OpenVPN chính thức. hoặc các ứng dụng bên thứ ba tiên tiến hơn hỗ trợ các tính năng mới nhất. Thông thường, chỉ cần sao chép thư mục chứa các tệp ca.crt, cliente.crt, cliente.key, ta.key và tệp .ovpn vào bộ nhớ điện thoại của bạn, sau đó nhập hồ sơ đó từ bên trong ứng dụng là đủ.
Trên Windows, ứng dụng khách OpenVPN Community Thông thường, bạn cần sao chép tệp .ovpn và chứng chỉ vào thư mục C:\Program Files\OpenVPN\config (hoặc đường dẫn được chỉ định trong quá trình cài đặt). Sau đó, nhấp chuột phải vào biểu tượng OpenVPN trong khay hệ thống, chọn cấu hình và kết nối.

Cấu hình OpenVPN trên bộ định tuyến TP-Link
Một số bộ định tuyến TP-Link thế hệ mới được tích hợp sẵn máy chủ OpenVPN. Với giao diện web tiên tiến, nó đơn giản hóa mọi thứ đáng kể vì tự động tạo chứng chỉ và tệp .ovpn cho khách hàng.
Trong một tình huống đơn giản với một bộ định tuyến duy nhất trên mạngQuy trình thường là: truy cập giao diện web, vào Advanced > VPN Server > OpenVPN, chọn Enable VPN server và, nếu là lần đầu tiên, hãy nhấp vào Generate để tạo chứng chỉ nội bộ.
Tiếp theo, sự lựa chọn được đưa ra. loại dịch vụ (UDP hoặc TCP), cổng dịch vụ được xác định trong khoảng từ 1024 đến 65535, mạng con và mặt nạ VPN được cấu hình, và loại truy cập của máy khách được chọn: Chỉ mạng gia đình (chỉ mạng LAN 192.168.xx) hoặc Internet và mạng gia đình (tất cả lưu lượng truy cập Internet đều đi qua VPN).
Sau khi Lưu cấu hình và tạo/cập nhật chứng chỉ.Nhấp vào Export để tải xuống tệp cấu hình OpenVPN mà các máy khách sẽ sử dụng. Sau đó, chỉ cần cài đặt ứng dụng khách OpenVPN trên máy tính hoặc thiết bị di động của bạn, sao chép tệp đã xuất vào thư mục config và kết nối.
Khi có từ hai bộ định tuyến trở lên trong cấu trúc mạng gia đình. (Ví dụ: một bộ định tuyến ISP và một bộ định tuyến TP-Link phía sau nó), ngoài việc cấu hình OpenVPN trên bộ định tuyến thứ hai, bạn sẽ phải tạo một chuyển tiếp cổng (máy chủ ảo) trên bộ định tuyến đầu tiên, trỏ cổng bên ngoài đến địa chỉ IP mạng LAN của bộ định tuyến thứ hai và cùng một cổng nội bộ mà OpenVPN sử dụng.
Cấu hình OpenVPN trên bộ định tuyến ASUS
Các Bộ định tuyến ASUS với firmware ASUSWRT Chúng cũng bao gồm một máy chủ OpenVPN với giao diện đồ họa khá thân thiện với người dùng, mặc dù giao diện màn hình có thay đổi đôi chút giữa các phiên bản firmware trước và sau phiên bản 3.0.0.4.388.xxxx.
Quá trình bắt đầu truy cập giao diện người dùng đồ họa (GUI) của bộ định tuyến Từ http://www.asusrouter.com hoặc địa chỉ IP mạng LAN của bạn, hãy đăng nhập bằng tên người dùng và mật khẩu quản trị viên, sau đó vào VPN > VPN Server để kích hoạt OpenVPN.
Trong cài đặt chung Cổng máy chủ được xác định (ví dụ: 2000 hoặc một giá trị nằm giữa 1024 và 65535), độ dài mã hóa RSA mặc định, và liệu các máy khách có thể truy cập chỉ vào mạng cục bộ hay cả Internet thông qua bộ định tuyến.
Sau khi mọi thứ đã được áp dụng, Tệp client.ovpn được xuất ra Từ phần máy chủ OpenVPN. Tệp đó đã bao gồm các chứng chỉ, khóa và tham số cần thiết. Nếu sau này bạn thay đổi khóa hoặc chứng chỉ, bạn sẽ cần xuất lại và phân phối cho các máy khách.
Trong phần Chi tiết VPN > Cài đặt nâng cao Bạn có thể chỉnh sửa thủ công các khóa và chứng chỉ, điều chỉnh các tham số như phiên bản TLS hoặc thuật toán, và điều chỉnh cấu hình cho phù hợp với các môi trường đòi hỏi cao hơn mà không cần can thiệp vào phần mềm điều khiển.
Cấu hình OpenVPN trong Omada (TP-Link) làm máy chủ và tạo người dùng.
Trong môi trường được quản lý bởi bộ điều khiển Ôi Bạn có thể định nghĩa các chính sách VPN kiểu máy chủ OpenVPN cho truy cập Client-to-Site, điều này rất lý tưởng khi bạn muốn tập trung quản lý vào một bảng điều khiển duy nhất.
Từ bộ điều khiển bạn truy cập Cấu hình> VPNBạn nhấp vào Thêm để tạo chính sách mới và chỉ định tên (ví dụ: "test"), đặt trạng thái là Đã bật, chọn Mục đích kết nối từ Máy khách đến Trang web và Loại VPN: Máy chủ VPN - OpenVPN.
Theo chính sách tương tự Bạn quyết định sử dụng đường hầm chia đôi hay đường hầm toàn phần.Bạn có thể chọn giữa Split Tunnel, để chỉ lưu lượng truy cập vào mạng nội bộ đi qua VPN, hoặc Full Tunnel, để tất cả lưu lượng truy cập internet cũng đi qua máy chủ. Bạn cũng chọn giao thức (TCP/UDP), cổng dịch vụ (mặc định 1194), chế độ xác thực (cục bộ), loại mạng cục bộ và phạm vi địa chỉ IP được gán cho máy khách.
Despué Bạn tạo người dùng VPN trong Cài đặt > VPN > Người dùngQuá trình này bao gồm việc gán tên tài khoản và mật khẩu, chọn giao thức OpenVPN, và liên kết người dùng với máy chủ VPN vừa tạo. Mỗi người dùng sau đó sẽ có thông tin đăng nhập cơ bản của mình.
Cuối cùng, tệp .ovpn được xuất ra từ danh sách chính sách.Sao chép tập tin vào máy khách (máy tính để bàn, máy tính xách tay, v.v.), cài đặt phần mềm OpenVPN Community, đặt tập tin vào thư mục config và kết nối. Bạn có thể kiểm tra trạng thái trên bộ điều khiển trong mục Insight > VPN Status.
Các bản cập nhật OpenVPN gần đây và các lựa chọn thay thế khả dụng
OpenVPN tiếp tục phát triển qua từng phiên bản.Bổ sung các cải tiến về bảo mật, hiệu suất và khả năng sử dụng. Những thay đổi gần đây bao gồm tls-crypt-v2 (để gán khóa dành riêng cho máy khách và giảm thiểu hơn nữa các cuộc tấn công DoS), hỗ trợ CHACHA20-POLY1305 và cải thiện khả năng đàm phán các thuật toán mã hóa dữ liệu bằng cách sử dụng các thuật toán mã hóa dữ liệu.
Đồng thời Việc hỗ trợ các thuật toán mã hóa lỗi thời đã bị ngừng. Ví dụ như BF-CBC trong cấu hình mặc định, khiến các quản trị viên phải sử dụng AES-GCM hoặc CHACHA20, những thuật toán an toàn hơn và nhanh hơn nhiều trong thực tế.
Trong các công ty, điều này cũng rất phổ biến. kết hợp OpenVPN với các giải pháp đám mây như Azure VPN Gateway hoặc với các tường lửa tích hợp IPsec và các giao thức khác cho kết nối giữa các địa điểm, trong khi ở môi trường gia đình, một bộ định tuyến tương thích OpenVPN được cấu hình tốt thường cung cấp mọi thứ cần thiết.
Với mọi thứ đã thấy, Cấu hình VPN trên bộ định tuyến của bạn bằng OpenVPN. Từ chỗ là một thứ bí ẩn, nó sẽ trở thành một dự án hoàn toàn dễ quản lý nếu bạn đáp ứng các yêu cầu cơ bản (địa chỉ IP công cộng, bộ định tuyến tương thích, một chút kiên nhẫn) và tuân theo một cấu trúc rõ ràng: chuẩn bị chứng chỉ hoặc sử dụng chứng chỉ do bộ định tuyến tạo ra, kích hoạt và điều chỉnh máy chủ, xuất cấu hình cho máy khách và kiểm tra một cách bình tĩnh, sửa chữa các lỗi thường gặp; đổi lại, bạn sẽ có được một mạng lưới an toàn hơn, linh hoạt hơn, sẵn sàng cho cả làm việc từ xa và bảo vệ tất cả các thiết bị trong nhà chỉ trong một lần.

