Nếu bạn sử dụng VPN, rất có thể nó sẽ chạy bằng OpenVPN hoặc IPsec, vốn là những tiêu chuẩn thống trị trong một thời gian dài. Tuy nhiên, WireGuard đang thay đổi mọi thứ.
1. WireGuard là gì?
WireGuard là một VPN đơn giản, nhanh chóng và hiện đại. Sử dụng mật mã hiện đại đồng thời hướng tới mục tiêu nhanh hơn, đơn giản hơn và hữu ích hơn IPsec.
Bước 1: Cài đặt WireGuard
$ sudo apt update
$ sudo apt install wireguard
Bước 2: Tạo khóa cá nhân
$ wg genkey | sudo tee /etc/wireguard/private.key
Tạo public key:
$ sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
Bước 3: Chọn Địa chỉ IPv4 và (hoặc) IPv6
Bạn sẽ cần chọn một dải IP. Trong ví dụ này, chúng tôi sẽ sử dụng phạm vi 192.168.0.0
– 192.168.255.255
.
Bước 4: Tạo tệp cấu hình máy chủ WireGuard
Mở tệp sau bằng trình soạn thảo văn bản mà bạn chọn. Trong ví dụ này, chúng tôi sẽ sử dụng nano.
$ sudo nano /etc/wireguard/wg0.conf
Viết như sau.
[Interface]
PrivateKey = serves_generated_private_key
Address = 192.168.1.1/24
ListenPort = 51820
SaveConfig = true
Lưu các tập tin.
Bước 5: Điều chỉnh cấu hình mạng máy chủ.
Để cấu hình chuyển tiếp, chúng ta cần thêm một dòng vào file: /etc/sysctl.conf.
$ sudo nano /etc/sysctl.conf
Thêm phần sau vào cuối tệp.
net.ipv4.ip_forward=1
Nếu bạn đang sử dụng IPv6, bạn có thể thêm phần sau vào cuối tệp.
net.ipv6.conf.all.forwarding=1
Để đọc và tải các giá trị mới của phiên đầu cuối hiện tại của bạn, hãy chạy lệnh sau.
$ sudo sysctl -p
Đầu ra:
net.ipv4.ip.forward = 1
hoặc là
net.ipv6.conf.all.forwarding = 1
Tùy thuộc vào sự lựa chọn của bạn về cấu hình.
Bước 6: Cấu hình tường lửa máy chủ.
Chúng ta cần tìm giao diện mạng công cộng của máy chủ. Chúng ta có thể làm điều đó bằng cách chạy lệnh sau.
$ ip route list default
Đầu ra
default via XXX.XXX.XXX.XXX dev eth0 onlink
Trong trường hợp eth0
là giao diện của mạng công cộng.
Chúng tôi sẽ thêm giao diện này vào quy tắc bảng ip.
Mở tệp cấu hình.
$ sudo nano /etc/wireguard/wg0.conf
Ở cuối tệp. Thêm những điều sau:
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 PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Tùy thuộc vào lựa chọn IP của bạn, bạn có thể xóa quy tắc IPv4 hoặc IPv6. Các quy tắc PostUp sẽ chạy khi máy chủ khởi động virtual VPN. Các quy tắc PostDown sẽ chạy khi máy chủ dừng virtual VPN.
Phần cuối cùng của cấu hình tường lửa là cho phép lưu lượng đến và đi từ cổng WireGuard UPD. Cổng mà chúng ta sẽ cần mở là 51820
. Nếu bạn đã chọn một cổng khác, hãy đảm bảo sử dụng cổng đó trong lệnh sau.
$ sudo ufw allow 51280/udp
Sau khi thêm các quy tắc, chúng ta cần tắt và bật lại UFW.
$ sudo ufw disable $ sudo ufw enable
Bạn có thể kiểm tra xem tất cả các quy tắc có được áp dụng chính xác hay không bằng cách thực hiện lệnh sau.
$ sudo ufw status
Đầu ra
To Action From
-- ------ ----
51820/udp ALLOW Anywhere
OpenSSH ALLOW Anywhere
51820/udp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Bước 7: Khởi động Máy chủ WireGuard.
Chúng ta có thể kích hoạt dịch vụ WireGuard để khởi động khi khởi động.
$ sudo systemctl enable wg-quick@wg0.service
Hãy bắt đầu dịch vụ.
$ sudo systemctl start wg-quick@wg0.service
Đảm bảo rằng dịch vụ đang hoạt động khi đang chạy. Bạn có thể kiểm tra điều này bằng cách chạy lệnh sau.
$ sudo systemctl status wg-quick@wg0.service
Bước 8: Định cấu hình ứng dụng khách WireGuard trên MacOS và Windows 10 Trong ví dụ này, chúng tôi đang sử dụng ứng dụng khách Mac Os.
Đối với MacOS, bạn có thể tải xuống ứng dụng từ App Store. Chỉ cần tìm kiếm WireGuard. Sau khi tải xuống ứng dụng, bạn có thể khởi động nó.
Ở góc trái của màn hình, bạn sẽ thấy một dấu +. Nhấp vào nó và chọn tùy chọn Add Empty Tunnel.
Bạn sẽ thấy rằng nó đã tạo public key và khóa riêng cho hệ thống khách hàng của bạn. Tuy nhiên, chúng ta vẫn cần thêm một số quy tắc vào tệp. Thêm các dòng sau vào tệp của bạn.
[Interface]
PrivateKey = YOUR_CLIENTS_PRIVATE_KEY
Address = 192.168.1.10/24
DNS = 8.8.8.8, 8.8.4.4
[Peer]
PublicKey = YOUR_SERVERS_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = YOUR_SERVERS_WAN_IP:51820
Hình ảnh sẽ hiẻn thị như thế này:
Đặt tên cho tệp và nhấp vào lưu. Bạn có thể nhận được thông báo cho biết “WireGuard” Would like to Add VPN Configurations nhấn Allow.
Chạy lệnh sau để cho biết máy chủ bây giờ là khách hàng.
$ sudo wg set wg0 peer YOUR_CLIENTS_PUBLIC_KEY allowed-ips 192.168.1.10
Bây giờ hãy kích hoạt tunnel trên thiết bị khách của bạn và kiểm tra kết nối. Bạn có thể kiểm tra kết nối bằng cách ping từ máy chủ đến máy khách và quay lại.
2. Kết luận:
OK vậy là bài viết này mình đã hướng dẫn xong cho các bạn “Cách thiết lập WIREGUARD trên máy chủ UBUNTU 20.04” – Nếu bạn nào chưa có VPS Ubuntu thì có thể tham khảo dịch vụ VPS này: https://inet.vn/vps
Leave a Reply