Dùng VPN Server riêng bảo vệ an toàn trên mạng – cách cài đặt và kết nối VPN

Bạn có biết, bạn có thể tự tạo một VPN server riêng mà không phải mất phí thanh toán cho dịch vụ VPN bên thứ 3. Nhờ vào giải pháp của OpenVPN. Thâm chí nó còn an toàn hơn hẵn so với dịch vụ VPN của bên thứ 3 vì nhiều yếu tố khách quan.

Trong bài hướng dẫn này, chúng tôi sẽ chỉ bạn cách thiết lập riêng một máy VPN bằng VPS Linux chạy OpenVPN. Bạn có thể mua VPS giá rẻ và biến nó thành tường thành bảo mật trên mạng. Nhưng trước tiên, bạn đã biết VPN là gì chưa?

VPN là gì?

VPN là chữ viết tắt của Virtual Private Network, dịch là mạng riêng ảo. Nó là một mạng an toàn để tạo điểm kết nối thông qua một máy, hay một hệ máy ở giữa. Tức là người dùng sẽ tận dụng nó để không thực hiện kết nối trực tiếp từ máy tính của họ, mà thông qua một server, server này gọi là VPN server. Vì vậy đảm bảo an toàn của máy tính của bạn do nó đang kết nối gián tiếp đến trang web nào đó.

Vì sao cần sử dụng một VPN Server

VPN có các lợi ích vượt trội sau:

  • Bảo mật – VPN cũng cấp hệ thống bảo mật tốt vì mọi dữ liệu truyền đều được mã hóa. Nó giống như thêm một lớp bảo mật nữa bên trên Firewalls máy tính.
  • Truy cập từ xa – để gia tăng tính bảo mật, nhiều tổ chức, chính phủ và hệ thống phòng vệ chỉ cho phép truy cập từ xa thông qua VPN của họ.
  • ISP encryption – ISP là nhà cung cấp internet. Nếu bạn dùng mạng Wifi công cộng, ISP có thể đọc toàn bộ dữ liệu do không mã hóa khi truyền. Nếu dùng VPN, bạn có thể mã hóa dữ liệu và tránh trường hợp ISP bắt thông tin truyền và đọc chúng.
  • Ẩn danh – một VPN có thể giúp người dùng ẩn danh khi truy cập internet. IPs không thể tra ra người đang duyệt web là ai.
  • Thay đổi IP – VPN cho phép người dùng thay đổi IPs của họ và duyệt web an toàn. Một số trường hợp được dùng trong quốc gia có giới hạn vị trí địa lý.
  • Truy cập được vào website – một sồ website bị chặn ở vùng địa lý nhất định. VPN không những đảm bảo tính ẩn danh còn được dùng nhiều làm nền tảng vượt qua được kiểm duyệt Internet để truy cập vào website bị chặn
  • Vượt qua việc bóp băng thông của ISP – một ISP còn điều tiết băng thông người dùng dựa trên nội dung. Việc này cũng có thể vượt qua được bằng VPN

Ở một cấp độ cao hơn., VPN còn làm giao dịch của bạn an toàn hơn nhờ sử dụng mã hóa.

Giờ bạn đã biết các ưu điểm của VPN, ở phần dưới chúng tôi sẽ chỉ bạn sử dụng phần mềm OpenVPN để cài VPN server trên máy Linux. Sau đó bạn sẽ biết cách làm thế nào để kết nối tới VPN server bằng máy tính Windows, Android và các thiết bị di động khác. Nếu muốn biết thêm về giao thức của OpenVPN, bạn có thể xem qua bài đánh giá OpenVPN tại đây.

Chuẩn bị trước khi thiết lập VPN server:

  1. Bạn cần có quyền root hoặc quyền sudo trên VPS
  2. Chưa cài sẵn OpenVPN
  3. Tường lửa phải cho  phép TCP traffic qua port 943 và UDP traffic qua port 1194. Chúng tôi khuyên bạn sử dụng UFW để thiết lập các việc này.

Cài đặt VPN Server trên máy Linux bằng OpenVPN Access Server

Đầu tiên, cập nhật hệ thống. Đối với CentOS, sử dụng lệnh:

yum -y update

Đối với Ubuntu và Debian, cập nhật index bằng lệnh:

sudo apt update

Để cài đặt OpenVPN bạn sẽ cần package net-tools. Cài đặt package này trước nếu chưa có, package này sẽ chứa ifcfg cần thiết để tạo OpenVPN server.

Bạn cài đặt net-tools trên CentOS bằng lệnh:

sudo yum install net-tools

Đối với Ubuntu và Debian, bạn có thể dùng lệnh sau:

sudo apt install net-tools

Bạn có thể tải OpenVPN client từ Trang chủa OpenVPN. Bạn lấy link ở đây và dùng curl command. Mẫu lệnh curl trên Ubuntu dùng như sau:

curl -O http://swupdate.openvpn.org/as/openvpn-as-2.5.2-Debian9.amd_64.deb

Đối với CentOS, curl command sẽ là:

curl -O http://swupdate.openvpn.org/as/openvpn-as-2.7.3-CentOS7.x86_64.rpm

Tại đây bạn thêm URL vào distribution của bạn. Để xác nhận xem bản cài đã được tải về chưa, in ra SHA256 checksum. Bạn dùng lệnh sau:

sha256sum openvpn-as-*

Nó sẽ in checksum như bên dưới:

6354ac41be811829e60b028d3a7a527e839232d7f782c1d29bb4d8bd32bf24d5  openvpn-as-2.7.3-CentOS7.x86_64.rpm

Bạn có thể so sánh checksum này với cái trên website. Nếu checksum khớp với nhau thì bạn hãy cài OpenVPN.

Cài đặt VPN server trên CentOS sử dụng lệnh:

sudo rpm --install openvpn-as-*.rpm

Tương tự, trên Ubuntu và Debian bạn dùng ệnh sau trong command line:

sudo dpkg -i openvpn-as-*.deb

Nó sẽ mất một lúc để cài. Sau khi hoàn tất bạn sẽ thấy thông tin Admin UI và Client UI. Mặc định openvpn user sẽ được tạo sẵn trong quá trình cài. Bạn có thể đặt mật khẩuc ho người dùng này bằng lệnh passwd:

passwd openvpn

Nó sẽ đặt mật khẩu mới user openvpn. Hãy lưu lại mật khẩu này để đăn gnhập. Sử dụng admin URL để đăng nhập và hoàn tất quá trình cài đặt. Đường dẫn trang admin URL là: https://31.220.111.160:943/admin. Thông thường địa chỉ URL bạn chỉ cần nhập VPS IP Address của bạn, port :943 port với /admin như mẫu trên.

Bạn sẽ thấy giao diện như sau:

màn hình đăng nhập openvpn

username như ở trên là openvpn và mật khẩu là mật khẩu bạn đặt ở trên. Sau khi đăng nhập bạn sẽ thấy trang điều khoản và điều kiện. Đọc nó xong rồi nhấn nút Agree để tiếp tục. Trang tiếp theo sẽ cung cấp thông itn cấu hình và tình trạng server cho bạn.

Cấu hình mặc định đã đủ tốt và bạn có thể dùng MacOS, Linux, Windows, Android, và iOS để kết nối tới máy chủ VPN của bạn. Trong trường bạn thay đổi thiết lập gì đó, nhớ nhấn nút ApplyUpdate Running Server để kích hoạt thay đổi.

Vậy là cài đặt xong, giờ chúng ta sẽ tạo đường hầm OpenVPN.

Thiết lập Linux VPS Server bằng OpenVPN để Tunnelling

Kịch hoạt IP forwarding trong kernel bằng lệnh sau:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/99-sysctl.conf

Nó cho phép traffic chuyển hướng qua IPv4. Để áp dụng thay đổi, sử dụng lệnh sau:

sudo sysctl -p

OpenVPN không hỗ trợ đồng thời tunnels cho IPv6 và IPv4, nên bạn có thể vô hiệu IPv6 bằng lệnh:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

Để vô hiệu IPv6 thủ công, thêm tham số để nó bật khi hởi động. Parameters cần thêm vào 99-sysctl.conf trong /etc/sysctl.d/. Chỉ cần dùng lệnh cd để truy cập thư mục đó thôi, sau đó dùng text editor để sửa file. Nhớ là lưu lại thay đổi!

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

net.ipv6.conf.eth0.disable_ipv6 = 1

Tiếp theo, bạn kích hoạt thiết lập mới bằng cách dùng lệnh:

sysctl -p

Vào trong file host đặt tại /etc/ gõ dấu # dòng IPv6 để việc phân giải vô hiệu lực:

#::1     localhost ip6-localhost ip6-loopback

Bằng cách này, bạn đã vô hiệu IPv6. Màn hình truy cập tiếp theo bạn cần nhập Admin server URL và chuyển tới setting của VPN

