Cách cài đặt và thiết lập VPN WireGuard trên VPS Ubuntu

Nhiều người dùng vì những lý do hợp lý đang tìm cách ẩn danh và tăng cường bảo mật trong thế giới Internet. VPS là một công nghệ hiệu quả để ẩn địa chỉ IP ban đầu của người dùng bằng cách cung cấp một địa chỉ IP mới. Nhưng nó có thể không đủ đối với một số người dùng. Đó là lý do tại sao các phương pháp hữu ích khác được tích hợp với VPS để tăng cường bảo mật trực tuyến và bảo vệ quyền riêng tư. Một trong những phương pháp phổ biến trong lĩnh vực này là thiết lập máy chủ VPN. Tức là họ biến VPS thành máy chủ VPN bằng cách thiết lập VPN trên VPS. WireGuard là một giao thức VPN ngang hàng với mã hóa nâng cao, cũng được sử dụng trong các hoạt động proxy ngược. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt và thiết lập VPN WireGuard trên máy chủ VPS Ubuntu. Hãy cùng theo dõi!

Giới thiệu VPN WireGuard

WireGuard là công nghệ mạng riêng ảo hiện đại, an toàn và nhanh chóng với mã hóa nâng cao, được phát hành vào năm 2015. WireGuard được giới thiệu là một giao thức truyền thông và ứng dụng khách VPN, với cách tiếp cận tối thiểu đối với giao diện người dùng và ưu tiên người dùng cuối. Giao thức VPN này đã trở nên phổ biến đối với người dùng nhờ tính linh hoạt cao và khả năng tương thích với hầu hết các hệ điều hành, cũng như nhiều tính năng nâng cao của nó. Phần mềm này chạy dưới dạng một mô-đun trong nhân Linux, nhằm mục đích cải thiện hiệu suất so với các đối thủ cạnh tranh.

Các ưu điểm khác đã làm tăng mức độ phổ biến của WireGuard so với các đối thủ cạnh tranh khác là việc sử dụng chứng chỉ để xác thực, sử dụng TLS và tạo các đường hầm được mã hóa giữa các hệ thống của bạn. Chức năng của WireGuard là tạo giao diện mạng riêng an toàn trong thiết bị ngang hàng dưới dạng đường hầm, và thực hiện xác thực dựa trên mẫu SSH bằng cách chuyển và trao đổi khóa chung giữa các thiết bị ngang hàng. Do đó, nó sử dụng khóa chung và khóa riêng để mã hóa, và tạo đường hầm được mã hóa giữa các hệ thống.

Ngoài ra, một trong những tính năng đặc quyền của giao thức WireGuard là hỗ trợ kết nối IPv4 và IPv6. Người dùng cần một IP cố định cho mạng cơ quan hoặc mạng gia đình của họ mặc dù đang hoạt động bên ngoài môi trường đó hoặc thường xuyên di chuyển. Từ đó có thể truy cập mạng văn phòng hoặc mạng gia đình của họ bằng cách thiết lập dịch vụ VPN WireGuard trên VPS.

Thiết lập VPN WireGuard trên VPS để truy cập mạng với mức độ an toàn cao

Thiết lập VPN WireGuard trên VPS Ubuntu

Định cấu hình VPN WireGuard trên VPS tương tự như thiết lập nó trên hệ thống cục bộ. Kết nối an toàn với máy chủ Ubuntu của bạn thông qua SSH, sau đó chỉ cần cài đặt VPN WireGuard trên hệ thống cục bộ và sử dụng công cụ đặc biệt này trên VPS để tăng cường đáng kể hoạt động trực tuyến và bảo mật VPS của bạn. Trước khi chuyển sang các bước thiết lập VPN WireGuard trên máy chủ Linux Ubuntu, bạn phải đáp ứng các yêu cầu tối thiểu để thực hiện các hướng dẫn trong hướng dẫn này.

Điều kiện tiên quyết

  • VPS Linux với hệ điều hành Ubuntu (phiên bản 20.04)
  • Truy cập vào máy chủ thông qua người dùng không phải root và có đặc quyền Sudo

Lưu ý: Trong hướng dẫn này, phương pháp là sử dụng hai máy chủ Ubuntu với các phiên bản khác nhau và các bản vá phù hợp. Sau đó định cấu hình một máy chủ Ubuntu làm máy chủ để chạy WireGuard, và máy chủ Ubuntu từ xa khác làm máy khách. Nếu phương pháp này không tương thích với điều kiện của bạn, bạn có thể chọn phương pháp khác là yêu cầu bạn sử dụng máy chủ Ubuntu làm máy chủ để chạy WireGuard và thiết bị cục bộ của bạn làm máy khách ngang hàng.

