Tên miền trỏ về máy tính nhà

Nội dung

    Nếu không có tên miền thì dùng no-ip làm là nhanh nhất, nhưng phải theo dõi mail báo gia hạn tên miền. Còn có tên miền rồi thì dùng cách ClouFlare cho đảm bảo chứ một số nhà cung cấp tool Việt Nam như pavietnam để update lên DNS thì đừng chớ mong gì.

    Dùng CloudFlare cập nhật DNS

    CloudFlare có mạng lưới máy chủ toàn cầu (có cả Việt Nam) phục vụ cho DNS nên lúc nào cũng đảm bảo thời gian look-up cực nhanh khi truy cập từ mọi nơi trên thế giới. Hơn nữa, tốc độ cập nhật DNS ở đây gần như là ngay lập tức luôn.

    1. Đăng ký tài khoản CloudFlare

    Để dùng được CloudFlare, bạn cần phải có một tài khoản. Thủ tục đăng ký rất nhanh gọn.
    – Đầu tiên bạn truy cập vào //www.cloudflare.com, click Sign Up

    – Thông tin đăng ký chỉ cần nhập Email và Password là xong.

    – Đăng ký xong, bạn hãy Login để sử dụng.

    2. Thêm Website vào CloudFlare

    2.1. Add Site
    – Đầu tiên bạn click link Add a Site để thêm website mới vào hệ thống CloudFlare.
    – Nhập tên miền rồi click Add Site.

    Bạn có thể thêm nhiều tên miền cùng một lúc, hãy nhấn vào Learn how. Sau khi được chuyển sang tab mới, đọc và làm theo hướng dẫn cụ thể nhé.

    2.2. Lựa chọn Plan
    CloudFlare có khá nhiều plan với các chức năng cao cấp, tuy nhiên chúng ta chỉ cần dùng Free là đủ rồi.

    – Chọn Free rồi nhấn Confirm Plan.

    – Đợi vài giây để CloudFlare scan toàn bộ các bản ghi hiện có. Đây là một chức năng rất hay, bạn không cần tốn thời gian để chuyển các bản ghi DNS cũ sang nữa.

    2.3. Xác nhận các bản ghi cho tên miền
    – Nếu tên miền đang hoạt động, toàn bộ các bản ghi sẽ được CloudFlare quét và hiển thị bên dưới, hầu hết đều chuẩn nên bạn chỉ cần duyệt qua mà thôi.

    – Có thể xuất hiện trường hợp không có bản ghi nào cả, nếu tên miền vừa được đăng ký xong.

    Bạn có thể cập nhật các bản ghi ngay bây giờ hoặc cập nhật sau, ở bước III. Quản lý DNS mình có nói chi tiết bên dưới.
    Nhấn nút Continue để tiếp tục.

    2.4. Trỏ Name servers về CloudFlare
    Cuối cùng, CloudFlare cung cấp 2 bản ghi Name servers, hãy trỏ tên miền về Name servers mới này. Nhấn Done, check nameservers để hoàn tất.

    Bước tiếp theo là một số gợi ý tối ưu website (Quick Start Guide) của CloudFlare, bạn có thể tham khảo thêm hoặc nhấn Summary > Finish để hoàn tất.

    Đợi một lúc chờ tên miền cập nhật Name servers xong thì CloudFlare sẽ tự động gửi một email thông báo thành công. Tên miền đã xuất hiện trong tài khoản của bạn và có Status là Active.

    Vậy là xong, website hoạt động rồi đó.

    Xem thêm series: Hướng dẫn quản lý tên miền để thay đổi Nameserver.

    3. Quản lý DNS

    Đây là thao tác quan trọng nhất khi sử dụng CloudFlare bạn phải nắm vững.

    Nếu muốn thay đổi các bản ghi của tên miền, sau khi đăng nhập, bạn hãy click vào tên miền muốn sửa. Giao diện chính sẽ xuất hiện như sau:

    Giao dien chinh CloudFlare

    Nhấn vào link DNS ở hàng trên cùng, bạn sẽ thấy tất cả các bản ghi DNS như ở bước 2 bên trên.

    Click bản ghi tương ứng để hiện thông tin và cập nhật hoặc xóa bỏ. Để website có thể hoạt động được bạn sẽ cần ít nhất 2 bản ghi như hình bên dưới, trong đó bản ghi loại A trỏ về IP, còn bản ghi CNAME trỏ về địa chỉ domain.

    Với trạng thái Proxy status,

    Đám mây màu vàng + Proxied: kích hoạt các chức năng miễn phí của CloudFlare như CDN, ẩn IP gốc, Firewall chống DDoS…
    Đám mây màu xám + DNS only: tắt toàn bộ chức năng của CloudFlare, chỉ dùng làm DNS.
    Để thay đổi trạng thái Proxy, bạn chọn dòng có record tương ứng và click biểu tượng đám mây rồi nhấn nút Save.
    Do mình không thích sử dụng CDN nên thường chọn Off CloudFlare, tắt hết các service đi, chỉ dùng làm DNS trung gian mà thôi. Khi gặp vấn đề mới bật lên để dùng Firewall hạn chế DDoS. Tuy nhiên, mình khuyên các bạn nên bật các service.
    Một số nhà mạng trong nước cấm Blogspot không truy cập được, khi bật Proxy bạn sẽ dễ dàng vượt qua. Xem thêm hướng dẫn cài đặt tên miền cho Blogspot.

    Tạo subdomain
    Nếu muốn thêm subdomain, bạn hãy nhấn nút + Add record nhập bản ghi A với Name là subdomain cần tạo và IPv4 nhập vào địa chỉ IP muốn trỏ đến, chọn trạng thái Proxy, rồi click Save là được.

    Nếu muốn tạo wildcard record subdomain (tất cả subdomain mặc định trỏ về 1 IP), trong ô Name bạn hãy điền ký tự *.

    4. Kích hoạt các dịch vụ nâng cao

    Ngoài chức năng căn bản DNS trung gian, CloudFlare còn có một số chức năng nâng cao nữa như Firewall, CDN (trong phần Caching), Free SSL (trong phần Crypto), Minify (trong phần Speed), URL Forwarding (trong phần Page Rules)… Để sử dụng được bạn phải kích hoạt đám mây màu vàng Proxy với record chính trỏ về IP và record www.

    Firewall và CDN mặc định sẽ được kích hoạt nếu các bản ghi được bật đám mây màu vàng Proxied.

    4.1. SSL/TLS – Chứng chỉ SSL miễn phí
    CloudFlare cung cấp dịch vụ SSL miễn phí, thao tác cài đặt vô cùng đơn giản, tự động gia hạn, đơn giản hơn cả dùng Let’s Encrypt luôn. Tất cả thao tác trong tab SSL/TLS.

    Các loại certificate ở CloudFlare như sau:

    Flexible: cung cấp SSL miễn phí, nhưng dữ liệu gửi từ CloudFlare về máy chủ sẽ không được mã hóa. Bạn không cần cài chứng chỉ SSL trên server. Sau vài click là chạy, tất cả các loại website đều sử dụng được. Nên dùng nếu bạn chưa có nhiều kinh nghiệm.
    Full: dữ liệu từ CloudFlare gửi về máy chủ sẽ được mã hóa, do đó bạn phải có một chứng chỉ SSL được cài đặt trước trên server. Có thể sử dụng chứng chỉ tự ký, hoặc tạo chứng chỉ của CloudFlare.
    Full (strict): tương tự kiểu Full nhưng CloudFlare sẽ xác thực chứng chỉ này, chứng chỉ của bạn phải mua hoặc sử dụng Let’s Encrypt.
    Mình sẽ hướng dẫn các bạn kích hoạt Flexible SSL, dùng miễn phí luôn.

    – Ở menu trên cùng, bạn nhấn vào biểu tượng SSL/TLS, sau đó chọn Flexible ở dòng SSL ngay phía dưới:

    Đợi một lúc để CloudFlare cập nhật là bạn có thể truy cập thẳng vào đường dẫn //domain.com, nếu truy cập được là thành công.

    – Tiếp theo, bạn hãy vào tab Edge Certificates bên dưới SSL/TLS, kích hoạt dòng Always Use HTTPS thành On để CloudFlare tự động redirect link http sang https.

    – Lần đầu truy cập có thể gặp lỗi vỡ giao diện, hoặc không hiển thị thanh địa chỉ màu xanh, nguyên nhân do chúng ta chưa chỉnh toàn bộ link bài viết, ảnh, file css, file js từ http sang https.

    Nếu bạn dùng WordPress, hãy cài đặt và kích hoạt plugin Really Simple SSL để tự động chuyển toàn bộ link http sang https, xóa cache nếu cần thiết nữa.

    Chi tiết hướng dẫn cài plugin bạn có thể xem ở bài hướng dẫn cài đặt Let’s Encrypt.

    Nếu không muốn dùng thêm plugin, để tự động chuyển toàn bộ link http sang https, thêm đoạn code sau lên trên cùng của file wp-config.php:

    # SSL
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS']='on';

    4.2. Page Rules: URL Forwarding – Redirect tên miền
    Page Rules là chức năng dùng để tạo link redirect của CloudFlare. Mỗi tên miền được tạo tối đa 3 rule free.

    Trong ví dụ này mình sẽ redirect tên miền canhme.net sang canhme.com mà không cần hosting, chỉ cần dùng name server của CloudFlare.

    Bạn hãy click vào biểu tượng Page Rules ở menu trên cùng rồi chọn Create Page Rule và điền thông tin tương tự như sau:

    Rule trên sẽ redirect luôn cả những trang con nữa, ví dụ //canhme.net/godaddy/ sẽ tự động chuyển thành //canhme.com/godaddy/

    Nhấn Save and Deploy để lưu lại.

    – Tạo thêm một rule nữa với URL là www.canhme.net, kết quả cuối cùng của bạn sẽ tương tự như sau:

    Đợt vài giây để CloudFlare cập nhật là bạn có thể kiểm tra ngay kết quả rồi đó.

    5. Một số vấn đề khi sử dụng CloudFlare

    5.1. Lấy IP gốc visitor
    Với Shared Hosting, các bạn không có quyền can thiệp nhiều vào hệ thống. Để lấy IP gốc của visitor thay vì IP proxy của CloudFlare, chỉ có duy nhất cách cài plugin tương ứng với hệ thống CMS đang sử dụng bên dưới:
    WordPress Plugin: hiển trị IP thật của người dùng khi truy cập, ngoài ra plugin này còn hỗ trợ optimize database và trực tiếp report spam users từ blog.
    Joomla Extension: hiển trị IP thật của người dùng khi truy cập, ngoài ra không có thêm chức năng nào khác.
    Drupal Extension: hiển trị IP thật của người dùng khi truy cập, ngoài ra không có thêm chức năng nào khác.
    Nếu dùng VPS/Server với Nginx hoặc Webserver khác, hãy tham khảo hướng dẫn Lấy IP thật khi dùng CloudFlare trên blog Học VPS.

    5.2. File bị cache nội dung quá lâu
    Nội dung những file .css, .js thường được CloudFlare cache khá lâu trên server, dẫn đến tình trạng dở khóc dở cười khi bạn đã thay đổi nội dung mà F5 refresh mãi vẫn ra nội dung cũ.

    Theo hướng dẫn từ CloudFlare, bạn có thể sử dụng tên file có chứa version, ví dụ style-05.css hoặc styles.css?v=1234 hoặc xóa cache trong tab Caching > Configuration.

    Custome Purge: và nhập danh sách đường dẫn từng file muốn xóa.
    Purge Everything để xóa toàn bộ cache luôn.
    Chờ một lúc rồi quay trở lại trình duyệt và nhấn F5 một lần nữa, bạn sẽ thấy nội dung mới sẽ xuất hiện.

    5.3. Tắt CloudFlare trong WP-Admin hoặc trang quản trị
    Trong một số ít trường hợp, CloudFlare sẽ gây ra lỗi khi thao tác trong trang quản trị WP-Admin chẳng hạn, khi đó bạn cần tắt CloudFlare đi với những khu vực không cần thiết. Thực hiện điều này bằng cách thao tác trong tab Page Rules. Tài khoản Free add được tối đa 3 rule thôi nhé.

    Nhấn Create Page Rules, URL bạn điền *canhme.com/wp-admin/*, thay canhme.com bằng địa chỉ của bạn. Setting chọn Cache Level rồi Bypass. Tiếp theo chọn Disable Performance và Disable Security như bên dưới, nhấn Save and Deploy là xong.

    Khi có sẵn tên miền (sử dụng phải là loại trả phí (.com, .net, .org, .me, …), không thể sử dụng các loại tên miền miễn phí (.tk, .ga, .ml, .cf, .gq, …) vì Cloudflare không hỗ trợ.) và đã có tài khoản Cloudflare. //thuanbui.me/cap-nhat-ip-dong-cho-ten-mien-qua-cloudflare-de-truy-cap-homelab-tai-nha/
    Tên miền đã được chuyển về CloudFlare quản lý
    Máy tính / máy ảo chạy Linux (Ubuntu / Arch / CentOS / …) hoặc Raspberry Pi (đời nào cũng được)
    Bạn cần truy cập SSH vào máy tính để thiết lập script.
    Tạo file cloudflare.sh trong thư mục $HOME
    cd ~
    mkdir cloudflare
    cd cloudflare
    nano cloudflare.sh
    Nhập vào nội dung sau:
    #!/bin/bash

    # Forked from benkulbertis/cloudflare-update-record.sh
    # CHANGE THESE

    # API Token (Recommended) #####
    auth_token=”xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

    # Domain and DNS record for synchronization
    zone_identifier=”f1nd7h3fuck1n6z0n31d3n71f13r4l50″ # Can be found in the “Overview” tab of your domain
    record_name=”ipv4.example.org” # Which record you want to be synced

    # DO NOT CHANGE LINES BELOW

    # SCRIPT START
    echo -e “Check Initiated”

    # Check for current external network IP
    ip=$(curl -s4 //icanhazip.com/)
    if [[ ! -z “${ip}” ]]; then
    echo -e ” > Fetched current external network IP: ${ip}”
    else
    >&2 echo -e “Network error, cannot fetch external network IP.”
    fi

    # The execution of update
    if [[ ! -z “${auth_token}” ]]; then
    header_auth_paramheader=( -H ‘”Authorization: Bearer ‘${auth_token}'”‘ )
    else
    header_auth_paramheader=( -H ‘”X-Auth-Email: ‘${auth_email}'”‘ -H ‘”X-Auth-Key: ‘${auth_key}'”‘ )
    fi

    # Seek for the record
    seek_current_dns_value_cmd=( curl -s -X GET ‘”//api.cloudflare.com/client/v4/zones/’${zone_identifier}’/dns_records?name=’${record_name}’&type=A”‘ “${header_auth_paramheader[@]}” -H ‘”Content-Type: application/json”‘ )
    record=`eval ${seek_current_dns_value_cmd[@]}`

    # Can’t do anything without the record
    if [[ -z “${record}” ]]; then
    >&2 echo -e “Network error, cannot fetch DNS record.”
    exit 1
    elif [[ “${record}” == *'”count”:0’* ]]; then
    >&2 echo -e “Record does not exist, perhaps create one first?”
    exit 1
    fi

    # Set the record identifier from result
    record_identifier=`echo “${record}” | sed ‘s/.*”id”:”//;s/”.*//’`

    # Set existing IP address from the fetched record
    old_ip=`echo “${record}” | sed ‘s/.*”content”:”//;s/”.*//’`
    echo -e ” > Fetched current DNS record value : ${old_ip}”

    # Compare if they’re the same
    if [ “${ip}” == “${old_ip}” ]; then
    echo -e “Update for A record ‘${record_name} (${record_identifier})’ cancelled.\\n Reason: IP has not changed.”
    exit 0
    else
    echo -e ” > Different IP addresses detected, synchronizing…”
    fi

    # The secret sause for executing the update
    json_data_v4=”‘”‘{“id”:”‘${zone_identifier}'”,”type”:”A”,”proxied”:true,”name”:”‘${record_name}'”,”content”:”‘${ip}'”,”ttl”:120}'”‘”
    update_cmd=( curl -s -X PUT ‘”//api.cloudflare.com/client/v4/zones/’${zone_identifier}’/dns_records/’${record_identifier}'”‘ “${header_auth_paramheader[@]}” -H ‘”Content-Type: application/json”‘ )

    # Execution result
    update=`eval ${update_cmd[@]} –data $json_data_v4`

    # The moment of truth
    case “$update” in
    *'”success”:true’*)
    echo -e “Update for A record ‘${record_name} (${record_identifier})’ succeeded.\\n – Old value: ${old_ip}\\n + New value: ${ip}”;;
    *)
    >&2 echo -e “Update for A record ‘${record_name} (${record_identifier})’ failed.\\nDUMPING RESULTS:\\n${update}”
    exit 1;;
    esac
    Bạn cần phải điền thông tin vào các dòng sau:

    auth_token: Cloudflare API Token
    zone_identifier: Zone ID
    record_name: Tên miền

    3. Tạo Cloudflare API Token
    Truy cập vào trang Cloudflare API Token để tạo Token mới. Bấm vào nút Create Token. Chọn Use Template ở mục Edit Zone DNS. Kéo xuống mục Zone Resources, chọn tên miền bạn muốn sử dụng để cập nhật IP sau đó bấm Continue to Summary. Bấm Create Token.

    Tên miền trỏ về máy tính nhà

    Token đã tạo xong.
    Bạn cần lưu lại Token vừa mới tạo để lưu vào script đã tạo. Token này sẽ không hiện ra lại trên Cloudflare vì lý do bảo mật. Nếu bạn quên lưu, cần phải xoá Token và tạo lại cái mới.
    4. Tìm thông tin Zone ID
    Từ trang chủ Cloudflare, bạn bấm vào tên miền muốn sử dụng để cập nhật IP. Sau đó kéo xuống dưới sẽ thấy mục Zone ID. Lưu lại thông số này để điền vào script
    Lưu lại thông tin Zone ID
    5. Tạo A Record cho tên miền
    Ví dụ mình muốn sử dụng tên miền alibaba.thuanbui.me để truy cập đến homelab ở nhà. Bấm vào Add record và tạo một A record mới.

    Name: điền vào alibaba
    IPv4: điền tạm 1.1.1.1, thông số này sẽ được tự động cập nhật về IP của modem sau khi chạy script. Tạo A Record cho subdomain alibaba.thuanbui.me

    6. Cập nhật script

    Thông tin cần thiết đã có đầy đủ, mình cập nhật lại vào file cloudflare.sh và lưu lại
    #!/bin/bash

    # Forked from benkulbertis/cloudflare-update-record.sh
    # CHANGE THESE

    # API Token (Recommended) #####
    auth_token=”LrAB–xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

    # Domain and DNS record for synchronization
    zone_identifier=”48bxxxxxxxxxxxxxxxxxxxx60″ # Can be found in the “Overview” tab of your domain
    record_name=”alibaba.thuanbui.me” # Which record you want to be synced

    # DO NOT CHANGE LINES BELOW

    # SCRIPT START
    echo -e “Check Initiated”

    # Check for current external network IP
    ip=$(curl -s4 //icanhazip.com/)
    if [[ ! -z “${ip}” ]]; then
    echo -e ” > Fetched current external network IP: ${ip}”
    else
    >&2 echo -e “Network error, cannot fetch external network IP.”
    fi

    # The execution of update
    if [[ ! -z “${auth_token}” ]]; then
    header_auth_paramheader=( -H ‘”Authorization: Bearer ‘${auth_token}'”‘ )
    else
    header_auth_paramheader=( -H ‘”X-Auth-Email: ‘${auth_email}'”‘ -H ‘”X-Auth-Key: ‘${auth_key}'”‘ )
    fi

    # Seek for the record
    seek_current_dns_value_cmd=( curl -s -X GET ‘”//api.cloudflare.com/client/v4/zones/’${zone_identifier}’/dns_records?name=’${record_name}’&type=A”‘ “${header_auth_paramheader[@]}” -H ‘”Content-Type: application/json”‘ )
    record=`eval ${seek_current_dns_value_cmd[@]}`

    # Can’t do anything without the record
    if [[ -z “${record}” ]]; then
    >&2 echo -e “Network error, cannot fetch DNS record.”
    exit 1
    elif [[ “${record}” == *'”count”:0’* ]]; then
    >&2 echo -e “Record does not exist, perhaps create one first?”
    exit 1
    fi

    # Set the record identifier from result
    record_identifier=`echo “${record}” | sed ‘s/.*”id”:”//;s/”.*//’`

    # Set existing IP address from the fetched record
    old_ip=`echo “${record}” | sed ‘s/.*”content”:”//;s/”.*//’`
    echo -e ” > Fetched current DNS record value : ${old_ip}”

    # Compare if they’re the same
    if [ “${ip}” == “${old_ip}” ]; then
    echo -e “Update for A record ‘${record_name} (${record_identifier})’ cancelled.\\n Reason: IP has not changed.”
    exit 0
    else
    echo -e ” > Different IP addresses detected, synchronizing…”
    fi

    # The secret sause for executing the update
    json_data_v4=”‘”‘{“id”:”‘${zone_identifier}'”,”type”:”A”,”proxied”:true,”name”:”‘${record_name}'”,”content”:”‘${ip}'”,”ttl”:120}'”‘”
    update_cmd=( curl -s -X PUT ‘”//api.cloudflare.com/client/v4/zones/’${zone_identifier}’/dns_records/’${record_identifier}'”‘ “${header_auth_paramheader[@]}” -H ‘”Content-Type: application/json”‘ )

    # Execution result
    update=`eval ${update_cmd[@]} –data $json_data_v4`

    # The moment of truth
    case “$update” in
    *'”success”:true’*)
    echo -e “Update for A record ‘${record_name} (${record_identifier})’ succeeded.\\n – Old value: ${old_ip}\\n + New value: ${ip}”;;
    *)
    >&2 echo -e “Update for A record ‘${record_name} (${record_identifier})’ failed.\\nDUMPING RESULTS:\\n${update}”
    exit 1;;
    esac
    Mặc định, script này sẽ kích hoạt chế độ proxy trên Cloudflare nhằm mục đích ẩn IP của modem, giảm nguy cơ bị tấn công vào mạng nhà. Nếu vì lý do nào đó không muốn ẩn IP của mình thì có thể thay đổi thông số “proxied”:true thành “proxied”:false

    7. Chạy thử nghiệm
    Thiết lập quyền thực thi cho file cloudflare.sh
    chmod +X cloudflare.sh
    Chạy thử xem nào

    ./cloudflare.sh
    Quay lại Cloudflare, tên miền alibaba.thuanbui.me, mình thấy đã được tự động cập nhật với IP mới. Ngon lành!
    8. Thiết lập cron tự động
    Việc cuối cùng cần làm là thiết lập cron để script tự động chạy 24/7. Sau đó, không cần bận tâm đến nó nữa.

    crontab -e
    Mình chỉnh cho script tự động chạy sau mỗi 10 phút bằng cách thêm dòng này vào dưới cùng

    */10 * * * * /bin/bash /home/thuanbui/cloudflare/cloudflare.sh
    Chú ý nhớ thay /home/thuanbui/cloudflare/cloudflare.sh thành đường dẫn đến nơi lưu file cloudflare.sh của bạn.

    Tự động cập nhật IP từ Windows lên CLOUDFLARE DYNAMIC DNS

    Đây là ứng dụng Client Windows DNS động Cloudflare miễn phí, Cloudflare-Sync mà bạn có thể sử dụng để cập nhật địa chỉ IP trong cài đặt DNS của miền sau một khoảng thời gian nhất định. Hiện tại, điều này chạy trong thiết bị đầu cuối của bạn sau khi bạn định cấu hình nó để cập nhật địa chỉ IP. Tất cả những gì nó cần từ bạn là ID vùng và khóa API cùng với tệp cấu hình. Nó sử dụng tệp cấu hình để nhận thông tin chi tiết như tên miền và tên bản ghi mà bạn muốn nó thay đổi. Lệnh này rất đơn giản và thậm chí bạn có thể sử dụng nó trên các nền tảng khác với sự trợ giúp của Docker.

    Có rất nhiều nhà cung cấp dịch vụ DNS động mà bạn có thể sử dụng và họ làm rất tốt việc đó. Các dịch vụ DDNS đó cung cấp cho bạn một công cụ chuyên dụng để cập nhật địa chỉ IP. Tuy nhiên, nếu bạn muốn sử dụng Cloudflare cho mục đích tương tự thì bạn không thể có công cụ máy khách để cập nhật IP từ PC hoặc máy chủ của mình. Nhưng họ đã mở API của mình để thực hiện điều đó theo chương trình. Bạn chỉ cần chạy nó từ dòng lệnh và sau đó để nó làm phần còn lại. Nó sẽ tự động cập nhật IP công cộng hiện được chỉ định cho máy chủ hoặc PC trong tài khoản Cloudflare của bạn.
    Sử dụng Máy khách Windows DNS động Cloudflare miễn phí này:
    Bạn có thể tải xuống từ đây //github.com/Suleman-Elahi/cloudflare-sync/releases . Nó dành cho Windows và sau khi tải xuống, bạn chỉ cần giữ nó trong một thư mục rồi mở dấu nhắc lệnh trong thư mục đó. Bạn cũng sẽ cần tạo một tệp cấu hình JSON trong cùng một thư mục vì nó sẽ được yêu cầu để lấy tên miền mà bạn muốn thay đổi IP. Vì vậy, bạn tạo một tệp JSON như sau.

    [
    {
    “type”: “A”,
    “name”: “suleman.ga”,
    “proxied”: true,
    “ttl”: 120,
    “priority”: 1
    }
    ]

    Trong tệp, bạn có thể thay đổi tên miền và loại bản ghi dựa trên tên miền mà bạn đã định cấu hình trong tài khoản của mình. Sau đó, bạn chỉ cần quay lại cửa sổ lệnh và sau đó chạy lệnh theo cú pháp sau.

    Tên miền trỏ về máy tính nhà

    Cú pháp :cloudflare-sync.exe -api-token CloudflareAPI_Token -records-file-name ConfigFile -zone-id YourZoneID
    Ví dụ :cloudflare-sync.exe -api-token aDwDIxxxxmkH -records-file-name ilfs.json -zone-id 22xxxx4aada
    Bạn có thể xem cú pháp của lệnh trên và cách thức hoạt động của nó để cập nhật địa chỉ IP trong ảnh chụp màn hình của dấu nhắc lệnh ở trên. Bạn luôn có thể chạy nó theo cách này và sau đó xem phản hồi trong thiết bị đầu cuối. Nếu nó phát hiện bất kỳ thay đổi nào trong địa chỉ IP thì nó sẽ ngay lập tức đẩy nó vào tài khoản Cloudflare của bạn.

    Tên miền trỏ về máy tính nhà

    Để chạy lệnh này thành công, bạn cần có khóa API và sau đó là ID vùng. Nếu bạn đã thêm miền vào tài khoản Cloudflare của mình thì bạn có thể dễ dàng tạo mã thông báo API. Chỉ cần đảm bảo rằng bạn đã cấp quyền truy cập DNS trong khi cấp khóa API mới.
    Đây là tất cả về công cụ dòng lệnh đơn giản này mà bạn có thể sử dụng trong Windows. Giờ đây, bạn có thể sử dụng Cloudflare làm nhà cung cấp DNS động với sự trợ giúp của công cụ đơn giản này. Trong Windows, bạn có thể dễ dàng sử dụng nó với sự trợ giúp của lệnh tôi đã đề cập ở trên.

    Gói (lại…
    Nếu bạn đang nghĩ đến việc sử dụng Cloudflare làm dịch vụ DNS động thì đây sẽ là một công cụ rất hữu ích cho bạn. Chỉ cần lấy nó và bắt đầu sử dụng nó trên máy Windows của bạn. Ngoài ra, bạn có thể sử dụng nó với các ứng dụng của mình mà bạn thường phải cập nhật địa chỉ IP. Ngoài Windows, bạn cũng có thể dễ dàng sử dụng nó trên Linux và MAC bằng cách tự xây dựng nó. Mã nguồn của nó có sẵn trên GitHub và bạn có thể dễ dàng biên dịch nó bằng Go Lang. Hoặc, bạn có thể sử dụng Docker cho đơn giản và hướng dẫn được đề cập trên trang GitHub. //www.ilovefreesoftware.com/06/windows/free-cloudflare-dynamic-dns-windows-client-to-update-ip-automatically.html
    Câu lệnh chạy: cloudflare-sync.exe -api-token Trong_trang_API_Tokens -records-file-name odoo.json -zone-id mã trong trang Overview
    file odoo.json khai báo:
    [
    {
    “type”: “A”,
    “name”: “odoo.wpvn.xyz”,
    “proxied”: true,
    “ttl”: 120,
    “priority”: 1
    }
    ]

    How to install a Let’s Encrypt SSL cert on Microsoft IIS

    Dùng Tunnelmole

    Tunnelmole vượt qua tất cả những thách thức về mạng này. Thay vì chờ kết nối đến, Tunnelmole thiết lập một kết nối đi từ Raspberry Pi của bạn đến một máy chủ công cộng. Kết nối này sau đó được sử dụng để tạo một đường hầm bảo mật. Mọi yêu cầu web được gửi đến URL Tunnelmole công cộng của bạn sẽ được định tuyến qua đường hầm này trực tiếp đến dịch vụ đang chạy trên Raspberry Pi.

    Sau đây là cách thức hoạt động:

    Tên miền trỏ về máy tính nhà
    • Máy khách khởi động:Bạn chạy máy khách Tunnelmole trên Raspberry Pi, cho máy chủ biết cổng cục bộ nào đang chạy (ví dụ: cổng 8000).
    • Kết nối ra:Máy khách Tunnelmole tạo kết nối ra an toàn đến dịch vụ Tunnelmole công cộng. Tính năng này hoạt động ngay cả khi có tường lửa và CGNAT vì các kết nối ra hầu như luôn được cho phép.
    • URL công khai được chỉ định:Dịch vụ Tunnelmole chỉ định cho bạn một URL công khai duy nhất (ví dụ://random-name.tunnelmole.net) và liên kết nó với kết nối an toàn của bạn.
    • Yêu cầu được truyền qua đường hầm:Khi ai đó truy cập URL công khai của bạn, yêu cầu sẽ đến dịch vụ Tunnelmole. Sau đó, dịch vụ này sẽ gửi yêu cầu đó qua đường hầm đến máy khách trên Raspberry Pi của bạn.
    • Chuyển tiếp cục bộ:Máy khách nhận được yêu cầu và chuyển tiếp đến máy chủ cục bộ của bạn đang chạy trên cổng được chỉ định.
    • Phản hồi được trả về:Phản hồi từ máy chủ cục bộ của bạn sẽ được truyền ngược lại qua cùng đường hầm đến người dùng.

    Một lợi thế quan trọng của Tunnelmole là nóhoàn toàn mã nguồn mở. Cả mã nguồn phía máy khách và phía máy chủ đều có sẵn trên GitHub. Điều này có nghĩa là bạn hoàn toàn minh bạch, và nếu muốn, bạn có thểtự lưu trữthành phần máy chủ trên Máy chủ Riêng Ảo (VPS) của riêng mình để kiểm soát và bảo mật tối đa.

    Bước 1: Thiết lập một máy chủ web đơn giản (Ví dụ)

    Trước tiên, bạn cần một dịch vụ để triển khai. Nếu chưa có dịch vụ nào đang chạy, bạn có thể khởi động một máy chủ web đơn giản bằng Python, được cài đặt sẵn trên Raspberry Pi OS.

    Tạo một thư mục cho máy chủ của bạn và tạo mộtindex.htmltệp mẫu.

    mkdir my-server 
    cd my-server 
    echo  "Xin chào từ Máy chủ Raspberry Pi của tôi!" > index.html

    Bây giờ, hãy phục vụ thư mục này bằng máy chủ HTTP tích hợp sẵn của Python.

    python3 -m http.server 8000

    Lệnh này khởi động máy chủ web trên cổng8000. Nếu bạn mở trình duyệttrên Raspberry Pivà truy cập//localhost:8000, bạn sẽ thấy thông báo “Hello world”. Mục tiêu của chúng tôi là xem thông báo này từ mọi thiết bị, mọi nơi.

    Giữ terminal này chạy. Bạn sẽ cần mở một cửa sổ terminal mới để thực hiện các bước tiếp theo.

    Bước 2: Cài đặt Node.js trên Raspberry Pi

    Tunnelmole là một ứng dụng Node.js. Trong khi một số phương pháp cài đặt sử dụng tệp nhị phân được biên dịch sẵn, phương pháp đáng tin cậy nhất cho các thiết bị ARM như Raspberry Pi là cài đặt thông quanpm(Trình quản lý gói Node). Để làm điều này, trước tiên bạn cần cài đặt chính Node.js.

    Chúng tôi sẽ sử dụng các bản phân phối chính thức từ NodeSource, được tối ưu hóa và cập nhật thường xuyên. Các lệnh sau sẽ thêm kho lưu trữ NodeSource và cài đặt Node.js phiên bản 22.

    Cập nhật danh sách gói và cài đặt các gói phụ thuộc để thêm kho lưu trữ mới.

    sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg

    Thêm khóa GPG NodeSource để đảm bảo các gói là xác thực.

    sudo mkdir -p /etc/apt/ keyrings 
    curl -fsSL //deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpgsudo mkdir -p /etc/apt/keyrings curl -fsSL //deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

    Thêm kho lưu trữ Node.js 22.x vào nguồn hệ thống của bạn.

    NODE_MAJOR=22
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] //deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
    Cập nhật lại danh sách gói của bạn và cài đặt Node.js.
    sudo apt-get update 
    sudo apt-get install nodejs -y

    Xác minh cài đặt bằng cách kiểm tra phiên bảnnodenpm.

    node -v npm -v

    Bạn sẽ thấy số phiên bản của Node.js (ví dụ:v22.x.x) và npm.

    Bước 3: Cài đặt Tunnelmole

    Sau khi cài đặt Node.jsnpm, giờ đây bạn có thể cài đặt Tunnelmole chỉ bằng một lệnh.-gCờ này sẽ cài đặt Tunnelmole trên toàn cục, vì vậy bạn có thể chạytmolelệnh từ bất kỳ thư mục nào.

    sudo npm install -g tunnelmole

    Bước 4: Nhận URL công khai cho máy chủ của bạn

    Đây là bước cuối cùng và cũng là bước thú vị nhất. Hãy chuyển đến cửa sổ terminal thứ hai (cửa sổ không chạy máy chủ Python). Chạy lệnhtmolevà cho biết máy chủ của bạn đang lắng nghe trên cổng nào. Trong ví dụ của chúng tôi, đó là port8000.

    tmol 8000

    Tunnelmole sẽ khởi động và hiển thị đầu ra tương tự như sau:

    Các URL công khai của Tunnelmole nằm bên dưới và có thể truy cập trên toàn bộ Internet. Luôn sử dụng HTTP để bảo mật tốt nhất 
    //krcywd-ip-192-168-1-10.tunnelmole.net ⟶ //localhost:8000 
    //krcywd-ip-192-168-1-10.tunnelmole.net ⟶ //localhost:8000

    Vậy là xong! Máy chủ Raspberry Pi của bạn giờ đã hoạt động trực tuyến. Bạn có thể sao chéphttpsURL và mở bằng trình duyệt trên điện thoại, máy tính xách tay hoặc chia sẻ với bạn bè. Nó sẽ kết nối trực tiếp đến máy chủ Python đơn giản đang chạy trên Pi của bạn.

    Bạn có thể tìm thấy mã nguồn và hướng dẫn trênkho lưu trữ GitHub của Dịch vụ Tunnelmole.

    Tham khảo 1. Tham khảo 2

    Cloudflare Tunnel

    Cloudflare là một gã khổng lồ trong ngành hiệu suất và bảo mật web, và dịch vụ Cloudflare Tunnel của họ là một thành phần quan trọng của nền tảng Zero Trust. Dịch vụ này cho phép bạn kết nối các ứng dụng và máy chủ của mình với mạng Cloudflare, nơi chúng có thể được bảo vệ bởi các tính năng bảo mật của Cloudflare. Với Cloudflare Tunnel, bạn có thể:

    • Đưa dịch vụ của bạn ra internet mà không cần mở bất kỳ cổng nào trên tường lửa. Điều này giúp giảm đáng kể bề mặt tấn công.
    • Áp dụng chính sách Zero Trust cho ứng dụng của bạn. Bạn có thể kiểm soát ai có thể truy cập ứng dụng dựa trên danh tính, thiết bị và vị trí của họ.
    • Bảo mật các ứng dụng nội bộ của bạn. Cloudflare Tunnel có thể được sử dụng để cung cấp quyền truy cập an toàn vào các ứng dụng nội bộ cho nhân viên của bạn mà không cần sử dụng VPN truyền thống.

    Cloudflare Tunnel là một giải pháp mạnh mẽ và toàn diện, nhưng cũng có thể phức tạp trong việc thiết lập và quản lý, đặc biệt là đối với các nhà phát triển cá nhân và nhóm nhỏ. Giá cả cũng có thể là một rào cản đối với những người có ngân sách eo hẹp.

    Tham khảo 1,

    Hướng dẫn chạy

    Zrok mã nguồn mở

    Zrok là một cái tên mới trong lĩnh vực đào hầm, nhưng đang nhanh chóng thu hút sự chú ý nhờ tính chất mã nguồn mở và sự tập trung vào tính đơn giản và linh hoạt. Được xây dựng trên nền tảng mạng không tin cậy OpenZiti, Zrok cho phép bạn:

    • Chia sẻ các dịch vụ địa phương của bạn với người khác, công khai hoặc riêng tư.
    • Tạo kết nối ngang hàng an toàn giữa các thiết bị.
    • Tự lưu trữ phiên bản Zrok của riêng bạn để kiểm soát hoàn toàn dữ liệu của bạn.

    Bản chất mã nguồn mở của Zrok khiến nó trở thành một lựa chọn tuyệt vời cho các nhà phát triển muốn mày mò công nghệ và tùy chỉnh theo nhu cầu của mình. Tuy nhiên, khía cạnh tự lưu trữ có thể là con dao hai lưỡi, vì nó đòi hỏi nhiều chuyên môn kỹ thuật hơn để thiết lập và bảo trì.

    Mặc dù Cloudflare Tunnel và Zrok đều là những giải pháp tuyệt vời, nhưng chúng vẫn còn thiếu một dịch vụ đường hầm vừa mạnh mẽ vừa dễ sử dụng mà không quá đắt đỏ. Đây chính là lúc Instatunnel.my xuất hiện.

    Instatunnel.my là một giải pháp đào hầm mới được xây dựng từ đầu, tập trung vào trải nghiệm của nhà phát triển. Giải pháp này kế thừa những ưu điểm vượt trội của các đối thủ cạnh tranh — tính bảo mật của Cloudflare Tunnel và sự đơn giản của Zrok — và kết hợp chúng thành một gói duy nhất, giá cả phải chăng. Dưới đây là những lý do khiến Instatunnel.my trở thành lựa chọn ưu việt cho các nhà phát triển hiện đại:

    Một tầng miễn phí hào phóng thực sự hữu ích

    Một trong những điểm gây thất vọng lớn nhất với nhiều công cụ dành cho nhà phát triển là những hạn chế của gói miễn phí. Chúng thường quá hạn chế đến mức gần như không thể sử dụng được. Instatunnel.my thì khác. Gói miễn phí của nó được thiết kế để trở thành một công cụ thực sự hữu ích cho các nhà phát triển cá nhân và các dự án nhỏ. Dưới đây là những gì bạn nhận được miễn phí:

    • Phiên bản 24 giờ: Tạm biệt nỗi lo phải khởi động lại đường hầm liên tục. Với Instatunnel.my, bạn có thể duy trì đường hầm hoạt động trọn vẹn 24 giờ, dài hơn gấp 12 lần so với gói miễn phí của một số đối thủ cạnh tranh.
    • Ba đường hầm đồng thời: Tại sao lại chỉ giới hạn ở một đường hầm? Instatunnel.my cho phép bạn chạy ba đường hầm đồng thời với gói miễn phí, nhờ đó bạn có thể triển khai frontend, backend và bất kỳ dịch vụ nào khác bạn cần cùng một lúc.
    • Tên miền phụ tùy chỉnh: Ngay cả ở gói miễn phí, bạn vẫn có thể tạo tên miền phụ tùy chỉnh cho đường hầm của mình, giúp dự án có URL chuyên nghiệp và dễ nhớ ngay từ đầu.

    Sự kết hợp hoàn hảo giữa tính năng và giá cả phải chăng

    Gói Pro của Instatunnel.my thực sự nổi bật. Gói này cung cấp tất cả các tính năng bạn cần cho việc phát triển chuyên môn và cộng tác, với chi phí chỉ bằng một phần nhỏ so với các đối thủ cạnh tranh.

    • Phiên không giới hạn: Không còn giới hạn thời gian cho đường hầm của bạn nữa.
    • Mười đường hầm đồng thời: Hoàn hảo cho các ứng dụng phức tạp, đa dịch vụ.
    • Bao gồm tên miền tùy chỉnh: Mang tên miền của riêng bạn và sử dụng nó với đường hầm của bạn mà không phải trả thêm bất kỳ khoản phí nào.
    • Bảo vệ bằng mật khẩu: Bảo vệ đường hầm của bạn bằng mật khẩu để đảm bảo rằng chỉ những cá nhân được ủy quyền mới có thể truy cập.
    • Phân tích thời gian thực: Nhận thông tin chi tiết về lưu lượng truy cập qua đường hầm của bạn bằng tính năng phân tích thời gian thực.

    Trải nghiệm người dùng liền mạch và trực quan

    Instatunnel.my được thiết kế để dễ sử dụng nhất có thể. Bạn có thể bắt đầu chỉ trong vài giây với một lệnh duy nhất, và CLI thậm chí sẽ tự động phát hiện cổng mà ứng dụng của bạn đang chạy. Không cần tạo tài khoản hay cấu hình bất kỳ cài đặt phức tạp nào. Mọi thứ đều hoạt động.

    Để 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 *

    Chat with us
    Hello! How can I help you today?