cấu hình vpn open vpn server

Trong phần routing, tùy chọn Should VPN clients have access to private subnets (non-public networks on the server side)? nên được đặt thành No:

thiết lập routing vpn open vpn server

Tùy chọn Should client Internet traffic be routed through the VPN? nên đặt thành Yes.

cấu hình vpn openvpn server

Để tránh rò rĩ bất kỳ DNS , tùy chỉnh DNS resolver. Chọn client sử dụng cùng DNS servers như Access Server host

cấu hình openvpn dns setting

Lưu những thay đổi này và đừng quên nhấn vào nút Update Running Server. Bạn có thể khởi động lại OpenVPN server bằng tab status từ Admin console. Tại đó, bạn có thể dừng server và khởi động lại.

trang dashboard open vpn

Vậy là bạn đã hoàn tất thiết lập và cài đặt Open VPN Server thành công. Tiếp theo, chúng ta sẽ chỉnh cấu hình phía máy khách.

Làm thế nào để kết nối Linux VPN server bằng thiết bị khác bằng OpenVPN client

Giờ server đã chạy và hoạt động, chúng ta có thể dùng máy tính để kết nối tới server VPN và duyệt web an toàn! Sau đây là cách dùng trên các hệ điều hành phổ biến nhất:

Cách cài đặt OpenVPN Client trên Windows và hướng dẫn kết nối VPN

Mở OpenVPN client URL trên trình duyệt dưới dạng https://dia-chi-ip-server:943, bạn sẽ thấy link tải về cho từng hệ điều hành.

Chọn phiên bản Windows và nhấn cài đặt.

Sau khi cài đặt thànhc ông, bạn sẽ được yêu cầu nhập OpenVPN username và password. Server IP sẽ được tự động điền rồi.

Bạn có thể dùng OpenVPN từ cửa sổ Windows taskbar để ngắt kết nối, kết nối lại và xem tình trạng kết nối.

Làm thế nào kết nối OpenVPN từ máy MacOS

Kết nối tới OpenVPN Client UI và nhấn vào phần mềm OpenVPN cho MacOS. Khi gói cài được tải về, mở nó lên và cài đặt.

Đúp click vào icon cài đặt và nhấn Open để chạy cài đặt

Sau khi cài đặt hoàn tất, bạn có thể thấy OpenVPN icon trên macOS taskbar. Chuột phải vào đó và xem nhiều tùy chọn, tại đó bạn có thể nhấn nút kết nối máy chủ Open VPN server.

Sau khi nhấn nút Connect, bạn sẽ thấy màn hình popup hiện lên hỏi OpenVPN username và password. Tại đây hãy điền credentials của bạn và click vào nút Connect để thiết lập kết nối Linux VPN server.

Làm thế nào để cài đặt OpenVPN client cho máy Linux và thực hiện kết nối tới VPN server

Phiên bản client của Linux thì hơi khác. Bạn có thể download và install OpenVPN client trên CentOS bằng lệnh sau:

sudo yum install OpenVPN

Tương tự, cài đặt OpenVPN client software trên Debian hoặc Ubuntu bằng lệnh sau:

sudo apt-get install openvpn

Mở OpenVPN client UI  và tải profile tương ứng cho OS của bạn. Bạn có thể dùng wget hoặc curl command để tải phần mềm về bằng cách nhập URL của nó.

Copy vào trong thư mục /etc/openvpn đổi tên thành client.conf. Bạn khởi động dịch vụ OpenVPN Tunnel nơi bạn điền username và password bằng cách dùng lệnh:

sudo service openvpn start

Bạn dùng ipconfig hay ip addr để xem kết nối mạng. Sau khi VPN interface được kích hoạt, bạn sẽ thấy tun0 interface hiện lên danh sách kết nối.

Làm thế nào để cài đặt OpenVPN client cho Android và kết nối tới VPN server

Đầu tiên, vào Google Play Store và tìm OpenVPN Connect. Cài nó lên ứng dụng OpenVPN Connect app.

Sau khi mở ra, nó sẽ hiển thị 3 tùy chọn – Private Tunnel, Access Server, và OVPN Profile.

Chọn Access Server và điền vao2 các thông tin sau thủ công:

  • Title – tên kết nối
  • Access Server Hostname – địa chỉ IP của máy VPN server
  • Port – port 934 của Linux VPN server
  • Username – username mặc định của VPN server – mặc định là openvpn
  • Password – mật khẩu bạn đặt trong console nơi bạn thiết lập Linux VPN server trong terminal

