SenPos VPN Gateway
Hướng dẫn thao tác từng bước cho quản trị viên, Operator và người dùng VPN.
01. Tổng quan và chuẩn bị
Hệ thống gồm Linux chạy OpenVPN và định tuyến/NAT, web .NET để quản trị, Nginx trong Docker cung cấp HTTPS, và ứng dụng OpenVPN Connect trên thiết bị người dùng.
| Thông tin | Giá trị hiện tại |
|---|---|
| Web quản trị và tài liệu | https://[IP] và /guide/ |
| Địa chỉ VPN từ bên ngoài | [IP]:1194, giao thức UDP |
| IP cấp cho VPN client | [IP]; gateway tunnel [IP] |
| Gateway LAN / interface | [IP] / enx68e43b3088bf |
| Internet của client | Giữ đường đi Wi-Fi/4G/5G hiện tại; chỉ các mạng nội bộ được push qua VPN. |
| Xác thực VPN hiện tại | Certificate và private key riêng, được đóng gói trong file .ovpn. |
- Quản trị viên chuẩn bị tài khoản web phù hợp; người dùng VPN nhận file
.ovpnriêng qua kênh an toàn. - Người dùng ở ngoài công ty lấy profile và tài liệu trước. IP web
[IP]chỉ truy cập được khi đang ở LAN phù hợp hoặc sau khi VPN đã kết nối. - Kiểm tra router phía công ty chuyển tiếp UDP 1194 từ IP public về
[IP]. Không mở trực tiếp backend port 5080 ra Internet. - Khi trình duyệt báo chứng chỉ HTTPS không tin cậy, xác minh đúng gateway với Admin và dùng chứng chỉ/CA được đơn vị tin cậy. Không bỏ qua cảnh báo trên địa chỉ không rõ nguồn gốc.
02. Đăng nhập web
Admin / Operator
- Mở https://[IP]/Account/Login, nhập Tài khoản được Admin cấp tại vị trí 1.
- Nhập Mật khẩu của tài khoản web tại vị trí 2. Không có mật khẩu mặc định công khai trong tài liệu này.
- Bấm Đăng nhập tại vị trí 3. Thành công sẽ vào Dashboard; sai thông tin sẽ có thông báo ngay trên form.
- Để cài client Windows, bấm OpenVPN Connect 3.9.0 tại vị trí 4. Để đọc tài liệu này, bấm Hướng dẫn sử dụng bên dưới link bộ cài.
03. Quyền Admin và Operator
| Chức năng | Admin | Operator | Người dùng VPN thông thường |
|---|---|---|---|
| Xem Dashboard, route/NAT, client, audit | Có | Có | Không cần tài khoản web |
| Tạo client mới | Có | Có, không nhận lại client đã tồn tại | Nhờ Admin/Operator cấp |
| Tải profile | Client certificate còn hợp lệ | Chỉ client do mình tạo, theo cấu hình hiện tại | Nhận file riêng từ người cấp |
| Revoke client, sửa route/NAT, restart OpenVPN | Có | Không | Không |
| Web Users, Backup/Restore | Có | Không | Không |
| Đổi mật khẩu web của chính mình | Có | Có | Không áp dụng |
Operator không thấy menu Web Users/Backup hoặc các nút thao tác quản trị. Gọi trực tiếp URL/API bị hạn chế vẫn trả HTTP 403. Công tắc route bị khóa không phải lỗi giao diện.
office-laptop01 và iphone-hai. Không dùng một profile cho nhiều người hoặc nhiều thiết bị cùng lúc.04. Dashboard, trạng thái client và traffic
Admin / Operator
Phiên tên UNDEF hoặc chưa có VPN IP có thể đang chờ hoàn tất xác thực, chưa chứng minh client kết nối thành công. Chỉ xác nhận khi OpenVPN Connect báo Connected và client có IP [IP]; tiếp tục thử dịch vụ nội bộ thật.
- Mở Dashboard. Tại vị trí 1, kiểm tra OpenVPN running; Stopped nghĩa là dịch vụ chưa chạy.
- Tại vị trí 2, đọc số VPN CLIENTS ONLINE. Có certificate không đồng nghĩa với đang online.
- Tại vị trí 3, xem Interface Traffic, RX/TX tổng và tốc độ theo giây. RX/TX được tính từ phía Linux server.
- Tại vị trí 4, xem tên client, trạng thái certificate, IP VPN, địa chỉ ngoài và RX/TX của phiên. Dữ liệu tự cập nhật khoảng mỗi 3 giây; bấm nút làm mới khi cần.
05. Tạo client VPN mới
Admin / Operator
- Mở OpenVPN Clients. Nhập tên thiết bị vào Client name tại vị trí 1, ví dụ
office-laptop01. Tên có 3-64 ký tự: chữ, số, gạch ngang hoặc gạch dưới; không có dấu tiếng Việt hay khoảng trắng. - Bấm Tạo client tại vị trí 2 một lần, chờ thông báo hoàn tất. Không reload hoặc bấm liên tục trong lúc tạo certificate.
- Kiểm tra dòng client mới xuất hiện với certificate valid. Trạng thái Offline là bình thường khi chưa kết nối.
- Bấm biểu tượng tải profile của dòng đó, nhận file
office-laptop01.ovpn, rồi chuyển riêng cho đúng người/thiết bị. Operator chỉ tải được profile do mình tạo.
06. Tải profile và revoke client
Tải: Admin / Operator phù hợp · Revoke: chỉ Admin
Tải profile
- Tìm đúng tên client ở vị trí 1, kiểm tra certificate valid.
- Bấm biểu tượng tải xuống ở vị trí 2 và lưu file .ovpn. Không sửa địa chỉ remote hoặc các block certificate/key nếu chưa có chỉ dẫn của Admin.
- Chuyển profile qua kênh được phép. Nếu mất file hoặc nghi bị lộ, báo Admin để revoke và tạo client mới.
Thu hồi quyền VPN
- Admin xác định đúng client cần thu hồi ở vị trí 1.
- Bấm biểu tượng Thu hồi client tại vị trí 3 và đọc xác nhận ngắt kết nối/thu hồi certificate.
- Xác nhận thao tác. Kiểm tra trạng thái đổi sang revoked và client online bị ngắt. Profile revoked không còn tải được.
07. Cài và kết nối OpenVPN trên Windows
Người dùng VPNA. Cài phần mềm
- Trên máy Windows, mở trang login khi đang trong LAN/VPN phù hợp, bấm link OpenVPN Connect 3.9.0; hoặc nhận bộ cài từ Admin. File là
openvpn-connect-3.9.0.5008_signed.msi. - Mở file MSI vừa tải, kiểm tra đúng nhà phát hành OpenVPN. Trong trình cài đặt, bấm Next, đọc điều khoản và chỉ chấp nhận khi bạn đồng ý.
- Bấm Install; khi Windows yêu cầu quyền quản trị/UAC, dùng tài khoản được đơn vị cho phép hoặc nhờ IT cài đặt. Sau khi xong, bấm Finish và mở OpenVPN Connect.
B. Import profile và kết nối

- Nhận file
office-laptop01.ovpnriêng từ Admin/Operator và lưu vào Downloads hoặc thư mục dễ tìm. Bộ cài MSI không chứa profile của bạn. - Mở OpenVPN Connect. Nếu đã có profile, dùng nút + hoặc Menu → My Profiles → Add để mở Import Profile.
- Chọn UPLOAD FILE / FILE tại vị trí 3 trong ảnh. Không nhập URL web quản trị vào ô Server Address/Cloud ID.
- Bấm BROWSE / Upload File tại vị trí 4, chọn file .ovpn rồi xác nhận Open. Có thể kéo thả file vào ứng dụng hoặc mở đúp file .ovpn nếu Windows đã liên kết với OpenVPN Connect.
- Trong màn hình xác nhận Imported Profile, kiểm tra đúng profile do IT cấp, bấm Add / OK / Import tùy phiên bản. Chỉ nhập mật khẩu private key nếu IT thông báo profile có mã hóa key; profile do web hiện tạo không yêu cầu mật khẩu đó.
- Bật công tắc của profile để kết nối. Nếu ứng dụng báo CONNECTED và có IP VPN [IP], chuyển sang mục kiểm tra mạng nội bộ. Để ngắt, tắt công tắc.
Đối chiếu thao tác import theo tài liệu OpenVPN Connect chính thức. Phần cài Windows thao tác theo bộ cài đã được cung cấp; máy làm tài liệu không chạy Windows nên không gắn nhãn ảnh macOS là ảnh cài Windows.
08. Cài và kết nối OpenVPN trên iPhone
Người dùng VPN- Trên iPhone, mở App Store, tìm OpenVPN Connect của OpenVPN Inc., bấm Nhận/Get và cài. Có thể mở trang ứng dụng chính thức. Không tải hoặc mở file MSI Windows trên iPhone.
- Nhận profile riêng, ví dụ
iphone-hai.ovpn, qua AirDrop hoặc kênh riêng được đơn vị cho phép. Lưu vào Tệp/Files; giữ đúng đuôi.ovpn, không thành.ovpn.txt. - Mở OpenVPN Connect, vào Import Profile bằng nút + nếu cần; chọn UPLOAD FILE / FILE, vị trí 3 trên hình 6.
- Dùng Browse/Upload File để chọn file từ Files; xác nhận Add / OK / Import. Vị trí 4 minh họa loại file .ovpn cần nhập. Không chọn luồng Cloud ID/URL vì gateway này cấp file trực tiếp.
- Bật công tắc của profile, vị trí 5 trên hình 7. Khi iOS hỏi cho phép thêm cấu hình VPN, bấm Allow nếu đúng ứng dụng và xác nhận Face ID/Touch ID/mật mã của chính bạn.
- Kiểm tra trạng thái CONNECTED, vị trí 6. Mở Safari hoặc ứng dụng nghiệp vụ tới IP nội bộ cần dùng. Muốn ngắt VPN, tắt công tắc profile.


