OpenVPN: Con ngựa làm việc 25 tuổi vẫn đánh bại mọi thứ trong một niche
OpenVPN ra mắt vào ngày 13 tháng 5 năm 2001. 25 năm sau, nó không còn là giao thức VPN nhanh nhất hay cơ sở mã sạch nhất nữa, nhưng nó vẫn là giao thức duy nhất hoạt động đáng tin cậy trên các mạng thù địch nhất thế giới. Đây là đánh giá trung thực — điều gì khiến OpenVPN tốt, điều gì khiến nó cũ và khi nào thì nó vẫn là lựa chọn phù hợp thay vì WireGuard.
Toàn bộ nội dung bài viết được cung cấp bằng tiếng Anh bên dưới.
Lịch sử vẫn còn quan trọng
OpenVPN được tạo bởi James Yonan và phát hành theo GPLv2 vào ngày 13 tháng 5 năm 2001. Tổ chức thương mại, OpenVPN Inc., được thành lập vào năm 2002 và hiện bán OpenVPN Access Server cùng với phiên bản cộng đồng miễn phí. Bản phát hành ổn định mới nhất (2.7.4) được phát hành vào ngày 30 tháng 4 năm 2026.
OpenVPN đã trở thành giao thức VPN "mở" mặc định của những năm 2000 và 2010 vì một lý do đơn giản: nó hoạt động ở mọi nơi, trên mọi hệ điều hành, đằng sau mọi tường lửa. PPTP không an toàn. L2TP/IPsec có cấu hình phức tạp và chậm. SSTP chỉ dành cho Windows. OpenVPN sử dụng TCP hoặc UDP, trên bất kỳ cổng nào, với trình nền không gian người dùng có thể được cài đặt trên mọi thứ. Theo mặc định, nó trở thành ngôn ngữ chung.
Architecture: SSL/TLS trong không gian người dùng
OpenVPN lựa chọn kỹ thuật xác định là xây dựng toàn bộ đường hầm từ TLS tiêu chuẩn — cùng một nguyên thủy hỗ trợ HTTPS. Điều này gây ra ba hậu quả lớn:
- Nó kế thừa toàn bộ hệ sinh thái TLS: các luồng chứng chỉ đã biết, mật mã được hiểu rõ, khối lượng công việc kiểm tra khổng lồ, công cụ hoàn thiện.
- Nó chạy hoàn toàn trong không gian người dùng, không phải trong kernel. Dễ cài đặt, dễ cập nhật, dễ sandbox. Chậm so với mô-đun hạt nhân, vì mọi gói đều vượt qua ranh giới hạt nhân/không gian người dùng.
- Nó có thể mang phiên TLS của nó qua TCP/443, khiến lưu lượng trông gần giống với HTTPS thông thường đối với trình kiểm tra gói sâu. Đây là lợi thế lớn nhất còn lại của OpenVPN vào năm 2026.
OpenVPN sử dụng OpenSSL (hoặc, kể từ phiên bản 2.3, đã kết hợp TLS làm giải pháp thay thế) cho tiền điện tử của mình. Các mật mã được hỗ trợ bao gồm AES-256-GCM và ChaCha20-Poly1305, bảo mật chuyển tiếp hoàn hảo thông qua trao đổi khóa Diffie-Hellman và xác thực gói HMAC. Xác thực có thể sử dụng khóa chia sẻ trước, chứng chỉ X.509, tên người dùng/mật khẩu (thông qua plugin) hoặc thẻ thông minh PKCS#11. Chế độ
UDP và TCP
OpenVPN có thể chạy trên UDP (cổng 1194 theo mặc định, cổng do IANA chỉ định) hoặc TCP (thường là 443 để bắt chước) HTTPS).
- UDP: nhanh hơn, đơn giản hơn. Mặc định cho hầu hết các nhà cung cấp. Gặp phải vấn đề về khả năng chặn tương tự như WireGuard — nhiều tường lửa cấp doanh nghiệp và cấp quốc gia chặn lưu lượng UDP tùy ý.
- TCP/443: chậm hơn do sự cố suy giảm TCP-over-TCP, nhưng không thể phân biệt được với HTTPS thông thường trừ khi người kiểm tra thực hiện phân tích trạng thái rất sâu. Chế độ này là lý do tại sao OpenVPN vẫn có trong bộ công cụ vào năm 2026.
Những gì OpenVPN làm đúng
- Được kiểm tra rộng rãi. Các cuộc kiểm tra độc lập của Cure53 và Quarkslab vào năm 2017 đã phát hiện ra một số vấn đề đã được vá. Các cuộc kiểm tra tiếp theo vẫn tiếp tục.
- Chạy ở mọi nơi. Máy khách gốc tồn tại cho Windows 7+, macOS 10.8+, Linux, các biến thể BSD, Solaris, QNX, Android 4.0+, iOS 6+ và hầu hết chương trình cơ sở của bộ định tuyến (DD-WRT, OpenWrt, pfSense, OPNsense, IPFire, Tomato).
- Tồn tại trên các mạng thù địch. che giấu TCP/443 + TLS vẫn là cách đáng tin cậy nhất để đưa đường hầm VPN ra khỏi Trung Quốc, Iran hoặc mạng công ty bị lọc kỹ lưỡng.
- Miễn phí và mã nguồn mở theo GPLv2. Có thể phân nhánh, có thể kiểm tra, không có nhà cung cấp lock-in.
- Tăng cường bảo mật hoàn thiện. Trình nền loại bỏ các đặc quyền root sau khi init, sử dụng
mlockallđể giữ các khóa không bị trao đổi, có thể vào tù chroot và có thể áp dụng ngữ cảnh SELinux.
OpenVPN nhận được gì sai
- Slow. daemon không gian người dùng cộng với kích thước bắt tay TLS có nghĩa là OpenVPN thường cung cấp 30–50% thông lượng của WireGuard trên cùng một liên kết. Tính năng Giảm tải kênh dữ liệu (DCO) được thêm vào trong OpenVPN 2.6 đã thu hẹp khoảng cách này trên Linux bằng cách di chuyển đường dẫn dữ liệu vào nhân, nhưng khoảng cách vẫn là có thật.
- Có thể phát hiện được bằng cách kiểm tra gói sâu. Mặc dù tải trọng OpenVPN đã được mã hóa nhưng các tiêu đề giao thức vẫn có thể nhận ra được đối với những người kiểm tra biết những gì cần tìm kiếm. Trình bao bọc mã hóa TLS trợ giúp, nhưng giao thức trần có thể lấy dấu vân tay.
- LCơ sở mã lớn. ~70.000 dòng là rất nhiều bề mặt tấn công so với ~4.000.
- PLZ79XSử dụng pin di động nhiều hơn. Xử lý không gian người dùng cộng với hằng số keepalives.
- Độ phức tạp của cấu hình. Định dạng tệp cấu hình chính thức có hàng tá lệnh. Cấu hình sai là một rủi ro thực sự đối với những người tự lưu trữ.
OpenVPN so với WireGuard
So sánh trung thực:
- Speed: WireGuard thắng 2–4×, thông thường.
- Pin di động: WireGuard thắng.
- : WireGuard thắng nhờ kích thước.
- Bỏ qua hạn chế mạng: OpenVPN-TCP/443 thắng. Không có cuộc thi.
- Maturity: OpenVPN thắng trong nhiều năm thực tế.
- Configurability: OpenVPN thắng. WireGuard được thiết kế lấy ý kiến.
Để biết thông tin đầy đủ hơn, hãy xem so sánh các giao thức VPN của chúng tôi.
Khi nào nên chọn OpenVPN vào năm 2026
- Bạn đang ở một quốc gia tích cực chặn lưu lượng VPN. OpenVPN-TCP/443 với khả năng che giấu TLS là cơ hội tốt nhất của bạn.
- Bạn đang đứng sau tường lửa công ty chỉ cho phép gửi đi 80/443.
- Bạn cần tự lưu trữ trên phần cứng cũ không hỗ trợ WireGuard.
- Bạn cần xác thực tên người dùng/mật khẩu qua LDAP hoặc RADIUS — được tích hợp sẵn thông qua OpenVPN plugin.
Khi nào nên chọn thứ khác
- Bạn đang sử dụng kết nối dân dụng hoặc di động bình thường và chỉ muốn tốc độ — sử dụng WireGuard.
- Bạn đang dùng iOS hoặc macOS và muốn chế độ gốc luôn bật với thời lượng pin tốt — hãy sử dụng IKEv2.
- Hôm nay, bạn cần mã hóa hậu lượng tử — không phải OpenVPN gốc cũng như không phải OpenVPN gốc stock WireGuard cung cấp cái này, nhưng các bản dựng WireGuard cụ thể và máy khách Linux hậu lượng tử NordWhisper / NordVPN của ProtonVPN thì có.
Và bất kỳ giao thức nào bạn sử dụng, hãy chạy thử nghiệm leak của chúng tôi sau khi cài đặt để xác nhận đường hầm thực sự hoạt động.
Câu hỏi thường gặp
- OpenVPN có còn phù hợp vào năm 2026 không?
- Có - vì một lý do cụ thể. OpenVPN-TCP trên cổng 443 với tính năng che giấu TLS vẫn là cách đáng tin cậy nhất để có được đường hầm VPN thông qua các mạng được lọc sâu như Tường lửa vĩ đại của Trung Quốc. Để sử dụng hàng ngày trên mạng không bị chặn, WireGuard nhanh hơn và nhẹ hơn.
- OpenVPN có nhanh hơn WireGuard không?
- Không. WireGuard thường nhanh hơn 2–4× trên cùng một liên kết vì nó chạy trong kernel và sử dụng ngăn xếp mật mã nhỏ hơn, hiện đại hơn. Giảm tải kênh dữ liệu của OpenVPN 2.6 thu hẹp khoảng cách trên Linux nhưng không thu hẹp được khoảng cách đó.
- OpenVPN có an toàn không?
- Có khi được cấu hình đúng. Giao thức đã được Cure53 và Quarkslab kiểm tra độc lập, chạy trên TLS đã được thử nghiệm trong thực tế và hỗ trợ AES-256-GCM và ChaCha20-Poly1305. Rủi ro lớn nhất trong thế giới thực là cấu hình sai của máy chủ chứ không phải điểm yếu trong chính giao thức.
- Kiểm tra gói sâu có thể phát hiện OpenVPN không?
- Đúng. Mặc dù tải trọng được mã hóa nhưng các tiêu đề giao thức vẫn có thể nhận dạng được. Trình bao bọc mã hóa TLS (được tích hợp trong hầu hết các ứng dụng VPN thương mại lớn) giúp ngụy trang lưu lượng truy cập dưới dạng HTTPS thông thường, đây là lý do khiến OpenVPN-TCP/443 hoạt động ở các quốc gia hạn chế.
- OpenVPN sử dụng mật mã nào?
- Các cấu hình OpenVPN hiện đại mặc định là AES-256-GCM với Bảo mật chuyển tiếp hoàn hảo thông qua trao đổi khóa Diffie-Hellman. ChaCha20-Poly1305 cũng được hỗ trợ, đặc biệt trên thiết bị di động, nơi nó có thể nhanh hơn AES trên bộ xử lý mà không cần tăng tốc phần cứng AES-NI. HMAC-SHA256 được sử dụng để xác thực gói.