
Trước đây, mình đã trình bày về việc sử dụng VPN Server tự host tại nhà, giúp bạn dễ dàng truy cập mạng nội bộ từ xa một cách an toàn.
Trong bài viết này, mình sẽ hướng dẫn chi tiết cách thiết lập một VPN Server, từ các phương pháp đơn giản đến phức tạp, nhằm đảm bảo kết nối an toàn vào mạng nội bộ tại nhà, cùng những ưu và nhược điểm của từng phương pháp.
Bài viết thuộc series: Tất cả về ổ cứng mạng (NAS) dành cho người dùng cá nhân và gia đình.
Trong bài viết này, mình sẽ hướng dẫn chi tiết cách thiết lập một VPN Server, từ các phương pháp đơn giản đến phức tạp, nhằm đảm bảo kết nối an toàn vào mạng nội bộ tại nhà, cùng những ưu và nhược điểm của từng phương pháp.
Bài viết thuộc series: Tất cả về ổ cứng mạng (NAS) dành cho người dùng cá nhân và gia đình.
Khám phá Tailscale

Tham khảo: Tailscale
Tailscale hoạt động theo cơ chế biến mỗi thiết bị thành một điểm trong mạng mesh VPN, với một máy chủ xác thực chung để quản lý mã hóa giữa các điểm đó.

Tham khảo: Tailscale
Tailscale sử dụng các giao thức như STUN và ICE để duy trì kết nối giữa các điểm ngay cả khi kết nối tưởng chừng không thể thực hiện. Do đó, bạn không cần mở cổng hay cấu hình Firewall. Thậm chí, Tailscale hoạt động hiệu quả trong môi trường CGNAT (NAT hai lần).

Để sử dụng Tailscale, bạn chỉ cần cài đặt ứng dụng trên máy tính, điện thoại hoặc bất kỳ thiết bị nào hỗ trợ. Đăng nhập vào cùng một tài khoản, và tất cả các thiết bị sẽ tự động nằm trong mạng lưới mesh VPN của bạn. Kết nối giữa các thiết bị sẽ theo kiểu Peer-to-Peer.

Hiện tại, ứng dụng cung cấp các địa chỉ IP hoặc hostname để bạn kết nối với các thiết bị. Như vậy, bạn có thể truy cập từ xa một cách an toàn qua Tailscale VPN. Lưu ý rằng chỉ các thiết bị trong mạng VPN của bạn mới có thể giao tiếp với nhau.
- Ưu điểm: Cài đặt nhanh, dễ dàng và quản lý thuận tiện. Không cần phải lo lắng nhiều về NAT và Firewall.
- Nhược điểm: Phải sử dụng IP do phần mềm cung cấp. Không thể tuỳ chỉnh. Chỉ hoạt động với các thiết bị hỗ trợ cài đặt ứng dụng Tail Scale (Win, Mac, Linux, iOS, Android). Đây là kiểu VPN Split Tunnel, chỉ cho phép traffic liên quan đến máy tính đi qua VPN (ví dụ, trên điện thoại, chỉ traffic truy cập vào máy tính mới qua VPN).
- Phương pháp này lý tưởng nếu bạn cần một giải pháp đơn giản, với nhu cầu chỉ cần truy cập 1-2 thiết bị trong mạng nội bộ. Hoặc khi các giải pháp phức tạp hơn không khả thi do các chế độ NAT hoặc Firewall.
- Vì vậy, Tailscale là lựa chọn tuyệt vời cho nhu cầu cơ bản về truy cập thiết bị từ xa một cách an toàn.
VPN truyền thống
Với VPN truyền thống, bạn sẽ sử dụng mô hình Hub and Spoke, nghĩa là có một VPN server trung tâm và tất cả các thiết bị sẽ kết nối đến địa chỉ IP của server này.
Thông thường, các Router cao cấp hoặc ổ cứng mạng NAS đã tích hợp sẵn tính năng VPN server. Đây là những thiết bị mà mình đang sử dụng, nên mình sẽ chia sẻ về chúng.
Nếu thiết bị của bạn hỗ trợ, bạn cũng có thể tham khảo hướng dẫn từ nhà sản xuất để tự cài đặt VPN Server.
Dưới đây là những ưu và nhược điểm của VPN truyền thống theo mô hình Hub and Spoke:
- Ưu điểm: Bạn có thể tự quản lý server, không phụ thuộc vào các dịch vụ bên ngoài và không phải gửi traffic ra ngoài. Toàn bộ traffic có thể được chuyển qua VPN server để tăng cường bảo mật khi sử dụng mạng công cộng, hoặc sử dụng chế độ split-tunnel để chỉ gửi traffic vào mạng nội bộ qua VPN. Cài đặt VPN Server trên một thiết bị cho phép truy cập toàn bộ thiết bị trong mạng nội bộ (tùy thuộc vào cấu hình và nhu cầu).
- Nhược điểm: Quá trình cài đặt có thể phức tạp, đòi hỏi hiểu biết về mạng như Public IP, DDNS, NAT, Firewall… Cần nắm rõ cách hoạt động của VPN, cũng như các chế độ full-tunnel và split-tunnel. Băng thông mạng tại vị trí đặt VPN Server cũng cần đủ lớn để xử lý toàn bộ traffic từ các thiết bị VPN Client.
Router hỗ trợ VPN Server
Khi làm việc với router có tính năng VPN Server, bạn cần phân biệt với VPN Client, vì nhiều router chỉ ghi 'VPN' có thể chỉ là VPN Client. Nếu router của bạn có VPN Server, bạn chỉ cần kích hoạt tính năng đó, sau đó cấu hình các thông số bảo mật và cài đặt chúng trên VPN Client của các thiết bị.

NAS hỗ trợ VPN Server
Nếu router của bạn không có VPN Server nhưng bạn đang sử dụng NAS, bạn có thể cài đặt ứng dụng VPN Server thường có sẵn trên Package Center của NAS. Sau đó, chỉ cần cấu hình giao thức VPN mà bạn muốn sử dụng.

Ngoài ra, vì NAS thường nằm sau Router, bạn có thể cần kích hoạt tính năng VPN Pass-Through và/hoặc mở cổng cho các giao thức VPN tương ứng để các thiết bị VPN Client có thể kết nối tới Server.

Hướng dẫn cài đặt một số giao thức VPN
Trong phần này, mình sẽ hướng dẫn cách thiết lập một số giao thức VPN mà mình thường sử dụng. Nếu bạn dùng các giao thức khác, có thể tham khảo thêm tài liệu về chúng.
Hướng dẫn này dựa trên giả định rằng bạn đã quen thuộc với các khái niệm như Public IP, DDNS, NAT, mở cổng, cấu hình firewall, cấp quyền người dùng và hiểu biết về mạng LAN…
L2TP
Khi cấu hình L2TP, bạn chỉ cần chú ý một số thông số quan trọng như sau:
- MTU: Nên đặt thấp hơn giá trị MTU mặc định của nhà mạng hoặc router để gói tin có đủ không gian cho thông tin của VPN. Mình khuyên bạn nên để giá trị khoảng 1400.
- Đối với L2TP, bạn cần lưu ý đến Pre-Shared Key, đây chính là mật khẩu của VPN.

Ngoài ra, bạn cần biết tài khoản (username+password) và địa chỉ Public IP hoặc DDNS của VPN Server. Ví dụ, nếu sử dụng trên NAS, tài khoản sẽ là người dùng đã được cài đặt trên NAS, còn nếu sử dụng trên PC, tài khoản sẽ là người dùng cài đặt trên PC.
Trên điện thoại hoặc máy tính (client), bạn thực hiện cấu hình như hình dưới đây.

Sau khi hoàn tất, bạn có thể thử kết nối. Nếu không thành công, hãy kiểm tra những vấn đề sau, đây là những bước mình thường làm khi không thể kết nối đến VPN Server:
- Đã chắc chắn rằng Public IP hoặc DDNS đã được trỏ đúng đến Public IP của VPN Server chưa
- Đã NAT các cổng của VPN Server, đối với L2TP là các cổng UDP 500, 1701, 4500, trỏ đến Local IP của VPN Server
- Đã cấu hình Firewall cho phép kết nối từ bên ngoài đến VPN Server chưa
- Username và password của tài khoản đã chính xác chưa
- Pre-shared key đã đúng chưa
OpenVPN
Đối với OpenVPN, việc cần làm trên server là bật tính năng lên, các cấu hình khác có thể tùy chỉnh theo ý muốn của bạn. Sau khi lưu cấu hình, bạn cần xuất cấu hình ra, và sẽ thu được một file zip. Giải nén file zip, bạn sẽ tìm thấy một file với đuôi *.ovpn, file này sẽ được dùng để import vào các thiết bị OpenVPN client.

Bạn có thể cần chỉnh sửa file *.ovpn một chút. Trong gói zip xuất ra có file readme, yêu cầu bạn điền Public IP hoặc DDNS và chỉnh sửa thêm một số điểm trong file. Bạn có thể sử dụng Text-editor hoặc Notepad để chỉnh sửa file này. Sau khi chỉnh sửa xong, lưu lại và gửi file này đến các thiết bị client.

Trên thiết bị client, chẳng hạn như điện thoại, bạn có thể cài đặt phần mềm OpenVPN và import file cấu hình vào. Sau đó, chỉ cần điền thông tin như username và password là bạn có thể kết nối thành công.

Mình cũng đã sử dụng OpenVPN trên ứng dụng Android TV. Trên Android, bạn có nhiều tùy chọn hơn, chẳng hạn như cho phép một số ứng dụng cụ thể (như Netflix) kết nối qua VPN này, trong khi các ứng dụng khác thì không.
Nếu bạn gặp vấn đề khi kết nối, hãy kiểm tra những điểm sau, đây là những bước mình thường thực hiện khi không thể kết nối với OpenVPN Server:
- Đã chắc chắn rằng Public IP hoặc DDNS đã được trỏ đúng đến Public IP của VPN Server chưa
- Đã NAT các cổng của VPN Server, với OpenVPN là cổng UDP 1194 (hoặc cổng tùy chỉnh của bạn), trỏ đến Local IP của VPN Server
- Đã mở Firewall cho phép kết nối từ bên ngoài đến VPN Server chưa
- Username và password đã chính xác chưa
- Nếu bạn thay đổi cấu hình OpenVPN trên server, cần xuất file cấu hình mới và gửi lại cho các Client.
Đây là những phương pháp chính mà mình đang áp dụng để kết nối an toàn từ xa vào mạng nội bộ, chia sẻ thêm để các bạn tham khảo. Nếu gặp khó khăn trong quá trình thiết lập hoặc sử dụng, hãy để lại câu hỏi dưới bài viết để mình có thể hỗ trợ trong khả năng của mình.
Ngoài các phương pháp này, còn nhiều giải pháp và phần mềm khác mà mình chưa thử. Nếu bạn đang sử dụng các giải pháp khác, hãy chia sẻ thêm để mọi người cùng biết.
Bài viết kết thúc tại đây.
Cảm ơn các bạn đã đọc bài viết từ Ngon Bổ Xẻ. Mình cũng có Website, Facebook, Telegram, YouTube và Group để chia sẻ các deal hời.