Chuyên mục
Linux Network

Cài đặt WireGuard VPN client trên EndeavourOS Linux

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 reboot

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 ~/Downloads

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"

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

Connection 'Lenovo' (1f0199cc-5c58-41b1-9416-f11b121037eb) successfully added.

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

nmcli connection show

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   --     

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 Home140

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)

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

nmcli connection down Home140

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/

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời