Cấu hình VPN server để truy cập vào mạng nội bộ từ xa an toàn

Cấu hình VPN server để truy cập vào mạng nội bộ từ xa an toàn

Update mới nhất: 30/07/2024

Trong bài viết trước, mình đã chia sẻ về những trường hợp sử dụng thực tế của VPN Server mà chúng ta tự host tại nhà, một trong số đó là để có thể dễ dàng truy cập vào mạng nội bộ từ xa an toàn.

Trong bài viết này, mình sẽ chia sẻ cụ thể hơn về những cách để tự thiết lập một VPN Server, từ dễ đến khó, để có thể truy cập từ xa về mạng nội bộ tại nhà, và những ưu nhược điểm của những phương pháp đó.

Bài viết này gắn liền với series nội dung: Tất tần tật về ổ cứng mạng (NAS) cho người dùng cá nhân và gia đình

Sử dụng Tailscale

Thực ra mình chưa dùng đến phần mềm này quá nhiều, vì mình thường dùng đến những cách bên dưới, nên mình sẽ chỉ giới thiệu qua về Tailscale thôi, còn đi sâu về Tail Scale sẽ để dành cho một bài viết khác, hoặc các bạn có thể tham khảo trên trang chủ chủ Tailscale.

Khác với VPN server truyền thống sẽ là một VPN server chung cho tất cả kết nối, xác thực phải đi qua đó, phải mở port NAT, phải cấu hình firewall, IP, hay DDNS…

Nguồn: Tailscale

Nguyên lý hoạt động của Tailscale là biến mỗi thiết bị trở thành một node trong một mạng mesh VPN và sẽ có một máy chủ xác thực chung để điều phối các mã hoá của những node đó.

Nguồn: Tailscale

Tailscale sẽ sử dụng một vài giao thức khác như là STUN và ICE để vẫn có thể kết nối các node với nhau ngay cả khi chúng ta nghĩ là không thể. Và vì vậy, không cần phải mở port hay cấu hình Firewall nữa. Thậm chí Tail Scale còn hoạt động cả cho trường hợp CGNAT (hay thường gọi là bị NAT 2 lần).

Nguồn: Tailscale

Để sử dụng Tailscale, các bạn chỉ cần cài ứng dụng lên máy tính, điện thoại, hay bất cứ thiết bị nào hỗ trợ. Rồi đăng nhập chung 1 tài khoản, và như vậy là các thiết bị sẽ được ở trong một mạng lưới mesh VPN thuộc tài khoản của bạn. Các thiết bị khi kết nối với nhau sẽ là dạng Peer-to-Peer.

Trong ứng dụng lúc này cũng sẽ có các địa chỉ IP hoặc hostname để các bạn kết nối đến các thiết bị. Chỉ như vậy là đã có thể truy cập từ xa an toàn thông qua Tailscale VPN. Tất nhiên, chỉ những thiết bị có trong mạng lưới VPN của bạn mới có thể truy cập lẫn nhau.

  • Ưu điểm: Cài đặt nhanh chóng, đơn giản, dễ quản lý. Không cần quan tâm nhiều đến NAT và Firewall.
  • Nhược điểm: Phải sử dụng IP do phần mềm cung cấp. Không tuỳ biến được. Chỉ áp dụng với những thiết bị có thể cài được ứng dụng Tail Scale (Win, Mac, Linux, iOS, Android). Chỉ là dạng VPN Split Tunnel để truy cập P2P (ví dụ, trên điện thoại chỉ những traffic truy cập vào máy tính mới được gửi qua VPN).
  • Cách này phù hợp để sử dụng nếu bạn muốn mọi thứ đơn giản, và nhu cầu đơn giản như chỉ cần truy cập vào 1-2 thiết bị ở trong mạng nội bộ. Hoặc khi những cách phức tạp hơn không khả thi do các chế độ NAT hoặc Firewall không cho phép.
  • Tóm lại, phù hợp với nhu cầu rất cơ bản đó là truy cập thiết bị từ xa an toàn.

VPN truyền thống

Với VPN truyền thống, sẽ là dạng Hub and Spock, tức là sẽ có một VPN server trung tâm và tất cả các thiết bị sẽ cùng kết nối đến IP đó.

Thông thường, các Router cao cấp một chút là sẽ có sẵn tính năng VPN server, hoặc ổ cứng mạng NAS cũng sẽ có. Vì vậy mình sẽ chia sẻ với những trường hợp này vì đây cũng là những trường hợp mình đang thực tế sử dụng.

Ngoài ra, đối với thiết bị của các bạn, các bạn có thể xem thêm các hướng dẫn của nhà sản xuất về việc tự setup VPN Server khi thiết bị có hỗ trợ.

VPN truyền thống dạng Hub and Spock sẽ có những ưu và nhược điểm sau:

  • Ưu điểm: Tự host, không phụ thuộc vào các công ty bên ngoài, không gửi traffic đến các công ty bên ngoài đó. Có thể gửi toàn bộ traffic về VPN server để tăng bảo mật khi sử dụng các mạng internet công cộng, cũng có thể split-tunnel, chỉ gửi traffic truy cập mạng nội bộ qua VPN. Cài VPN Server trên 1 thiết bị nhưng có khả năng truy cập toàn bộ thiết bị trong mạng nội bộ (tuỳ theo nhu cầu và có thể setup).
  • Nhược điểm: Setup có phần phức tạp hơn, khi cần nắm rõ một số kiến thức về mạng như Public IP, DDNS, NAT, Firewall… Cần hiểu rõ về nguyên ý hoạt động của VPN, full-tunnel và split-tunnel. Tại nơi đặt VPN Server, gói cước mạng cũng cần đủ tốt để có thể gánh toàn bộ traffic của những thiết bị VPN Client.

Router có VPN Server

Đối với router có VPN Server, cần phân biệt với tính năng VPN client, vì nhiều router chỉ ghi VPN thì nhiều khả năng đó là VPN Client. Nếu có VPN server, việc đơn giản chỉ cần bật nó lên, và sau đó xem các thông số về bảo mật và cài đặt các thông số đó trên VPN Client của các thiết bị.

Thông thường, các thiết bị di động đều sẽ hỗ trợ sẵn một số giao thức VPN cơ bản như L2TP, PPTP, IPSec… Hoặc cũng có thể sử dụng OpenVPN, cũng là một phần mềm mã nguồn mở có thể sẽ được một số Router hỗ trợ.

Thông thường, đối với Router có hỗ trợ VPN Server, khi chúng ta bật lên để sử dụng, các quy tắc của Firewall cũng sẽ được cập nhật theo để cho phép các kết nối từ bên ngoài truy cập được vào đến VPN Server trên Router.

NAS có VPN Server

Giả sử Router của các bạn không có VPN Server, nhưng các bạn đang sử dụng NAS. Các bạn có thể sử dụng ứng dụng chính chủ trên NAS thường có đó là VPN Server tải về từ Package Center. Sau đó chỉ cần cấu hình giao thức VPN mà các bạn muốn sử dụng.

Ngoài ra, vì NAS thường nằm sau Router, có thể các bạn sẽ cần bật tính năng VPN Pass-Through và/hoặc mở port cho giao thức VPN tương ứng, để các thiết bị VPN Client có thể truy cập được vào đến Server.

Cách setup một số giao thức VPN

Phần này, mình chia sẻ cách setup một số giao thức VPN mà mình thường dùng. Nếu các bạn sử dụng các giao thức khác, các bạn có thể tự tham khảo thêm các tài liệu của những giao thức đó.

Mình hướng dẫn dựa trên giả định các bạn đã quen thuộc với các vấn đề như Public IP, DDNS, NAT, mở port, cấu hình firewall, hiểu rõ cách thức mạng LAN hoạt động…

L2TP

Đối với L2TP, thường sẽ chỉ có một vài thông số cần quan tâm như:

  • MTU: Nên để thấp hơn mức MTU mặc định của nhà mạng/router, để gói tin có thêm không gian cho các thông tin của VPN. Mình khuyến nghị là để khoảng 1400.
  • Với L2TP, chúng ta sẽ cần quan tâm đến Pre-Shared Key, cái này như là mật khẩu của VPN

Ngoài ra, các bạn sẽ cần biết account (username+password) và địa chỉ Public IP hoặc DDNS của VPN Server

Trên điện thoại hoặc máy tính (client) các bạn setup như hình dưới.

Như vậy là đã xong, các bạn có thể kết nối thử, nếu không thành công, có thể kiểm tra một số vấn đề sau, là những thứ mình thường làm nếu không kết nối được đến VPN Server:

  • Public IP hoặc DDNS đã trỏ đúng về Public IP của VPN Server chưa
  • Đã NAT port của VPN Server, đối với L2TP là các port sau UDP 500,1701,4500, trỏ về Local IP của VPN Server
  • Đã mở Firewall cho phép các truy cập từ bên ngoài đến VPN Server
  • Username và password account đã đúng chưa
  • Pre-shared key đã đúng chưa

OpenVPN

Đối với Open VPN, trên phía server cơ bản cũng chỉ cần bật nó lên, các cấu hình khác cũng là tuỳ các bạn muốn setup. Nhưng cuối cùng, việc cần làm trên server sau khi lưu cấu hình đó là export configuration ra, chúng ta sẽ thu được file zip, giải nén ra có 1 file có đuôi là *.ovpn để dùng file này import vào các thiết bị OpenVPN client.

Có thể các bạn sẽ cần edit file *.ovpn một chút, như trường hợp của mình, trong gói Zip export ra có file readme, yêu cầu sửa điền Public IP hoặc DDNS và edit thêm 1 điểm nữa của file. File này các bạn có thể sửa bằng Text-editor hoặc Notepad. Sau đó lưu lại file và gửi đến các thiết bị client.

Trên thiết bị client, ví dụ như điện thoại, các bạn có thể cài phần mềm OpenVPN và sau đó import file này vào. Điền nốt các thông tin như username và password, là đã có thể kết nối được.

Mình cũng có sử dụng OpenVPN để cài lên ứng dụng trên Android TV. Trên Android có thể tuỳ biến nhiều hơn, ví dụ như là cho phép một số ứng dụng nhất định (như Netflix) sẽ truy cập thông qua VPN này, còn các ứng dụng khác thì không.

Các bạn có thể kết nối thử, nếu không thành công, có thể kiểm tra một số vấn đề sau, là những thứ mình thường làm nếu không kết nối được đến Open VPN Server:

  • Public IP hoặc DDNS đã trỏ đúng về Public IP của VPN Server chưa
  • Đã NAT port của VPN Server, đối với OpenVPN là các port sau UDP 1194 (hoặc port do bạn tự cấu hình), trỏ về Local IP của VPN Server
  • Đã mở Firewall cho phép các truy cập từ bên ngoài đến VPN Server
  • Username và password account đã đúng chưa
  • Nếu thay đổi cấu hình OpenVPN trên server, phải export file config mới và gửi lại cho các Client.

Đó là những phương pháp chính mà mình đang sử dụng để có thể kết nối từ xa vào trong mạng nội bộ an toàn, mình chia sẻ thêm để các bạn tham khảo. Nếu trong quá trình setup và sử dụng gặp khó khăn, các bạn có thể comment ở dưới bài để mình có thể hỗ trợ, trong khả năng hiểu biết của mình.

Ngoài ra, còn rất nhiều các phương thức khác, các phần mềm, giải pháp khác mà mình chưa sử dụng. Các bạn đang dùng các giải pháp khác có thể chia sẻ thêm để mọi người cùng biết nhé.

Bài viết xin được kết thúc tại đây.

Nếu thấy nội dung bài viết hữu ích, hãy chia sẻ cho bạn bè và người thân. Đừng quên theo dõi Ngon Bổ Xẻ qua Facebook và Youtube để luôn cập nhật các nội dung mới nhất. Ngoài ra, mình cũng có lập Group FB chuyên chia sẻ các deal hời cho anh em về công nghệ, điện từ, gia dụng… các bạn cũng có thể tham gia nha. Một lần nữa, chân thành cám ơn các bạn và hẹn gặp lại trong những nội dung kế tiếp ❤️


Chia sẻ bài viết:

Long Mổ Xẻ

Mình thường đánh giá chi tiết những món đồ mà mình đã sử dụng, phân tích nguyên lý hoạt động của các thiết bị và giải pháp của vấn đề, so sánh những thứ có thể đặt lên bàn cân và chia sẻ những kinh nghiệm cá nhân mà mình đã tích luỹ được

Hãy để lại bình luận và đánh giá bài viết

  • Rating
Choose Image

Nội dung này đã được bảo vệ bởi DMCA. Vui lòng không sao chép.