Dịch vụ DDNS của Synology.
DDNS rất là quan trọng đối với ai chới NAS hoặc Server mini tại gia… như mình chẳng hạn. Với các nhà cung cấp mạng Internet của Việt Nam hiện nay gói cá nhân thường không có IP tĩnh mà đa phần là IP động. Chỉ các gói đắt tiền và cung cấp cho doanh nghiệp mới đc bổ sung thêm cái IP tĩnh :D. Nếu có IP tĩnh thì đơn giản rồi, bạn có thể bỏ qua Note này :).
Đối với NAS Synology thì hệ điều hành DSM hỗ trợ rất nhiều dịch vụ DDNS để bạn dùng, Synology còn tặng cho khách hàng của mình một tên miền miễn phí để dùng DDNS của hãng (cái này các bạn dùng hàng fake Xpenology thì không có nhé).
Ở Note này mình sẽ không nói đến cách dùng các dịch vụ có sẵn trong DDNS của Nas Synology vì các tên miền free hỗ trợ DDNS thường có đuôi rất khó nhớ nên mình không dùng. Còn những nhà cung cấp miền tenmien.acb… nếu có thêm dịch vụ DDNS thì thường có phí rất cao. Hoặc bạn có thể mua tên miền của Google Domain có giá cả hợp lý lại hỗ trợ DDNS được cấu hình sẵn trong NAS Synology (mỗi tội anh Google không hay có khuyến mại :D). Bạn có thể vào canhme.com để săn những khuyến mại cực kỳ hấp dẫn của các nhà cung cấp tên miền (tầm 2-3$ là có ngay tên miền .com…) và cũng để tìm hiểu cách quản lý và sử dụng của các nhà cung cấp khác nhau.
Quay lại với chủ đề chính, vậy đối với nhà cung cấp không hỗ trợ DDNS cho tên miền thì là thể nào để trỏ IP động của bạn về tên miền để dùng. Mình có tìm hiểu rất nhiều cách và kết luận lại có 2 cách mà mình thấy dễ dùng nhất. Ở đây mình sẽ lấy tên miền vinhnguyen.info của mình để ví dụ minh họa.
- Cập nhật – 09/3/2022
Cách 1: Dùng CNAME và 1 dịch vụ DDNS có sẵn trong NAS Synology.
Cách này rất đơn giản như sau.
Bước 1: Bạn dùng một dịch vụ DDNS được NAS Synology hỗ trợ.
- Ở đây mình dùng luôn dịch vụ DDNS của Synology là: vinhguyen.myds.me
Bước 2: Cấu hình CNAME của tên miền.
- Bạn vào phần quản lý DNS của nhà cung cấp dịch vụ tên miền (ở đây mình dùng CloudFlare).
- Dùng Type: CNAME.
Name = @ hoặc để chống (tùy từng nhà cung cấp). Target = vinhnguyen.myds.me
- Thêm tiếp nếu cần. Dùng Type: CNAME.
Name = tên Subdomain hoặc để * để nhận tất Subdomain đỡ phải làm nhiều. Target = vinhnguyen.myds.me
Oke xong. Đơn giản vậy thôi. Giờ bạn có thể truy cập vào tên miền miền của mình để hưởng thụ thành quả :D.
Trước kia mình cũng dùng cách này nhưng cảm thấy không ngon bằng việc dùng Type A trỏ trực tiếp về IP của mình vì cảm giác dùng CNAME thì phải thông qua một tên miền cảm thấy nó không được nhanh vì phải thông qua một tên miền khác. Hoặc giả dụ cái tên miền DDNS kia nó chết thì tên miền của mình cũng tèo.
Cách 2: Tự động cập nhật địa chỉ IP cho tên miền với CloudFlare và Docker.
Bước 1: Thiết lập tên miền về CloudFlare.
Bạn cần vào trang quản lý nhà cung cấp tên miền và thay đổi Nameserver về CloudFlare để quản lý. Có nhiều nhà cung cấp vì vậy cách dùng cũng khác nhau, ở Note này mình sẽ không đề cập đến. Bạn có thể vào canhme.com để tìm hiểu thêm hoặc liên hệ nhà cung cấp để được hỗ trợ.
- Địa chỉ CloudFlare: https://www.cloudflare.com/
- Xem hướng dẫn thêm tên miền, cách dùng CloudFlare ở đây.
- Sau khi xong bạn cần lấy Global API Key. Copy lại để lúc nữa dùng :D.
Bước 2: Cài đặt Docker và cấu hình.
- Bạn cài đặt Docker thông qua Packcage Center.
- Bạn vào Docker tìm kiếm với từ khóa: oznu cloudflare-ddns và tải oznu/cloudflare-ddns về.
Tiếp theo bạn chạy oznu/cloudflare-ddns vừa mới tải về.
Trong Advanced Settings.
Trong Environment Settings.
- EMAIL = Email đăng ký CloudFlare của bạn.
- API_KEY = Mã API của bạn.
- ZONE = Tên miền của bạn.
- SUBDOMAIN = Để chống hoặc điền nếu bạn dùng để lấy IP cho tên miền cấp 2 (ví dụ blog.vinhnguyen.info thì bạn chỉ cần điền là blog).
- PROXIED = false (khồng dùng dịch vụ Proxied của CloudFlare) hoặc true (dùng dịch vụ Proxied của CloudFlare).
- Apply – Next – Apply – Oke xong. Bây giờ bạn vào lại phần quản lý DNS tên miền của CloudFlare sẽ thấy DNS kiểu A đã trỏ về IP của bạn.
- Để tạo nhiều các Subdomain hoặc tên miền bạn chỉ việc clone thêm Container vừa tạo trong thẻ Container và chình sửa chứ không cần phải làm nhiều thao tác như trên nữa. Để cho nhanh thì bạn clone thêm một Container nữa và để: SUBDOMAIN = *
- Để sau này bạn dùng các Subdomain cho các ứng dụng của DSM hoặc làm máy chủ Web trên NAS Synology không cần bận tâm đến việc phải trỏ IP của mình về Subdomain. Bạn có thể làm như sau.
Sau khi clone thêm container thì bạn edit lại như sau.
Sau khi sửa xong bạn cho chạy container là xong. Vào lại phần quản lý DNS tên miền của CloudFlare để nhận thành quả.
Cách 3: Thêm Cloudflare vào dịch vụ DDNS của Synology NAS.
Tương tự như cách 2, bạn cũng phải thiết lập tên miền về CloudFlare để quản lý DNS. Cách này không cần đến Docker nữa .
- Trang dụ án: GitHub – mrikirill/SynologyDDNSCloudflareMultidomain
Bước 1. Tạo API Tockens trên CloudFlare.
Không như cách 2 là lấy luôn Global API Key, đối với cách này bạn phải tạo API Tokens.
Token name: Tên của tocken – DDNS for Synology NAS (đặt sao cũng đc )
Permissions – Thêm 3 trường sau:
Zone > Zone Settings > Read
Zone > Zone > Read
Zone > DNS > Edit
Zone Resources – Thêm 1 trường sau:
Include > All zones
Bước 2. Thiết lập trên Synlogy NAS.
Đầu tiên bạn cần phải bật SSH Service và PuTTY để đăng nhập vào Terminal (của sổ dòng lệnh).
Xem thêm hướng dẫn tại Synology NAS – Cài đặt, Update ứng dụng nguồn ngoài.
- Để vào được tài khoản root bạn dùng câu lệnh sau: sudo -i
- Password: chính là pass tài khoản quản trị của bạn.
Dùng lệnh sau:
wget https://raw.githubusercontent.com/mrikirill/SynologyDDNSCloudflareMultidomain/master/cloudflare.php -O /usr/syno/bin/ddns/cloudflare.php && sudo chmod 755 /usr/syno/bin/ddns/cloudflare.php
Tiếp theo bạn cần thêm đoạn mã sau vào file ddns_provider.conf (chèn vào cuối) trong thư mục etc.defaults (đây là một thư mục hệ thống…).
[Cloudflare]
modulepath=/usr/syno/bin/ddns/cloudflare.php
queryurl=https://www.cloudflare.com/
Có thể dùng File browser để chỉnh sửa. Xem thêm Synology NAS – Hướng dẫn cài File browser (Docker).
Hoặc dùng lệnh trực tiếp trên Terminal (của sổ dòng lệnh)…
cd /etc.defaults
vim ddns_provider.conf
Sau khi paste đoạn mã trên vào… bạn gõ :wq↵ để lưu file…
:wq
Như vậy là xong phần khó nhất :D. Tiếp theo bạn chỉ việc vào Control Panel => External Access => DDNS chọn Add để thiết lập…
- Service provider: chọn Cloudflare
- Hostname: nhập domain của bạn VD: abcd.xzy (có thểm nhập được sudomain sud.abcd.xzy). Để dùng nhiêu tên miền thì mỗi tên miền cách nhau bằng 3 dấu – (gạch ngang), VD: abcd.xyz—nas.abcd.xyz—efgh.xyz
- Username/Email: Nhập email tài khoản CloudFlare.
- Password/Key: Nhập API Tocken bạn đã lưu ở bước trên.
- Lưu ý: Cách này bạn cần phải tạo trước các DNS kiểu A trên CloudFlare cho tên miền cần dùng. Không như cách 2 là nó tự động tạo…
Chúc các bạn thành công.