Cách cài đặt OpenVPN Server trên Ubuntu 24.04 mới nhất 2026
Thịnh Văn Hạnh
09/04/2026
2922 Lượt xem
Chia sẻ bài viết
OpenVPN là một giao thức mạng riêng ảo (VPN) mã nguồn mở, sử dụng các kỹ thuật mã hóa SSL/TLS để tạo ra các kết nối an toàn (point-to-point hoặc site-to-site) qua internet. Đối với các quản trị viên hệ thống, việc tự xây dựng một OpenVPN Server trên VPS Ubuntu không chỉ giúp bảo mật dữ liệu nội bộ mà còn hỗ trợ truy cập tài nguyên công ty từ xa một cách an toàn.
Tóm Tắt Bài Viết
- Điều kiện tiên quyết (Prerequisites)
- Phân biệt OpenVPN Community và OpenVPN Access Server
- Lựa chọn phương pháp cài đặt: Auto-Script hay Thủ công?
- Các bước cài đặt OpenVPN Server thủ công trên Ubuntu
- Bước 1: Cập nhật hệ thống và cài đặt OpenVPN, Easy-RSA
- Bước 2: Thiết lập thư mục PKI và tạo Certificate Authority (CA)
- Bước 3: Tạo Certificate (Chứng chỉ) và Key cho Server
- Bước 4: Cấu hình OpenVPN Server (server.conf)
- Bước 5: Bật IP Forwarding (Quan trọng)
- Bước 6: Cấu hình tường lửa UFW
- Bước 7: Khởi động và kích hoạt dịch vụ OpenVPN
- Xử lý các lỗi OpenVPN thường gặp trên VPS Ubuntu
Điều kiện tiên quyết (Prerequisites)
Để quá trình cài đặt diễn ra thuận lợi, bạn cần chuẩn bị:
- Một VPS cài đặt hệ điều hành Ubuntu 20.04, 22.04 hoặc 24.04 LTS.
- VPS có địa chỉ IP tĩnh (IPv4).
- Tài khoản người dùng có quyền sudo hoặc quyền root.
- Tường lửa UFW (Uncomplicated Firewall) đã được bật và cấu hình cơ bản.
Phân biệt OpenVPN Community và OpenVPN Access Server
Trước khi bắt đầu, bạn cần phân biệt rõ hai phiên bản của OpenVPN:
- OpenVPN Community (Bản CLI): Hoàn toàn miễn phí, quản trị 100% qua dòng lệnh (Terminal). Phù hợp cho những người có kiến thức quản trị Linux vững vàng. (Đây là phiên bản được hướng dẫn trong bài viết này).
- OpenVPN Access Server (Bản Web UI): Có giao diện đồ họa trực quan, dễ cài đặt. Tuy nhiên, bản miễn phí chỉ giới hạn tối đa 2 kết nối đồng thời (Concurrent Connections).
Lựa chọn phương pháp cài đặt: Auto-Script hay Thủ công?
Với Ubuntu hiện đại, bạn có hai cách để cấu hình VPN Server:
Cách 1: Sử dụng Auto-Script (Khuyên dùng cho người mới): Bạn có thể sử dụng các tập lệnh mã nguồn mở có sẵn trên Github (như openvpn-install). Chỉ với 1 dòng lệnh, script sẽ tự động tải các gói, thiết lập Easy-RSA, cấu hình tường lửa và xuất thẳng ra file `.ovpn` cho bạn trong vòng 1 phút.
Cách 2: Cài đặt thủ công (Dành cho System Admin): Cấu hình từng bước với Easy-RSA (Certificate Authority) và iptables. Cách này mất khoảng 20-30 phút nhưng giúp bạn kiểm soát hoàn toàn hệ thống bảo mật (PKI). Dưới đây là các bước thủ công chuẩn xác nhất.
Các bước cài đặt OpenVPN Server thủ công trên Ubuntu
Bước 1: Cập nhật hệ thống và cài đặt OpenVPN, Easy-RSA
Đầu tiên, hãy đảm bảo hệ điều hành của bạn được cập nhật các bản vá mới nhất. Sau đó, chúng ta sẽ cài đặt gói OpenVPN và Easy-RSA (công cụ quản lý chứng chỉ PKI).
$ sudo apt update && sudo apt upgrade -y $ sudo apt install openvpn easy-rsa -y
Bước 2: Thiết lập thư mục PKI và tạo Certificate Authority (CA)
Để OpenVPN hoạt động bảo mật, bạn không nên dùng Static Key. Thay vào đó, chúng ta thiết lập hạ tầng khóa công khai (PKI).
$ make-cadir ~/openvpn-ca $ cd ~/openvpn-ca $ ./easyrsa init-pki $ ./easyrsa build-ca
Hệ thống sẽ yêu cầu bạn nhập mật khẩu cho CA. Hãy ghi nhớ mật khẩu này vì bạn sẽ cần nó để ký xác nhận cho các chứng chỉ client sau này.
Bước 3: Tạo Certificate (Chứng chỉ) và Key cho Server
Tiếp theo, tạo chứng chỉ cho máy chủ OpenVPN và cấu hình tham số Diffie-Hellman để tăng cường bảo mật trao đổi khóa.
$ ./easyrsa gen-req server nopass $ ./easyrsa sign-req server server $ ./easyrsa gen-dh $ openvpn --genkey secret ta.key
Bước 4: Cấu hình OpenVPN Server (server.conf)
Sao chép tệp cấu hình mẫu của OpenVPN và tiến hành chỉnh sửa:
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ $ sudo nano /etc/openvpn/server.conf
Trong tệp cấu hình, bạn cần tìm và điều chỉnh các tham số quan trọng như cổng (thường là UDP port 1194), giao thức, đường dẫn đến các file chứng chỉ (ca.crt, server.crt, server.key, dh.pem) và kích hoạt tính năng định tuyến lưu lượng (push “redirect-gateway def1 bypass-dhcp”).
Bước 5: Bật IP Forwarding (Quan trọng)
Nếu bỏ qua bước này, Client có thể kết nối được vào VPN nhưng sẽ không có kết nối internet. Bạn phải cấu hình hạt nhân Linux cho phép chuyển tiếp IPv4.
$ sudo nano /etc/sysctl.conf
Tìm dòng net.ipv4.ip_forward=1 và bỏ dấu # ở đầu để kích hoạt. Sau đó áp dụng thay đổi:
$ sudo sysctl -p
Bước 6: Cấu hình tường lửa UFW
Bạn cần mở cổng cho OpenVPN (1194/udp) và thiết lập quy tắc masquerade (NAT) để định tuyến lưu lượng từ máy khách ra internet.
$ sudo ufw allow 1194/udp $ sudo ufw allow OpenSSH
Lưu ý: Luôn đảm bảo bạn đã cho phép cổng SSH (Port 22 / OpenSSH) đi qua UFW trước khi enable tường lửa, nếu không bạn sẽ bị mất quyền truy cập vào máy chủ VPS.
Bước 7: Khởi động và kích hoạt dịch vụ OpenVPN
Bây giờ, hãy khởi động dịch vụ và thiết lập cho OpenVPN tự động chạy cùng hệ thống khi khởi động lại VPS.
$ sudo systemctl start openvpn@server $ sudo systemctl enable openvpn@server $ sudo systemctl status openvpn@server
Xử lý các lỗi OpenVPN thường gặp trên VPS Ubuntu
- Client kết nối thành công nhưng không vào được mạng: 90% nguyên nhân do bạn chưa bật
net.ipv4.ip_forward=1hoặc cấu hình quy tắc NAT (POSTROUTING) trong iptables/UFW bị sai. Kiểm tra lại Bước 5 và Bước 6. - Lỗi TLS Error / UDP link remote: [AF_UNSPEC]: Lỗi này thường xảy ra khi tường lửa của VPS (hoặc tường lửa từ nhà cung cấp Cloud) đang chặn cổng 1194 UDP. Hãy kiểm tra lại cả UFW trên Ubuntu và Security Group trên bảng điều khiển quản lý VPS.
- Lỗi không xác thực được chứng chỉ: Đảm bảo file `.ovpn` ở phía máy khách chứa đúng nội dung của
ca.crt, chứng chỉ client vàta.key.
Trong bài viết này, chúng ta đã tạo một VPS đơn giản sử dụng các khóa chia sẻ bí mật để truy cập tài nguyên qua internet. Chúc các bạn thực hiện thành công và có nhiều niềm vui trong cuộc sống!




