Hoặc bạn có thể nhập file .ovpn cho profile của bạn. Bạn lấy profile kế nối từ client UI của open VPN.

Làm thế nào để cài đặt và kết nối OpenVPN client trên iOS

Giống như máy Android, bạn cài OpenVPN software bằng App Store.

Hoàn tất cài đặt và mở ứng dụng được cài. Nó sẽ bắt bạn nhập thông tin profile vào hoặc upload file lên giống với bản Android.

Sau đó bạn có thể sử dụng OpenVPN để kết nối tới máy chủ VPN trên iPhone hoặc iPad.

Thiết lập Linux VPN Server Compression

Trong trường hợp bạn kết nối VPN mà không truy cập được Internet, vậy bạn có thể xem OpenVPN logs tại /var/log/openvpnas.log trong VPS của bạn. Trường hợp bạn thấy dòng thông tin tương tự như sau:

2019-03-23 18:24:05+0800 [-] OVPN 11 OUT: 'Mon Mar 23 08:59:05 2016 guest/123.45.67.89:55385 Bad compression stub decompression header byte: 251'

Thì có thể đang gặp lỗi compression. Để giải quyết, hãy vô hiệu qua compression. Bạn vô hiệu qua ngay trong Admin UI (giao diện quản lý), mở nó lên và click vào nút Advanced VPN.

Vào Default Compression Settings. Nhấn nút off cho tùy chọn Support compression on client VPN connections.

Áp dụng thay đổi và nhấn nút Update Running Server. Lỗi kết nối mạng không được qua VPN sẽ được sửa.

Thêm Users vào Linux VPN Server chạy OpenVPN

OpenVPN client hỗ trợ 2 người dùng. Để tạo thêm user, bạn sẽ cần mua gói trả phí. Bạn có thể thêm users từ trong Admin UI. Chuyển tới tab User Management và click vào User Permissions link.

Điền username mới như bên dưới:

thêm user openvpn

Đối với user mới, cấu hình thêm thông tin người dùng bằng cách click vào nút More Settings link. Tại đây bạn có thể điền thêm mật khẩu và các thông tin khác.

Cấu hình thông tin người dùng OpenVPN

Lưu lại các thông tin này và nhấn vào nút Update Running Server.

Thiết lập tự động login profile cho server Linux VPN bằng OpenVPN

Với OpenVPN, bạn có thể cấu hình tự động đăng nhập profile, nó sẽ khiến tất cả các traffic không nội bộ được route qua VPN mặc định. Trong trường hợp bạn muốn kích hoạt hay vô hiệu VPN, bạn có thể dùng User hoặc Server locked profiles.

Để cài tự động đăng nhập, mở Admin UI, rồi chọn User Permissions. Tại đây chỉ cần đánh dấu vào ô Allow Auto-login.

Cách kiểm tra xem Linux VPN Server chạy OpenVPN có hoạt động không

Để kiểm tra xem OpenVPN có hoạt động không, kết nối tới VPN client và kiểm tra lại địa chỉ IP. Bạn có thể dùng công cụ DNS leak test website trên trình duyệt. Nó sẽ hiện ra IP của OpenVPN server thay vì IP bạn thường dùng.

Tiếp theo, bạn có thể chọn Extended test. Kết quả sẽ là IPs cho DNS resolver bạn chọn từ máy client.

Bạn có thể xác nhận lại traffic đang dùng không phải là IPv6. Để xem kết quả, sử dụng IPv6 test website. Một lần nữa nó sẽ hiển thị IP server và kết quả là không phát hiện thấy IPv6.

Lời kết

Trong bài hướng dẫn này, bạn đã biết cách làm thế nào để tạo một VPN server riêng bằng cách sử dụng phần mềm OpenVPN. Bạn cũng biết cách kết nối tới server VPN đó bằng máy Windows, Linux, Android, iPhone or iPad, and MacOS.

Bạn đã biết đầy đủ các thông tin cơ bản, bạn có thể duyệt web một cách an toàn và chuyên nghiệp rồi đấy. Linux VPN server của bạn sẽ nâng tầm bảo mật lên một tầng mới. Để đọc qua toàn bộ tài liệu chính thức của OpenVPN server, bạn hãy mở giao diên admin ra và xem trong đó. Hãy duyệt web an toàn ngay bằng Open VPN server nhé.

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.