Nguồn: cài OpenVPN Connect trên iOS, chuyển file .ovpn sang iOS, ảnh từ trang OpenVPN Inc. trên App Store.
09. Kiểm tra kết nối tới mạng nội bộ
Người dùng VPN / Admin- Đảm bảo ứng dụng báo Connected; Admin kiểm tra client Online và IP VPN
[IP]trên OpenVPN Clients. - Chọn một IP máy đang hoạt động trong mạng đích và cổng dịch vụ được phép. Ví dụ mở
https://[IP]nếu máy đó có web HTTPS, hoặc nhập IP vào ứng dụng nghiệp vụ/RDP phù hợp. Không truy cập địa chỉ mạng[IP]như một máy đích. - Trên Windows, có thể mở PowerShell và chạy các lệnh dưới đây. Thay IP ví dụ bằng máy thật, cổng 443 bằng cổng dịch vụ thực tế.
- Nếu chỉ ping lỗi nhưng ứng dụng/TCP kết nối được, có thể máy đích chặn ICMP. Không kết luận mạng mất kết nối chỉ từ ping.
ipconfig route print -4 ping [IP] Test-NetConnection [IP] -Port 443
10. Quản lý route trên Linux
Sửa: chỉ Admin · Xem/lookup: Admin / Operator
Thêm route tĩnh
- Mở Routing. Tìm destination trước để tránh thêm trùng. Ví dụ
[IP]hiện đã có route quản lý, không thêm lại. - Trong form Route tĩnh mới, nhập Destination/CIDR tại vị trí 1; Gateway tại vị trí 2; chọn Interface tại vị trí 3; nhập Metric tại vị trí 4. Với next-hop LAN hiện tại, gateway là
[IP], interfaceenx68e43b3088bf, metric ví dụ 100. - Bấm Thêm route tại vị trí 5. Kiểm tra dòng mới có nguồn Web, trạng thái Active và gateway/interface đúng.
Tra cứu, import, bật/tắt và xóa
- Dùng ô tìm kiếm ở vị trí 6 hoặc các bộ lọc IPv4/IPv6/Web managed để tìm route.
- Với route tĩnh có sẵn ngoài web và không được bảo vệ, bấm biểu tượng circle-plus Đưa vào quản lý web. Import chỉ đưa route vào cấu hình lưu, không đổi đường đi đang chạy.
- Bật/tắt công tắc ở đầu dòng route Web. Active là route đang tồn tại; Disabled là đã tắt; Missing nghĩa là cấu hình bật nhưng route chưa thấy trong kernel, cần kiểm tra.
- Bấm biểu tượng thùng rác và xác nhận nếu cần xóa route đã quản lý. Dùng Route Lookup phía dưới: nhập IP máy đích và bấm Tra cứu để kiểm tra next-hop.
11. Quản lý NAT và xem firewall
Sửa: chỉ Admin · Xem: Admin / Operator
- Mở NAT & Firewall. Trong MASQUERADE mới, nhập Source/CIDR tại vị trí 1, thường là
[IP]. - Nhập Destination/CIDR tại vị trí 2, ví dụ
[IP]; nhập Output interface tại vị trí 3 làenx68e43b3088bf. Không thêm trùng ba rule nội bộ đã có. - Bấm Thêm NAT tại vị trí 4. Kiểm tra bảng Web Managed NAT có đúng source, destination, interface và action MASQUERADE.
- Khi cần xóa, Admin bấm thùng rác của đúng dòng và xác nhận. Mở các mục System Rules để đọc iptables/nftables; các rule hệ thống không có chức năng sửa tổng quát trên web.
12. Bổ sung một mạng nội bộ mới
Admin + quản trị Linux/routerVí dụ dưới đây dùng [IP] để minh họa, không khẳng định mạng đó tồn tại. Thay bằng subnet thật được đơn vị cho phép. Trước khi đổi, backup cấu hình và chọn thời điểm có thể ngắt VPN ngắn.
- Trên Linux, kiểm tra route và truy cập tới máy đích thật bằng
ip -4 route get <IP-máy>và công cụ kiểm tra dịch vụ. Nếu Linux chưa tới được, xử lý router/upstream trước. - Trên web Routing, thêm route cho subnet mới qua next-hop đúng nếu cần. Không sao chép gateway ví dụ nếu hạ tầng thực tế khác.
- Trên NAT & Firewall, thêm MASQUERADE nguồn
[IP]tới subnet mới, trên interface LAN đúng. - Qua SSH được cấp quyền, mở file push route bằng
sudoedit; giữ các dòng cũ và thêm một dòng cho subnet mới như ví dụ dưới. - Kiểm tra IP forwarding và rule FORWARD của Linux. Nếu firewall có chính sách chặn, cần cho phép tunnel tới subnet đó và traffic trả lời established/related; web chỉ hiển thị rule hệ thống, không tự tạo mọi luật firewall.
- Trên OpenVPN Clients, Admin restart OpenVPN theo mục 13; các client reconnect để nhận route mới. Kiểm tra từ client tới IP/cổng máy đích.
sudoedit /etc/openvpn/senpos-internal-routes.conf # Dòng ví dụ cho mạng mới; không xóa các push route hiện có: push "route [IP] [IP]" # Kiểm tra trước/sau thay đổi: ip -4 route get [IP] sysctl net.ipv4.ip_forward sudo nft list table ip vpnadmin_nat
13. Restart dịch vụ OpenVPN
Chỉ Admin
- Thông báo cho người đang sử dụng VPN và mở OpenVPN Clients. Bấm biểu tượng đỏ Khởi động lại OpenVPN cạnh trạng thái dịch vụ ở vị trí 1.
- Đọc hộp xác nhận: mọi client sẽ bị ngắt tạm thời. Chọn Hủy nếu chưa đến thời điểm phù hợp; chọn OK để thực hiện.
- Chờ thông báo hoàn tất và trạng thái Running; reconnect client nếu chưa tự kết nối lại. Kiểm tra client Online và audit của thao tác.
14. Tạo tài khoản Operator
Chỉ Admin
- Mở Web Users. Nhập tên đăng nhập tại vị trí 1: 3-32 ký tự chữ/số/gạch ngang/gạch dưới, ví dụ
ops-branch01. - Nhập mật khẩu ban đầu tại vị trí 2, dài 12-128 ký tự. Dùng mật khẩu riêng và chuyển trực tiếp qua kênh an toàn; role luôn là Operator.
- Bấm Tạo tài khoản tại vị trí 3. Kiểm tra tên và role xuất hiện trong bảng tài khoản.
- Người được cấp đăng nhập web, đổi mật khẩu của mình, rồi chỉ dùng chức năng tạo client và xem thông tin theo quyền.
15. Đổi mật khẩu đăng nhập web
Admin / Operator, cho chính tài khoản đang đăng nhập
- Chọn Đổi mật khẩu ở menu; nhập mật khẩu web hiện tại tại vị trí 1.
- Nhập mật khẩu mới tại vị trí 2, dài 12-128 ký tự và khác mật khẩu hiện tại.
- Nhập lại đúng mật khẩu mới tại vị trí 3; bấm Đổi mật khẩu tại vị trí 4.
- Sau thành công, ứng dụng đăng xuất tài khoản. Đăng nhập lại bằng mật khẩu mới; các phiên cũ của tài khoản đó hết hiệu lực, tài khoản khác không bị đổi mật khẩu.
16. Backup cấu hình
Chỉ Admin
- Mở Backup & Restore, chọn phạm vi tại vị trí 1: VPN, certificate, tài khoản web, route/NAT hoặc Chỉ route/NAT.
- Đặt mật khẩu mã hóa ở vị trí 2, dài 12-128 ký tự; nhập lại ở vị trí 3. Đây là mật khẩu bảo vệ file backup, không phải mật khẩu web/VPN.
- Bấm Tải backup tại vị trí 4. Kiểm tra trình duyệt đã tải file
senpos-full-...vpnbackuphoặcsenpos-network-...vpnbackup, dung lượng lớn hơn 0. - Lưu file và mật khẩu ở các nơi an toàn, tách biệt. Đặt thêm ghi chú ngày, người tạo và lý do backup. Nên backup trước thay đổi mạng, revoke hàng loạt hoặc restore.
| Phạm vi | Bao gồm | Không bao gồm |
|---|---|---|
| Đầy đủ VPN | OpenVPN, CA/PKI/certificate/private key, profile, tài khoản web/quyền sở hữu client, route/NAT, IP forwarding, cấu hình môi trường web. | MSI/ứng dụng, OS/packages, Netplan/SSH, Nginx/Docker, cookie session và lịch sử audit. |
| Chỉ route/NAT | Route/NAT do web quản lý. | Certificate/tài khoản, route hệ thống và push route OpenVPN. |
/var/lib/vpn-gateway-backups/config-signing.key ngoài máy, bảo vệ như khóa riêng và khôi phục đúng layout. File .vpnbackup một mình không phải bản sao toàn bộ máy chủ.17. Restore cấu hình từ backup
Chỉ Admin
- Backup trạng thái hiện tại trước. Xác minh đúng gateway, đúng thời điểm cần khôi phục và có mật khẩu web nằm trong bản backup nếu chọn bản đầy đủ. Thông báo thời gian bảo trì.
- Trong phần Restore, bấm chọn file tại vị trí 1 và chọn
.vpnbackupcủa gateway này, tối đa 32 MB. - Nhập mật khẩu mã hóa đã dùng khi tạo file tại vị trí 2. Tích Xác nhận thay thế cấu hình ở vị trí 3.
- Bấm Restore tại vị trí 4, đọc hộp cảnh báo rồi xác nhận. Sai mật khẩu/file bị sửa/chữ ký khác gateway bị từ chối trước khi áp dụng.
- Với bản route/NAT: chờ thành công và kiểm tra lại Routing/NAT; OpenVPN không bị restart. Với bản đầy đủ: OpenVPN restart, web restart sau khoảng 10 giây; đợi rồi đăng nhập bằng tài khoản/mật khẩu trong backup.
- Kiểm tra client/certificate, route/NAT, khả năng truy cập máy đích và Audit Log. Reconnect các thiết bị VPN; revoke lại các certificate cần thu hồi nếu trạng thái backup quá cũ.
/var/lib/vpn-gateway-backups/pre-restore-*/configuration.json và rollback nếu áp dụng lỗi. Nếu rollback cũng lỗi, dừng thao tác lặp lại và nhờ root phục hồi snapshot; chỉ xử lý cờ restore-in-progress sau khi kiểm tra hệ thống.18. Tra cứu lịch sử audit
Admin / Operator
- Mở Audit Log, nhập từ khóa ở vị trí 1, ví dụ tên client, username,
/OpenVpn/Restarthoặc/Backup. - Bấm Tìm kiếm tại vị trí 2.
- Đối chiếu thời gian UTC+7, User, IP, Thao tác, Đối tượng và Kết quả ở vị trí 3. success là thành công; failed là lỗi; forbidden là bị chặn quyền; started là đã ghi nhận ý định và chưa có kết quả cuối tương ứng.
19. Xử lý lỗi thường gặp
| Hiện tượng | Kiểm tra theo thứ tự |
|---|---|
| Không mở được web từ 4G/Internet | IP web là IP nội bộ. Lấy profile trước, kết nối VPN rồi mở web; không dùng IP public VPN như một URL cấp profile tự động. |
| Connection timeout / không kết nối VPN | 1. Dùng đúng profile. 2. Thử 4G/5G để tránh NAT loopback. 3. Admin kiểm tra Running. 4. Kiểm tra UDP 1194 port forwarding/firewall và IP public. Ping public không chứng minh cổng UDP đang mở. |
| Connected nhưng không vào được mạng nội bộ | 1. Reconnect để nhận push route. 2. Kiểm tra route client và trùng subnet Wi-Fi. 3. Linux phải tới được máy đích. 4. Kiểm tra route server, forwarding/NAT và cổng/firewall máy đích. Không thêm redirect-gateway tùy tiện. |
| iPhone không thấy file .ovpn | Lưu vào Files, kiểm tra đuôi không thành .txt, mở Upload File/Browse trong OpenVPN Connect và chọn đúng vị trí lưu. Không nhập file MSI. |
| Certificate revoked / verification failed | Admin kiểm tra certificate còn valid, ngày giờ thiết bị đúng và profile đúng gateway. Certificate revoked cần cấp client mới; không tắt kiểm tra certificate. |
| Ứng dụng yêu cầu VPN username/password bất ngờ | Hệ thống hiện dùng certificate. Kiểm tra nguồn profile với Admin, không nhập mật khẩu đăng nhập web và không bỏ qua xác thực. |
| Operator không thấy nút tải profile hoặc bị 403 | Chỉ tải profile chính mình tạo, certificate còn valid. Các chức năng quản trị/Backup/Web Users/revoke/restart bị chặn theo quyền, không phải lỗi. |
| Route Missing hoặc công tắc bị khóa | Missing: Admin kiểm tra interface/gateway và cấu hình Linux. Công tắc khóa: route hệ thống được bảo vệ hoặc user chỉ xem. Import chỉ áp dụng với route tĩnh được phép. |
| Restore sai mật khẩu / signature invalid | Dùng đúng mật khẩu mã hóa và backup từ gateway này. Không sửa file. Nếu đổi máy/cài lại OS, cần khóa ký gốc và đúng layout; nhờ root xử lý. |
| HTTP 413 / upload restore quá lớn | Giới hạn file là 32 MB; kiểm tra cấu hình Nginx đã cho request multipart 34 MB. Không tắt giới hạn hoặc tăng tùy tiện để nhận file không rõ nguồn. |
| HTTP 503 sau restore đầy đủ | Đợi web restart khoảng 10 giây rồi thử lại. Nếu kéo dài, Admin kiểm tra service/journal và cờ restore-in-progress; không tự xóa cờ trước khi biết restore/rollback đã kết thúc. |
| MSI không cài được / cần quyền Admin Windows | Dùng bộ cài đúng Windows và từ nguồn đã xác minh. Nhờ IT cấp quyền cài; ghi lại thông báo lỗi, phiên bản OS và gửi qua kênh hỗ trợ. Không tắt antivirus để thử. |
Khi gửi yêu cầu hỗ trợ, cung cấp thời gian, tên client, IP/cổng máy đích, thông báo lỗi và ảnh trạng thái. Không gửi mật khẩu, khóa riêng, file backup hoặc nội dung .ovpn vào nhóm công khai.