=>> Đọc thêm: Cách cài đặt Google Chrome trên Ubuntu

Các bước để cài đặt VPN WireGuard trên VPS Ubuntu

Bước 1: Cập nhật danh sách các gói Ubuntu Server (Ubuntu Server Repository)

Bước đầu tiên để cài đặt WireGuard là cập nhật các gói hệ thống Linux và kho lưu trữ. Nếu bạn chưa sử dụng Sudo trước hướng dẫn này, bạn có thể cần nhập mật khẩu người dùng Sudo của mình rồi nhập lệnh sau để cập nhật các gói hệ thống Ubuntu:

$ sudo apt update

Bước 2: Cài đặt VPN WireGuard

Sau khi cập nhật kho lưu trữ hệ thống Ubuntu, đã đến lúc tải xuống và cài đặt tệp WireGuard. Chạy lệnh sau sẽ cài đặt WireGuard trên máy chủ Ubuntu:

$ sudo apt install wireguard -y

Bạn có thể phải đợi một lúc để hoàn tất quá trình tải xuống các tệp và cài đặt VPN WireGuard.

Bước 3: Tạo cặp khóa riêng và chung cho máy chủ WireGuard

Sau khi cài đặt tệp WireGuard, bạn cần tạo các cặp khóa chung và riêng tư để chạy WireGuard trên máy chủ Ubuntu và mã hóa lưu lượng truy cập đến và đi đến máy chủ. Các lệnh wg genkeywg pubkey tích hợp được chạy để tạo khóa. Sau đó tệp cấu hình WireGuard phải bao gồm khóa riêng. Vì vậy, để tạo khóa riêng, hãy chạy lệnh sau:

$ wg genkey | sudo tee /etc/wireguard/private.key

Lưu ý: Bạn có thể chạy lệnh chmod để tạo khóa riêng, nhưng để ngăn bất kỳ người dùng nào đọc tệp trên máy chủ, bạn phải thay đổi quyền mặc định của khóa mà bạn đã tạo bằng lệnh chmod. Lệnhchmodđể tạo khóa riêng như sau:

$ sudo chmod go= /etc/wireguard/private.key

Lệnh chmod trên tệp để bảo vệ khóa riêng chỉ cho phép người dùng root truy cập vào tệp. Trong đầu ra lệnh ở trên, dòng lệnh được mã hóa base64 chứa khóa riêng, bạn phải ghi lại khóa này cẩn thận ở nơi an toàn. Tệp /etc/wireguard/private.key thường chứa một bản sao của đầu ra có chứa khóa riêng để bạn có thể tham khảo tệp đó trong tương lai và truy cập nội dung đầu ra của lệnh trên.

Để tạo khóa chung được lấy từ khóa riêng, hãy sử dụng lệnh sau:

$ sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

Trong đầu ra của lệnh trên, dòng được mã hóa base64 chứa khóa chung của bạn cho máy chủ VPN WireGuard. Tốt hơn là tạo một bản sao của khóa chung ở nơi an toàn để bạn có thể truy cập máy chủ từ các thiết bị ngang hàng thông qua khóa chung.

Tạo cặp khóa riêng và chung để chạy VPN WireGuard trên Ubuntu

Bước 4: Định cấu hình địa chỉ IPv4 và IPv6

Bước này được thực hiện để đặt phạm vi địa chỉ IPv4 và IPv6 riêng để sử dụng với máy chủ WireGuard và các thiết bị ngang hàng (Máy khách). Với mục đích này, bạn có thể xác định dải IP bằng cách đặt các địa chỉ trong dòng lệnh. Trước khi chạy các lệnh, hãy đảm bảo rằng bạn có quyền truy cập vào khóa riêng mà bạn đã tạo ở bước trước.

Do đó, để định cấu hình máy chủ WireGuard, hãy chạy lệnh sau bằng cách sử dụng nano hoặc bất kỳ trình chỉnh sửa nào bạn chọn để tạo tệp wg0.conf bằng cách tham khảo thư mục /etc/wireguard:

$ sudo nano /etc/wireguard/wg0.conf

Sau đó nhập các lệnh sau vào tệp cấu hình để đặt dải IP:

[Interface] 

PrivateKey = servers_generated_private_key 

Address = 172.16.0.0/12 ListenPort = 51820 

SaveConfig = true

Dòng SaveConfig = true là để đảm bảo rằng các thay đổi đối với tệp cấu hình được lưu khi tắt giao diện WireGuard.

Lưu tệp /etc/wireguard/wg0.conf sau khi chỉnh sửa bằng cách nhấn CTRL+X. Sau đó nhấn YEnter (Khi sử dụng trình chỉnh sửa nano).

Khi sử dụng máy chủ WireGuard với các máy IPv4, hãy nhớ rằng máy chủ sử dụng các địa chỉ IPv4 riêng khác nhau cho giao diện đường hầm và máy khách. Danh sách các khối địa chỉ IP dành riêng như sau:

  • 10.0.0.0 đến 10.255.255.255 (tiền tố 10/8)
  • 172.16.0.0 đến 172.31.255.255 (tiền tố 172.16/12)
  • 192.168.0.0 đến 192.168.255.255 (tiền tố 192.168/16)

Trong hướng dẫn này, chúng tôi đã chọn địa chỉ 172.16.0.0/12 làm khối địa chỉ IP và dải IP đầu tiên trong định nghĩa của dải IP dành riêng. Nhưng bạn có thể sử dụng một khối địa chỉ dành riêng khác hoặc chọn một địa chỉ khác trong phạm vi được xác định ở trên.

=>> Đọc thêm: Cách cài đặt và định cấu hình MySQL trên CentOS 7

Bước 5: Cấu hình Port Forwarding và file /etc/sysctl.conf

Kích hoạt Forwarding gói là một yêu cầu để chạy VPN, để bạn có thể kết nối với máy chủ VPN WireGuard mà không gặp bất kỳ sự cố nào trong tương lai. Với mục đích này, chúng ta cần chỉnh sửa nội dung của tệp /etc/sysctl.conf.

Đầu tiên, mở tệp /etc/sysctl.conf bằng cách chạy lệnh sau:

$ sudo nano /etc/sysctl.conf

Sau đó, thêm các lệnh sau vào tệp /etc/sysctl.conf để bật Forwarding:

net.ipv4.ip_forward=1

Nếu bạn đang sử dụng IPv6, bạn cũng phải nhập lệnh sau vào tệp mong muốn:

net.ipv6.conf.all.forwarding=1

Để đọc các giá trị đầu vào và đầu ra và lưu các thay đổi trong tệp /etc/sysctl.conf, hãy nhập các lệnh sau trong terminal:

$ sudo sysctl -p
net.ipv4.ip.forward = 1

Nhập lệnh sau cho địa chỉ IPv6:

net.ipv6.conf.all.forwarding = 1

Bước 6: Cấu hình tường lửa máy chủ VPN WireGuard

Định cấu hình tường lửa của máy chủ VPN WireGuard để bạn có thể điều hướng lưu lượng truy cập vào và ra của máy chủ WireGuard bằng cách đặt các quy tắc tường lửa. Phần này là tùy chọn, nhưng nó có những lợi ích nhất định.

Bạn phải bật Masquerading trong tường lửa để cho phép lưu lượng máy chủ WireGuard. Kích hoạt Masquerading cung cấp NAT để định tuyến đúng các kết nối máy khách và đóng vai trò của iptables. Để định cấu hình tường lửa máy chủ, trước tiên bạn phải tìm giao diện mạng công cộng của máy chủ WireGuard bằng cách chạy lệnh ip route:

$ ip route list default

Trong đầu ra của lệnh này, bạn sẽ tìm thấy chuỗi giao diện chung sau từ “dev“. Các ví dụ sau đây có thể hướng dẫn bạn xác định giao diện chung nhanh hơn:

default via XXX.XXX.XXX.XXX dev eth0 onlink

hoặc:

default via XXX.XXX.XXX.XXX dev eth0 proto static

Trong các ví dụ này, eth0 sau từ dev là giao diện mạng công cộng.

Bước tiếp theo là chỉnh sửa các quy tắc iptables. Bạn sẽ thực hiện việc này bằng cách mở tệp cấu hình bằng trình chỉnh sửa nano:

$ sudo nano /etc/wireguard/wg0.conf

Sau khi truy cập nội dung của tệp cấu hình, chỉ cần thêm các lệnh sau vào cuối tệp sau dòng SaveConfig = true:

PostUp = ufw route allow in on wg0 out on eth0 

PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 

PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 

PreDown = ufw route delete allow in on wg0 out on eth0 

PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Lệnh Post UP được thực thi để bắt đầu đường hầm ảo VPN trên máy chủ WireGuard và quy tắc PreDownđược sử dụng để dừng đường hầm ảo VPN trên máy chủ. Theo việc sử dụng IPv4 và IPv6 của bạn, bạn có thể thay đổi các quy tắc và cấu hình và bạn có thể xóa một số quy tắc. Các lệnh ufw phải bao gồm cả quy tắc IPv4 và IPv6. Sau khi chỉnh sửa tệp theo nhu cầu của bạn, hãy lưu tệp.

Bước tiếp theo trong việc định cấu hình tường lửa trên máy chủ WireGuard là cho phép lưu lượng đến và đi từ cổng WireGuard UDP. Nếu bạn chưa chỉnh sửa tệp cấu hình /etc/wireguard/wg0.conf của máy chủ, số cổng 51820 được đặt theo mặc định. Vì vậy bạn nên mở cổng mặc định bằng cách chạy lệnh sau:

$ sudo ufw allow 51280/udp

Nếu bạn chưa mở cổng SSH, bạn có thể thực hiện việc này bằng cách chạy lệnh sau:

$ sudo ufw allow OpenSSH

Sau khi đặt các quy tắc mong muốn, hãy tắt rồi bật UFW bằng cách chạy các lệnh sau để khởi động lại UFW và áp dụng các thay đổi đã thực hiện:

$ sudo ufw disable 

 $ sudo ufw enable

Để kiểm tra các thay đổi trong quy tắc UFW, hãy chạy lệnh sau:

$ sudo ufw status

Bằng cách nhận được đầu ra sau, bạn có thể đảm bảo rằng cài đặt tường lửa như ý muốn:

Status: active 

To                         Action      From 

--                         ------      ---- 

51280/udp                  ALLOW       Anywhere 

22/tcp                     ALLOW       Anywhere 

51280/udp (v6)             ALLOW       Anywhere (v6) 

22/tcp (v6)                ALLOW       Anywhere (v6)

Bước 7: Khởi động máy chủ VPN WireGuard

Bây giờ, ứng dụng khách WireGuard đã được cài đặt và các cấu hình cần thiết đã hoàn tất, đã đến lúc khởi động máy chủ WireGuard và kết nối với nó. Bạn có thể sử dụng bất kỳ máy chủ nào để kết nối, làm theo hướng dẫn trong phần này để tạo VPS WireGuard làm VPN.

Bạn có thể định cấu hình WireGuard làm dịch vụ systemd bằng cách sử dụng tập lệnh wg-quick để chạy. Vì vậy, trong những điều kiện này bạn sẽ không phải sử dụng phương pháp thủ công dễ bị lỗi là chạy lệnhwgđể sử dụng VPN và tạo đường hầm. Để tự động khởi động dịch vụ WireGuard mỗi khi bạn khởi động lại, hãy chạy lệnh sau:

$ sudo systemctl enable [email protected]

Chạy lệnh sau để bắt đầu dịch vụ WireGuard:

$ sudo systemctl start wg-quick@wg0.service

Để đảm bảo rằng dịch vụ WireGuard đang hoạt động, hãy nhập lệnh sau:

$ sudo systemctl status wg-quick@wg0.service

Hiển thị Active: active (exited)) trong đầu ra cho biết rằng dịch vụ WireGuard đang hoạt động và đang chạy.

Cuối cùng, bạn đã cài đặt thành công VPN WireGuard. Giờ đây, bạn có thể khởi chạy ứng dụng khách WireGuard trên hệ thống khác và kết nối với VPS WireGuard mà bạn đã định cấu hình làm VPN.

Trong hướng dẫn này, bạn đã cài đặt và khởi chạy thành công dịch vụ VPN WireGuard trên máy chủ VPS Ubuntu. Giờ đây, bằng cách cài đặt WireGuard trên máy chủ Ubuntu, bạn sẽ bảo vệ quyền riêng tư, danh tính và dữ liệu quan trọng của mình. Nếu có bất kì câu hỏi nào cần được giải đáp hãy liên hệ với chúng tôi qua zingserver.com. Cảm ơn đã theo dõi bài viết!

Chia sẻ bài viết:

Đánh giá

0/5 - (0 Bình chọn)

Chưa có đánh giá.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *