Trước giờ mình mình chỉ toàn thiết lập WireGuard làm VPN server trên Linux, rồi sau đó sử dụng WireGuard client trên Windows, macOS, iOS để kết nối.

Từ khi chuyển qua dùng EndeavourOS, mình phải nghiên cứu cách cài đặt WireGuard client trên Linux để kết nối vào VPN Server. Sau vài giờ loay hoay, mình đã tìm ra bí kíp nên ghi lại trong bài viết này để sau này lỡ quên có thể mò lại được.

Các thao tác được thực hiện trên EndeavourOS. Tuy nhiên, bạn hoàn toàn có thể áp dụng tương tự trên các bản phân phối Linux khác.

I. Cài đặt WireGuard Tools

Cài đặt WireGuard Tools bằng lệnh sau và khởi động lại máy.

yay -S wireguard-tools
sudo rebootCode language: Nginx (nginx)

II. Tải file cấu hình WireGuard peer về máy

File cấu hình .conf sau khi tải về từ WireGuard VPN Server có dạng như sau


[Interface] Address = x.x.x.x/24 DNS = 8.8.8.8, 8.8.4.4 PrivateKey = iPp8KmZQzsxxxxxxxxxxxxxxxxxxxxxz9X0OO8ED0A= [Peer] PublicKey = 4SJMlcxxxxxxxxxxxxxxxxxxxxxxxxxxxxf2s9nzM= PresharedKey = dtZgt7SEElxxxxxxxxxxxxxxxxxxxxxxxxxxxe0qICQ6N2w= AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = x.x.x.xx:51820 PersistentKeepalive = 25

Mình lưu file này với tên gọi Lenovo.conf trong thư mục Downloads.

III. Tạo kết nối WireGuard Interface

Mặc định trong máy đã có cài đặt và kích hoạt sẵn Network Manager để quản lý kết nối mạng. Công cụ này hỗ trợ tạo WireGuard Interface nên mình sẽ sử dụng cái này luôn cho dễ quản lý.

1. Sử dụng GUI

Mở Network Manager và bấm vào dấu + để tạo kết nối mới

Chọn WireGuard ở phần Connection Type, bấm Create…

Nhập vào thông số ở tab WireGuard dựa vào file Lenovo.conf ở trên

  • Connection name: Home140
  • Interface name: Home140
  • Private key: copy từ mục PrivateKey ở trên

Bấm vào nút Add ở phần Peers

Nhập nội dung của phần [Peer] trong file cấu hình vào đây và bấm Apply

Thông số ở tab WireGuard đã xong. Bấm qua tab IPv Settings để chỉnh tiếp IP Address

Nhập vào địa chỉ IP như trong phần [Interface] của file cấu hình

  • Address: 10.6.0.5
  • Netmask: 24
  • Gateway: để trống
  • DNS Servers: 10.2.0.100

Bấm Save để lưu lại.

2. Sử dụng CLI

Thay vì phải copy / paste mất thời gian như ở trên, mình có thể tạo kết nối WireGuard trực tiếp từ file cấu hình bằng cách sử dụng dòng lệnh.

Truy cập đến thư mục đang lưu file cấu hình Wireguard peer

cd ~/DownloadsCode language: Bash (bash)

Sử dụng lệnh nmcli để import file cấu hình vào hệ thống.

 nmcli connection import type wireguard file "Lenovo.conf"Code language: JavaScript (javascript)

Kết quả trả về thành công

Connection 'Lenovo' (1f0199cc-5c58-41b1-9416-f11b121037eb) successfully added.Code language: Nginx (nginx)

Kiểm tra lại danh sách kết nối

nmcli connection showCode language: Nginx (nginx)

Kết quả trả về sẽ gồm có kết nối wifi, ethernet và wireguard

NAME                UUID                                  TYPE       DEVICE 
Space19             3b871a2c-162a-4dd3-adb1-f503e8c7b387  wifi       wlan0  
Lenovo              1f0199cc-5c58-41b1-9416-f11b121037eb  wireguard  Lenovo 
Home140             707c9bcc-47af-48d2-82b0-cf94f75fab2d  wireguard  --     
Purna_5G            1f776b7b-4c58-4c2f-bdb9-93c714c4f0b7  wifi       --     
Wired connection 1  d77c4a56-4127-3023-b62d-040c96a1022d  ethernet   --     Code language: Nginx (nginx)

IV. Kích hoạt kết nối WireGuard VPN

Để kích hoạt kết nối WireGuard, mình bấm chuột vào biểu tượng Network Manager ở Tray Icon, bấm vào VPN Connections và chọn vào kết nối tương ứng.

Hoặc mình có thể kích hoạt WireGuard trong Terminal bằng lệnh sau

nmcli connection up Home140Code language: Nginx (nginx)

Kết nối thành công sẽ hiện ra thông báo

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)Code language: JavaScript (javascript)

Để ngắt kết nối WireGuard, dùng thay up bằng down trong lệnh ở trên

nmcli connection down Home140Code language: Nginx (nginx)

Thế là xong. Cấu hình WireGuard client tưởng rắc rối nhưng hóa ra dễ ẹc. Thao tác bằng dòng lệnh nhanh gọn, tiện lợi hơn hẳn so với trên Windows hay macOS.

Chúc bạn thực hiện thành công!

Nguồn: https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/

[convertkit form=7087807]

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Để lại một bình luận

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 *