Hướng dẫn cài đặt và cấu hình VPN Server với WireGuard trên Ubuntu 20.04
BÀI VIẾT

Hướng dẫn cài đặt và cấu hình VPN Server với WireGuard trên Ubuntu 20.04

8.9K
author Nguyễn Ngọc Đang - 2021-10-25 17:03:46 (GMT+7)

Giới thiệu

WireGuard là một phần mềm VPN mã nguồn mở, miễn phí, hiện đại và nhanh chóng với mật mã hiện đại. Nó nhanh hơn và đơn giản hơn so với IPSec và OpenVPN. Ban đầu, được phát hành cho Kernel Linux, nhưng nó cũng đang được hỗ trợ đa nền tảng cho các hệ điều hành khác. Trong bài viết này sẽ hướng dẫn cài đặt và thiết lập WireGuard VPN trên Ubuntu 20.04 LTS.

Mô hình trong bài viết này như sau:

Trong bài viết này chúng ta sử dụng máy chủ để cài WireGuard Server có thông tin như sau:

Card mạng public: ens3

IP Public: 103.97.125.178

Cập nhật hệ thống

Để đảm bảo rằng tất cả các phụ thuộc của WireGuard đều được cập nhật, hãy thực thi lệnh bên dưới:

bash (root)
apt-get update && apt-get upgrade

Trong quá trình cập nhật hệ thống chúng ta chờ từ 5 phút đến 15 phút.

Cài đặt WireGuard VPN Server

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

Để có thể cài đặt WireGuard từ kho lưu trữ mặc định của Ubuntu chúng ta tiến hành thực thi lệnh bên dưới:

bash (root)
apt install wireguard

Bước 2: Cấu hình WireGuard server

Đầu tiên, chúng ta cần tiến hành tạo một cặp private key và public key.

WireGuard có hai công cụ dòng lệnh wgwg-quick. Chúng ta sẽ sử dụng các lệnh đó để định cấu hình WireGuard VPN.

Sử dụng lệnh wg, chúng ta sẽ tạo một cặp private key và public key như hình dưới đây:

bash (root)
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Sau khi đã tạo một cặp private key và public key tiến hành kiểm tra lại trong thư mục /etc/wireguard/.

bash (root)
ls -la /etc/wireguard/
total 16
drwx------   2 root root 4096 Oct 21 13:34 .
drwxr-xr-x 109 root root 4096 Oct 21 13:27 ..
-rw-r--r--   1 root root   45 Oct 21 13:34 privatekey
-rw-r--r--   1 root root   45 Oct 21 13:34 publickey

Tiếp theo, chúng ta cần cấu hình đường hầm sẽ định tuyến lưu lượng VPN. Chúng ta sẽ thực hiện tác vụ này bằng cách tạo file cấu hình có tên wg0.conf:

bash (root)
touch /etc/wireguard/wg0.conf

Thêm nội dung sau vào file cấu hình đã tạo ở trên:

/etc/wireguard/wg0.conf
[Interface]
ListenPort = 51820
PrivateKey = xxxxxxxxxxxxx
Address = 192.168.5.1/24

Trong đó:

ListenPort: là port mà WireGuard sẽ sử dụng

PrivateKey: là private key đã tạo bước trước

Address: IP của interface sẽ được WireGuard sử dụng

Tiến hành start WireGuard và cho phép WireGuard khởi động cùng với hệ thống bằng câu lệnh sau:

bash (root)
systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0

Wireguard sẽ được listen trên port UDP 51280:

Kết quả
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 127.0.0.53:53           0.0.0.0:*                           207561/systemd-reso
udp        0      0 103.97.125.178:68       0.0.0.0:*                           207537/systemd-netw
udp        0      0 10.124.11.51:68         0.0.0.0:*                           207537/systemd-netw
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd
udp        0      0 0.0.0.0:51820           0.0.0.0:*                           -
udp6       0      0 :::111                  :::*                                1/systemd
udp6       0      0 :::51820                :::*                                -

