0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Hướng Dẫn Thiết Lập WireGuard VPN Client Trên Linux

Đăng vào 4 tuần trước

• 3 phút đọc

Việc thiết lập một WireGuard VPN không chỉ giúp bảo mật thông tin cá nhân mà còn cung cấp một cách tiếp cận an toàn cho việc truy cập internet. Trong bài viết này, chúng ta sẽ tìm hiểu cách thiết lập một client WireGuard trên hệ điều hành Linux. Hướng dẫn này sẽ bao gồm hai phần chính: thiết lập client và cấu hình để tự động chuyển đổi tùy thuộc vào mạng mà bạn đang kết nối.

Mục tiêu

Bài viết này sẽ hướng dẫn bạn:

  • Thiết lập client WireGuard trên Linux Mint (cũng có thể áp dụng cho các hệ điều hành Debian khác).
  • Cấu hình để tự động chuyển đổi VPN dựa trên mạng kết nối.

Kiến thức nền tảng

VPN là công cụ hữu ích để bảo mật và bảo vệ quyền riêng tư của bạn. Dưới đây là một số lợi ích chính:

Bảo mật và Quyền Riêng Tư

  • Bảo mật vị trí: Tất cả lưu lượng truy cập sẽ xuất hiện từ địa chỉ IP của bạn, che giấu vị trí thực của bạn.
  • Bảo vệ dữ liệu: Trên các mạng không dây công cộng, đường hầm VPN của bạn đảm bảo rằng không ai có thể nhìn thấy hoạt động của bạn.
  • Mã nguồn mở: WireGuard là mã nguồn mở, thường xuyên được kiểm toán.

Chức năng

  • Chặn quảng cáo: Nếu bạn đang sử dụng Pi-Hole tại nhà, bạn có thể sử dụng công cụ này ngay cả khi không ở trong mạng nhà.
  • Truy cập mạng nội bộ: Tunnels bảo mật cho phép bạn truy cập các thiết bị trong mạng nội bộ mà không cần công khai trên internet.
  • Tốc độ: WireGuard có hiệu suất cao hơn nhiều dịch vụ VPN khác.

Tính thực tiễn

  • Tải nhẹ: WireGuard có thể chạy trên hầu hết phần cứng hiện đại.
  • Bảo mật mã hóa: Sử dụng các phương thức mã hóa hiện đại và đáng tin cậy.
  • Miễn phí: Không có phí đăng ký, hoàn toàn miễn phí.

Nếu bạn chưa thiết lập WireGuard VPN server, hãy tham khảo tài liệu chính thức của WireGuard để có hướng dẫn đầy đủ.

Các yêu cầu

  • WireGuard server đã được cấu hình, với port forwarding trên router.
  • Client Linux có quyền truy cập sudo (đã kiểm tra trên Mint/Debian).
  • Kiến thức cơ bản về dòng lệnh.

Thiết lập Client

Tạo SSH Key

Đầu tiên, bạn cần tạo một SSH key:

bash Copy
ssh-keygen -t ed25519 -C "your-email@example.com"

Nhấn Enter hai lần để sử dụng vị trí mặc định và không sử dụng passphrase.

Có hai cách để sao chép key đến server:

Cách đơn giản:

Cách này chỉ hoạt động nếu client có thể truy cập server. Chạy lệnh sau:

bash Copy
ssh-copy-id username@server-ip

Cách phức tạp:

Sao chép nội dung của file public key:

bash Copy
cat ~/.ssh/id_ed25519.pub

Dán nó vào file ~/.ssh/authorized_keys trên server.

Cài đặt

Cài đặt các gói cần thiết:

bash Copy
sudo apt update
sudo apt install wireguard resolvconf

Tiếp theo, tạo các key cho WireGuard:

bash Copy
cd /etc/wireguard
sudo umask 077
sudo wg genkey | sudo tee privatekey | sudo wg pubkey | sudo tee publickey

Tạo file cấu hình WireGuard:

bash Copy
sudo vim /etc/wireguard/wg0.conf

Chèn nội dung sau vào file:

ini Copy
[Interface]
PrivateKey = # Dán private key ở đây
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = # Public key của server
Endpoint = your-server-ip:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Cấu hình WireGuard cho mạng trong nhà và ngoài nhà

Nếu bạn kết nối WireGuard trên mạng nội bộ, nó sẽ không hoạt động. Bạn cần cấu hình để tắt khi ở nhà. Chạy các lệnh sau:

bash Copy
sudo cp /etc/wireguard/wg0.conf /etc/wireguard/wg0-away.conf
sudo cp /etc/wireguard/wg0.conf /etc/wireguard/wg0-home.conf

Chỉnh sửa file cấu hình cho mạng trong nhà:

bash Copy
sudo vim /etc/wireguard/wg0-home.conf

Thay đổi AllowedIPs thành địa chỉ IP nội bộ của bạn, ví dụ 192.168.1.0/24.

Chỉnh sửa file cấu hình cho mạng ngoài nhà:

bash Copy
sudo vim /etc/wireguard/wg0-away.conf

Tạo script phát hiện mạng

Tạo file script:

bash Copy
sudo vim /etc/NetworkManager/dispatcher.d/99-wireguard-auto

Thêm mã sau vào file:

bash Copy
#!/bin/bash

INTERFACE=$1
ACTION=$2

# Xử lý mạng
if [ "$ACTION" = "up" ]; then
    if is_home_network; then
        # Chuyển sang cấu hình trong nhà
    else
        # Chuyển sang cấu hình ngoài nhà
    fi
fi

Các vấn đề thường gặp

  • Kiểm tra kết nối: Nếu VPN không kết nối, kiểm tra lệnh sau:
bash Copy
sudo systemctl status wg-quick@wg0
  • Kiểm tra DNS: Nếu DNS không hoạt động với Pi-hole, kiểm tra:
bash Copy
ping 192.168.1.xxx

Kết luận

Bạn đã hoàn thành việc thiết lập WireGuard VPN client trên Linux! Hãy đảm bảo kiểm tra mọi thứ đã hoạt động đúng. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại bình luận bên dưới.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào