Một trong những tính năng hữu ích nhất của Cloud VPS miễn phí là thiết lập VPN cá nhân để sử dụng trong những lúc “cá mập cắn cáp quang”, cải thiện tốc độ truy cập mạng quốc tế. Bài viết này mình sẽ hướng dẫn cách thiết lập VPN miễn phí sử dụng Cloud VPS miễn phí của Oracle.

I. Tạo Cloud VPS miễn phí

Oracle đang có chương trình Free Tier cung cấp Cloud VPS miễn phí trọn đời. Bạn có thể tạo tối đa 6 VPS miễn phí trên nền tảng của Oracle.

Bạn có thể tham khảo các bước hướng dẫn dưới đây để tạo cho mình 1 Cloud VPS miễn phí:

  1. Tạo tài khoản Oracle Cloud Free Tier
  2. Tạo máy ảo miễn phí Oracle Cloud VPS
  3. Cấu hình căn bản máy ảo Oracle Cloud VPS

Chú ý:

  • Bạn nên ưu tiên tạo máy ảo A1.Flex (ARM) vì nó có băng thông mạng tốt hơn (500Mbps). Máy ảo E2.1.Micro (AMD) bị giới hạn băng thông chỉ 50Mbps, chỉ nên dùng trong trường hợp bất khả kháng không tạo được máy ảo ARM.
  • Hệ điều hành của máy ảo: Ubuntu 20.04

II. Cài đặt Docker

Mình sẽ tạo VPN server sử dụng WireHole-UI, công cụ tạo WireGuard VPN Server tích hợp tính năng chặn quảng cáo của Pi-Hole. WireHole-UI hoạt động trên nền Docker-Compose. Do đó bạn cần phải cài đặt Docker trước khi bắt đầu.

III. Cài đặt Wirehole-UI

Cài đặt WireHole-UI theo hướng dẫn chi tiết dưới đây

IV. Cấu hình Firewall

Để có thể kết nối đến WireGuard VPN Server trên máy ảo của Oracle, bạn cần thực hiện thêm thao tác cấu hình Firewall để mở cổng 51820 và 51821

Mặc định các máy ảo của Oracle chỉ mở kết nối đến cổng 22. Muốn kết nối VPN đến máy ảo bạn cần phải cấu hình Firewall để mở thêm 2 cổng 58120 và 51821.

Mình sử dụng ufw để cấu hình Firewall cho máy ảo. Các bạn có thể thiết lập nhanh gọn lẹ bằng lệnh sau

sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 51820
sudo ufw allow 51821
sudo ufw enable
Code language: YAML (yaml)

Nếu muốn hiểu rõ hơn về UFW, bạn tham khảo bài viết này

V. Cấu hình Security List

Ngoài việc cấu hình Firewall trên máy ảo, bạn còn phải thực hiện thêm bước mở port của Security List trong hệ thống mạng của Oracle. Bạn cần mở port 51820 và 51821 theo hướng dẫn dưới đây

Lưu ý chọn đúng Protocol:

  • Port 51820: UDP
  • Port 51821: TCP

Sau khi thiết lập xong, bạn sẽ thấy danh sách có thêm 2 cổng 51820 và 51821 như dưới đây

VI. Kiểm tra thành quả

Nếu thực hiện chính xác theo các bước mình đã hướng dẫn ở trên, bạn đã có 1 VPN Server sẵn sàng phục vụ bất cứ lúc nào. Nhờ được tích hợp thêm Pi-Hole trên Server nên khi kết nối qua VPN, bạn còn được tận hưởng thêm tính năng chặn quảng cáo.

Test thử tốc độ kết nối mạng qua VPN Server: tốc độ ngon lành cành đào!

Chúc bạn thiết lập VPN thành công!

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 *


24 Comments

  1. Chào bạn,

    các bài viết của bạn rất hay và bổ ích, mình làm theo bài này, mà tới bước xuất ra profile của wireguard xong kết nối tới vpn server bằng wireguard client thì không có internet (chỉ có sent, không receiver), các bước cài đặt đã làm đủ hết, cả việc mở port trong security list (không thấy báo lỗi gì), thành ra không tới được bước cấu hình pi-hole, chưa rõ bị sao nữa.

    1. Bạn kiểm tra kỹ lại xem mục trong file docker-compose đã thiết lập đúng chưa: (- WG_HOST / – WG_PORT), và kiểm tra lại phần cấu hình Security list và UFW. Có thể sai lỗi nào dó mới không kết nối được.

      1. Chào bạn,

        Mình đã kiểm tra lại mấy lần rồi mà vẫn chưa tìm ra nguyên nhân:

        1. Trong Security list và UFW: đã mở port 58120 và 58121
        2. Trong file docker-compose:
        – WG_HOST= (đã chỉnh về ip public của server)
        – WG_PORT= 51820

        1. Thay vì dùng Wirehole-UI, bạn đổi qua chỉ chạy wg-easy xem sao. Cái Wirehole-UI phải chú ý thay đổi image: “mvance/unbound-rpi:latest hoặc image: “mvance/unbound:latest tuỳ theo VPS chạy ARM / AMD, nếu sai sẽ không chạy được. chúc bạn sớm tìm ra lỗi.

    1. Mình đã từng thử kết hợp WireGuard với AdGuard Home nhưng nó không chạy được (truy cập vô VPN được, nhưng nó không chặn quảng cáo được), hiện tại chỉ có cách kết hợp WireGuard + Pi-Hole bằng WireHole-UI thôi.

  2. Chào bác
    E làm theo hướng dẫn của bác chạy trên PC thì ok r
    Nhưng khi setup trên router chạy openwrt thì handshake ok, status offline
    Thành ra k connect đc, k biết trên sv cần setting gì cho openwrt check nữa k bác nhỉ

  3. Hi. wg-easy rất thuận tiện như tên bạn vậy, bài viết cũng rất chi tiết. Nhưng mình cần allowed từng dải IP với các client khác nhau, mà không tìm được cách setup trong wg-easy. con này lại chạy bằng docker nên không can thiệp được gì vào file config của nó. bạn có cách nào không?
    Nếu sử dụng wg và wg-quick để setup wireguard, thì nó mãi không chạy trên oracle cloud, mình chưa biết tại sao, bạn từng làm việc này chưa chia sẻ cho mình vài lưu ý.
    Tks

    1. Bạn có thể dùng lệnh docker exec -it /bin/bash để truy cập vào command line của Docker Container và chỉnh lại thông số. Các cách thiết lập WG khác mình chưa thử trên Oracle Cloud nên không biết nhé.

  4. Chào bạn. Mình làm theo hướng dẫn của bạn và đã kết nối được VPN. Tuy nhiên mình gặp vấn đề về DNS:
    1. Không tuy cập vào Pi-hole theo external-IP/admin được.
    2. Phải đổi DNS server (ví dụ 1.1.1.1) ở trong WireGuard Interface phía Client thì mới truy cập được internet được bằng domain name.
    Mình không đăng ký được ORACLE Cloud nên mình đang dựng VM trên GCP.

    Cảm ơn bạn rất nhều!

        1. Bạn thử dùng iPhone hay máy tính khác và tạo WireGuard client mới xem có được không. Trước giờ mình chỉ tạo WireGuard client rồi cứ thế dùng bình thường, chưa bị lỗi bao giờ.

        1. Mình mới phát hiện ra lỗi DNS không hoạt động là do file config unbound.conf không tương thích với bản unbound mới. Pi-Hole lại được chỉnh dùng DNS của unbound nên DNS chạy. Hiện tại đã cập nhật lại config mới để hoạt động được ngay, không cần phải tick Upstream DNS nữa. Cám ơn bạn đã báo lỗi và mời bia.

  5. Chào bạn , các bài viết của bạn rất hay . Mình cũng ko phải dân công nghệ, nghe bạn bè cũng tạo đc 1 cái vps miễn phí của Oracle , mình đang muốn biến vps thành proxy server , mình đã mở port trên dashboard oracle và trong firewall của ubuntu, mình đã xem hướng dẫn từ video , gg để cài đặt squid , tinyproxy mà ko thành công, mình check thì port đã mở . Nếu được bạn trợ giúp hoặc có bài viết về Proxy server thì tốt quá. Mong nhận đc hồi âm từ bạn, chúc bạn nhiều sk và thành công