Chúng ta có thể dùng lệnh sau để xem một số thông tin của wireguard:

bash (root)
wg show
Kết quả
interface: wg0
  public key: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  private key: (hidden)
  listening port: 51820

Cài đặt và cấu hình WireGuard VPN Client

WireGuard Client Trên Linux

Cài đặt Wireguard client trên Ubuntu tiến hành cài đặt trực tiếp từ repo của WireGuard:

bash (root)
apt install wireguard

Tạo cặp key pair để sử dụng cấu hình cho client. Lưu lại Private key và public key sau khi hệ thống tạo ra. Private key sẽ được sử dụng tại file cấu hình của tunesafe client. Public key sẽ được sử dụng để cấu hình trên WireGuard server.

bash (root)
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Tạo file config dùng để kết nối cho WireGuard client tới server

bash (root)
touch /etc/wireguard/wg0.conf

Điền các thông tin cấu hình như:

PrivateKey: Private Key vừa tạo ngẫu nhiên ở bước trước.

Address: IP mà client sẽ sử dụng để kết nối với server.

Publickey: Public key của WireGuard server, có thể xem bằng lệnh wg trên server.

Endpoint: IP: port – IP public và port của WireGuard server.

AllowedIPs: Các dải IP sẽ được route để đi qua VPN, trong trường hợp bạn muốn toàn bộ traffic của client qua VPN, bạn có thể để thành 0.0.0.0/0.

/etc/wireguard/wg0.conf
[Interface]
## This Desktop/client's private key ##
PrivateKey = GMU+oqJ5uOJ1koBlTbaUyQ9ZM4FVUtFIk0rSJb6rinI=

## Client ip address ##
Address = 192.168.5.2/24

[Peer]
## Ubuntu 20.04 server public key ##
PublicKey = dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=

## set ACL ##
AllowedIPs = 192.168.5.0/24

## Your Ubuntu 20.04 LTS server's public IPv4/IPv6 address and port ##
Endpoint = 103.97.125.178:51820

##  Key connection alive ##
PersistentKeepalive = 15

Save lại file cấu hình trên và khởi động WireGuard bằng câu lệnh:

bash (root)
wg-quick up wg0

Chúng ta có thể dùng lệnh sau để xem một số thông tin của WireGuard:

bash (root)
wg show
Kết quả
interface: wg0
  public key: HMbo0FQpVA/cwm/ovNdeKOdVGs3Ks02jVS7GjHI+4iU=
  private key: (hidden)
  listening port: 43916

peer: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  endpoint: 103.97.125.178:51820
  allowed ips: 192.168.5.0/24
  latest handshake: 3 seconds ago
  transfer: 92 B received, 180 B sent
  persistent keepalive: every 15 seconds

Để stop WireGuard, chúng ta có thể sử dụng lệnh:

bash (root)
wg-quick down wg0

Sau khi đã thiết lập kết nối VPN hoàn tất ở phía client chúng ta cần thực hiện thiết lập cho phép VPN Client kết nối ở phía Server:

Trên Wireguard server, chạy câu lệnh sau với các thông số:

Client Public Key: Public key được tạo ra bởi Wireguard client.

Allowed-ips: Chỉ cho phép IP nào đó của Client được kết nối với Server ứng với public key được cấu hình.

bash (root)
wg set wg0 peer <Client Public Key> allowed-ips <client ip address>

Trong ví dụ này ta chạy lệnh:

bash (root)
wg set wg0 peer HMbo0FQpVA/cwm/ovNdeKOdVGs3Ks02jVS7GjHI+4iU= allowed-ips 192.168.5.2

Kiểm tra lại thông tin bằng cách sử dụng lệnh:

bash (root)
wg show wg0
Kết quả
interface: wg0
  public key: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  private key: (hidden)
  listening port: 51820

