All Articles

VPN là gì và cài đặt VPN trong 20 giây

vpn-la-gi-1

Mạng riêng ảo hay VPN (Virtual Private Network) có lẽ là một thứ không hề xa lạ đối với cả nhiều người. VPN ngày càng được dùng nhiều và phổ biến trong cuộc sống nhưng ít ai có thể hiểu rõ VPN nó thực sự là gì kể cả đối với anh em dev, IT-guys. Trong bài viết này, mình sẽ giải thích chi tiết về công nghệ VPN, cài đặt và ứng dụng nó vào trong cuộc sống, công việc,.. Hơn nữa, hiểu rõ về VPN giúp chúng ta bảo mật được thông tin cá nhân cũng như giảm thiểu các cuộc tấn công thông tin trên môi trường mạng

1. VPN là gì?

2. Cài đặt VPN

Có 2 VPN server mã nguồn mở dành cho Linux hiện tại là OpenVPNWireGuard. WireGuard sinh sau đẻ muộn nhưng được đánh giá là khá nhẹ, đơn giản, hiệu năng cao và chiếm ít tài nguyên hơn OpenVPN

Tuy nhiên, mình chọn OpenVPN để cài đặt vì tính ổn định và được hỗ trợ trên hầu hết các hệ điều hành (Windows, Linux, Mac, Android, IOS,..). Trên android WireGuard thường bị lỗi mất kết nối ngớ ngẫn, trong khi OpenVPN thì không. Thêm nữa, trên Ubuntu bạn chỉ cần import file config của OpenVPN là có thể sử dụng được rồi, không cần phải cài đặt gì thêm là một điểm cộng dành cho OpenVPN. Có lẽ phải mất một thời gian dài để WireGuard phát triển và hoàn thiện hơn

Let’s get started

Có rất nhiều cách cài OpenVPN trên internet, tuy nhiên mình thấy cách dưới đây là đơn giản nhất và nhanh nhất. Tham khảo repo: Nyr/openvpn-install

Note: Cài wireguard với cách thức tương tự tại đây ()

1. Chuẩn bị

Một VPS - tất nhiên rồi, với IP public cố định, được đặt tại bất kỳ đâu trên thế giới mà bạn muốn. Mình thích đặt tại Singapore vì nó gần Việt Nam vả lại băng thông lẫn độ trễ đều rất tốt

2. Setup

Mở SSH và kết nối đến VPS của bạn, thực hiện chạy cách lệnh sau

# Cài OpenVPN wget https://git.io/vpn -O openvpn-install.sh && sudo bash openvpn-install.sh

Hoặc

# Cài WireGuard thay vì OpenVPN như bên trên wget https://git.io/wireguard -O wireguard-install.sh && sudo bash wireguard-install.sh

Tùy chọn WireGuard

vpn-la-gi-2

Nếu IP trên là IP public của bạn thì Enter, nếu VPS của bạn nằm sau NAT thì hãy gõ IP public hoặc domain của bạn vào. Ở đây, IP public của mình là 13.250.8.129


vpn-la-gi-3

Protocol bạn chọn UDP cho nhanh nhé, nhất ông nào hay chơi game online. TCP ngốn băng thông hơn nhưng “bảo mật” hơn - đùa đấy 🙂


vpn-la-gi-4

Port thì để mặc định 1194, trên firewal nớ mở port này ra nhé nếu không thì cài xong không kết nối được


vpn-la-gi-5

DNS server mình chọn 1.1.1.1 của CloudFlare - nghe đồn là nhanh lắm. Ông nào muốn chặn quảng cáo các kiểu thì chọn AdGuard nhá, kết nối VPN là auto chặn hầu hết server Ads


vpn-la-gi-6

Nhập tên user bất kỳ


vpn-la-gi-7

Enter để tiến hành cài đặt


vpn-la-gi-8

Tới đây là đã cài đặt xong, bạn chỉ cần download file config về và import vào máy

Để download file config thông qua SSH, mở cửa sổ terminal mới trên máy của bạn và chạy lệnh sau trên máy:

# scp <your_username>@<public_ip_or_domain>:<path_to_config_file> <directory_> scp ubuntu@13.250.8.129:/home/ubuntu/doraneko.ovpn ~/Downloads/ # ví dụ

Note: mỗi user sẽ được gán cho 1 IP ảo thuộc mạng 10.8.0.0/24, việc dùng chung 1 file config cho nhiều thiết bị khác nhau có thể gây xung đột không mong muốn.

Để thêm user bạn chỉ cần run lại script và sẽ thế option add user như bên dưới

vpn-la-gi-9

3. Bonus import file trên Ubuntu

Các bạn vào settings > Network > VPN > Import from file… như hình bên dưới là được. Đối với các thiết bị khác các bạn chỉ cần download OpenVPN client trên store (Google Play, AppStore, Windows Store) và import file config trên là được

vpn-la-gi-10

**bài viết còn đang dang dở**