peer: HMbo0FQpVA/cwm/ovNdeKOdVGs3Ks02jVS7GjHI+4iU=
  endpoint: 103.97.125.173:43954
  allowed ips: 192.168.5.2/32
  latest handshake: 2 days, 13 hours, 39 minutes, 30 seconds ago
  transfer: 42.29 KiB received, 9.43 KiB sent

Lưu lại cấu hình:

bash (root)
wg-quick save wg0

Như vậy cấu hình sẽ được lưu lại trong file wg0.conf của hệ thống, trong trường hợp hệ thống khởi động lại, cấu hình sẽ không bị mất đi.

Chúng ta đã hoàn tất quá trình cài đặt WireGuard VPN Client Ubuntu và cho phép VPN Client kết nối ở phía Server

WireGuard Client trên Windows

Tiến hành cài đặt WireGuard client trên Windows bằng cách tải WireGuard tại đây

Sau khi đã tải về và tiến hành cài đặt thì sẽ được giao diện như bên dưới, tại đậy chúng ta chọn Add empty tunnnel...

GUI tự động tạo PrivateKey và PublicKey cho chúng ta:

Điền các thông tin cấu hình như:

PrivateKey: Private Key vừa tạo ngẫu nhiên ở bước trước.

Address: IP mà client sẽ sử dụng để kết nối với server.

Publickey: Public key của WireGuard server, có thể xem bằng lệnh wg trên server.

Endpoint: IP: port – IP public và port của WireGuard server.

AllowedIPs: Các dải IP sẽ được route để đi qua VPN, trong trường hợp bạn muốn toàn bộ traffic của client qua VPN, bạn có thể để thành 0.0.0.0/0.

vpn-new.conf

[Interface] ## This Desktop/client's private key ## PrivateKey = iDmzwyh25l6A9uPc7SH/EJxEeMZHMpc/chjTA3lIaF4= ## Client ip address ## Address = 192.168.5.3/24 [Peer] ## Ubuntu 20.04 server public key ## PublicKey = dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms= ## set ACL ## AllowedIPs = 192.168.5.0/24 ## Your Ubuntu 20.04 LTS server's public IPv4/IPv6 address and port ## Endpoint = 103.97.125.178:51820

Khi đã điền các giá trị cần thiết như trên thì tiến hành Save. Tiếp theo chọn Activate kết quả connect sẽ như ảnh bên dưới:

Sau khi đã thiết lập kết nối VPN hoàn tất ở phía client chúng ta cần thực hiện thiết lập cho phép VPN Client kết nối ở phía Server:

Trên WireGuard server, chạy câu lệnh sau với các thông số:

Client Public Key: Public key được tạo ra bởi WireGuard client.

Allowed-ips: Chỉ cho phép IP nào đó của Client được kết nối với Server ứng với public key được cấu hình.

bash (root)
wg set wg0 peer <Client Public Key> allowed-ips <client ip address>

Trong ví dụ này ta chạy lệnh:

bash (root)
wg set wg0 peer BZpCx5Adhy+VfJdfSg7jcMEykgNwHpgGv1Db4UI51Qw= allowed-ips 192.168.5.9

Kiểm tra lại thông tin bằng cách sử dụng lệnh:

bash (root)
wg show wg0
Kết quả
interface: wg0
  public key: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  private key: (hidden)
  listening port: 51820

peer: BZpCx5Adhy+VfJdfSg7jcMEykgNwHpgGv1Db4UI51Qw=
  endpoint: 103.97.125.173:43958
  allowed ips: 192.168.5.9/32
  latest handshake: 1 day, 13 hours, 3 minutes, 53 seconds ago
  transfer: 2.29 KiB received, 4.43 KiB sent

Lưu lại cấu hình:

bash (root)
wg-quick save wg0

Như vậy cấu hình sẽ được lưu lại trong file wg0.conf của hệ thống, trong trường hợp hệ thống khởi động lại, cấu hình sẽ không bị mất đi.

Chúng ta đã hoàn tất quá trình cài đặt WireGuard VPN Client Window và cho phép VPN Client kết nối ở phía Server

WireGuard Client trên MacOS

Tiến hành tìm kiếm và tải WireGuard về máy thông qua appstore

Tiến hành bật WireGuard và chọn Manage tunnels tại biểu tượng của WireGuard trên menubar:

Bấm vào biểu tượng dấu + và chọn Add empty tunnel..

Một cửa sổ mới sẽ hiện ra, có sẵn 1 số thông tin như sau, private key và public key sẽ được hệ thống tự động tạo ra:

Điền các thông tin cấu hình như:

PrivateKey: Private Key giữ nguyên

Address: IP mà client sẽ sử dụng để kết nối với server.

Publickey: Public key của WireGuard server, có thể xem bằng lệnh wg trên server.

Endpoint: IP: port – IP public và port của WireGuard server.

AllowedIPs: Các dải IP sẽ được route để đi qua VPN, trong trường hợp bạn muốn toàn bộ traffic của client qua VPN, bạn có thể để thành 0.0.0.0/0.

vpn-new.conf

[Interface] ## This Desktop/client's private key ## PrivateKey = cJzxLAFjXQmPd2rZGFOHmKqEiVjG/qnDdpQr8zwKB1M= ## Client ip address ## Address = 192.168.5.5/24 [Peer] ## Ubuntu 20.04 server public key ## PublicKey = dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms= ## set ACL ## AllowedIPs = 192.168.5.0/24 ## Your Ubuntu 20.04 LTS server's public IPv4/IPv6 address and port ## Endpoint = 103.97.125.178:51820 ## Key connection alive ## PersistentKeepalive = 15

Chọn save sau khi hoàn tất. Để kết nối chúng ta tiến hành lick vào nút Activate

Sau khi đã thiết lập kết nối VPN hoàn tất ở phía client chúng ta cần thực hiện thiết lập cho phép VPN Client kết nối ở phía Server:

Trên WireGuard server, chạy câu lệnh sau với các thông số:

Client Public Key: Public key được tạo ra bởi WireGuard client.

Allowed-ips: Chỉ cho phép IP nào đó của Client được kết nối với Server ứng với public key được cấu hình.

bash (root)
wg set wg0 peer <Client Public Key> allowed-ips <client ip address>

Trong ví dụ này ta chạy lệnh:

bash (root)
wg set wg0 peer phKm8e3dNO3n8x4Q8Lnq64mPhavOCOdK6PQnvUtqPgE= allowed-ips 192.168.5.5

Kiểm tra lại thông tin bằng cách sử dụng lệnh:

bash (root)
wg show wg0
Kết quả
interface: wg0
  public key: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  private key: (hidden)
  listening port: 51820

peer: phKm8e3dNO3n8x4Q8Lnq64mPhavOCOdK6PQnvUtqPgE=
  endpoint: 27.75.164.127:53907
  allowed ips: 192.168.5.5/32
  latest handshake: 2 days, 2 hours, 22 minutes, 30 seconds ago
  transfer: 628 B received, 508 B sent

Lưu lại cấu hình:

bash (root)
wg-quick save wg0

Như vậy cấu hình sẽ được lưu lại trong file wg0.conf của hệ thống, trong trường hợp hệ thống khởi động lại, cấu hình sẽ không bị mất đi.

Chúng ta đã hoàn tất quá trình cài đặt WireGuard VPN Client MacOS và cho phép VPN Client kết nối ở phía Server

WireGuard Client trên iOS (Iphone)

Truy cập Appstore, tìm kiếm và cài đặt app WireGuard

Truy cập app WireGuard sau khi cài đặt, và chọn Add a tunnel

Chọn Create from Scratch

Điền các thông tin:

Name: Tên của cấu hình

Chọn Generate keypair để hệ thống tự tạo 1 cặp private, public key. Ta cần lưu thông tin public key được tạo ở bước này để cấu hình trên server.

Address: IP mà client sẽ sử dụng để kết nối với server.

DNS: DNS mà hệ thống sẽ sử dụng.

Chọn Add peer để tạo cấu hình kết nối tới WireGuard VPN server.

Điền các thông tin sau và chọn save khi hoàn tất:

Public key: Nhập public key của WireGuard server.

Endpoint: Nhập theo dạng IP:port với IP public và port của WireGuard server.

Allowed IPs: Các dải IP sẽ được route để đi qua VPN, trong trường hợp bạn muốn toàn bộ traffic của client qua VPN, bạn có thể để thành 0.0.0.0/0. Trong trường hợp này chỉ sử dụng VPN để kết nối tới dải IP private của server, do đó ta chỉ Allow dải IP private và dải IP của WireGuard.

Sau khi thiết lập hoàn tất nhấn Save để có thể lưu cấu hình VPN, và tiến hành kết nối VPN như sau:

Sau khi đã thiết lập kết nối VPN hoàn tất ở phía client chúng ta cần thực hiện thiết lập cho phép VPN Client kết nối ở phía Server:

Trên WireGuard server, chạy câu lệnh sau với các thông số:

Client Public Key: Public key được tạo ra bởi WireGuard client.

Allowed-ips: Chỉ cho phép IP nào đó của Client được kết nối với Server ứng với public key được cấu hình.

bash (root)
wg set wg0 peer <Client Public Key> allowed-ips <client ip address>

Trong ví dụ này ta chạy lệnh:

bash (root)
wg set wg0 peer hBbPe1X+FpUhuLjAuy/UDkDIVBdbRo1EJr498kgo7SA= allowed-ips 192.168.5.6

Kiểm tra lại thông tin bằng cách sử dụng lệnh:

bash (root)
wg show wg0
Kết quả
interface: wg0
  public key: dkINCJa6QJu9FKezDr8+2BZlab5Rdu85JxwTZksg3ms=
  private key: (hidden)
  listening port: 51820

peer: hBbPe1X+FpUhuLjAuy/UDkDIVBdbRo1EJr498kgo7SA=
  endpoint: 27.75.164.127:65254
  allowed ips: 192.168.5.6/32
  latest handshake: 1 day, 13 hours, 22 minutes, 20 seconds ago
  transfer: 38.17 KiB received, 8.82 KiB sent

Lưu lại cấu hình:

bash (root)
wg-quick save wg0

Như vậy cấu hình sẽ được lưu lại trong file wg0.conf của hệ thống, trong trường hợp hệ thống khởi động lại, cấu hình sẽ không bị mất đi.

Chúng ta đã hoàn tất quá trình cài đặt WireGuard VPN Client Iphone và cho phép VPN Client kết nối ở phía Server

Cấu hình NAT WireGuard

Chúng ta cần định cấu hình NAT để cho phép WireGuard Client truy cập Internet. Ở đây chúng ta sẽ sử dụng IPtables cấu hình NAT rule để WireGuard VPN phía client có thể ra internet bằng IP Public của WireGuard VPN Server.

Thiết lập NAT rules Server

Đối với IPv4, chúng ta đặt các biến Linux kernel sau để chấp nhận các gói mạng đến trên wg0, được chuyển đến một giao diện mạng khác ens3. Cần thực hiện như sau:

bash (root)
sysctl -w net.ipv4.ip_forward=1

Cập nhật file cấu hình WireGuard để hỗ trợ firewall và định tuyến. Bằng cách thêm 2 dòng sau vào file cấu hình tại /etc/wireguard/wg0.conf

/etc/wireguard/wg0.conf
PostUp = /etc/wireguard/helper/add-nat-routing.sh
PostDown = /etc/wireguard/helper/remove-nat-routing.sh

Kết quả như sau:

Kết quả
[Interface]
Address = 192.168.5.1/24
PostUp = /etc/wireguard/helper/add-nat-routing.sh
PostDown = /etc/wireguard/helper/remove-nat-routing.sh
ListenPort = 51820
PrivateKey = ECjaouFfJifc4Px7QVLmtUaLQ7Yr+...

Tạo script NAT rules Server

Chúng ta sẽ tiến hành tạo thư mục helper tại /etc/wireguard/ bằng lệnh bên dưới:

bash (root)
mkdir -v /etc/wireguard/helper/

Thực hiện tạo 2 file /etc/wireguard/helper/add-nat-routing.sh/etc/wireguard/helper/remove-nat-routing.sh bằng lệnh sau:

bash (root)
touch /etc/wireguard/helper/add-nat-routing.sh
touch /etc/wireguard/helper/remove-nat-routing.sh

Tiến hành thêm nội dung sau vào file /etc/wireguard/helper/add-nat-routing.sh:

/etc/wireguard/helper/add-nat-routing.sh
#!/bin/bash
IPT="/sbin/iptables"

IN_FACE="ens3"                   # NIC connected to the internet
WG_FACE="wg0"                    # WG NIC
SUB_NET="192.168.5.0/24"            # WG IPv4 sub/net aka CIDR
WG_PORT="51820"                  # WG udp port

## IPv4 ##
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -I INPUT 1 -i $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT

Tiến hành thêm nội dung sau vào file /etc/wireguard/helper/remove-nat-routing.sh:

/etc/wireguard/helper/remove-nat-routing.sh
#!/bin/bash
IPT="/sbin/iptables"

IN_FACE="ens3"                   # NIC connected to the internet
WG_FACE="wg0"                    # WG NIC
SUB_NET="192.168.5.0/24"            # WG IPv4 sub/net aka CIDR
WG_PORT="51820"                  # WG udp port

# IPv4 rules #
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -D INPUT -i $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT

Sau khi đã tạo 2 file trên chúng ta cần cấp quyền thực thi để có thể sử dụng:

bash (root)
chmod -v +x /etc/wireguard/helper/*.sh

Tiến hành tạo file /etc/sysctl.d/10-wireguard.conf bằng trình soạn thảo văn bản yêu thích. Sau đó thêm vào nội dung sau:

/etc/sysctl.d/10-wireguard.conf
net.ipv4.ip_forward=1

Khởi động lại dịch vụ wg0.service để áp dụng các cấu hình mới vừa thiết lập và bật NAT routing:

bash (root)
sysctl -p /etc/sysctl.d/10-wireguard.conf
systemctl restart wg-quick@wg0.service

Chỉnh sửa file cấu hình WireGuard Client

Tiến hành chỉnh sửa file cấu hình ở phía WireGuard Client tại phần AllowedIPs như bên dưới để cho toàn bộ traffic của client sẽ đi qua VPN.

vpn-new.conf
AllowedIPs = 0.0.0.0/0

Sau đó tiến hành lưu lại file cấu hình và tiến hành thực hiện kết nối VPN. Thực hiện kiểm tra IP sau khi kết nối VPN có phải là IP public của WireGuard Server VPN không tại link

Đây chính là IP public của WireGuard Server như vậy là quá trình cấu hình NAT thành công, toàn bộ kết nối của bạn khi đi ra Internet sẽ được truyền mã hóa và bảo mất đến WireGuard VPN Server rồi mới đi ra Internet, vì thế khi truy cập Internet thì bạn chỉ để lại dấu vết là địa chỉ IP Public của WireGuard VPN Server và địa chỉ IP Public thật của đường truyền Internet nhà bạn sẽ được giấu đi.

Bài viết trên đã hoàn tất việc cấu hình và kết nối tới WireGuard VPN server.

Chúc các bạn thành công!


Bạn có làm được theo hướng dẫn này không?

Object Storage

Chuẩn S3, không giới hạn băng thông

Object Storage

Thuê Server Riêng

Chi phí thấp, cấu hình cao

Thuê Server Riêng
Thông tin tác giả
Bình luận

Tính năng đang được phát triển

Đang tải bình luận