網址的免費申請:no-ip

No Comments

興奮的時刻到來。此前,我們必須使用 http://localhost/ 來開啟我們的網頁。現在我們想要透過網際網路的方式來開啟,就必須擁有一個於自己的 hostname,例如 https://waterfalls.ddns.net。既然架站到目前為止,都沒花半毛錢,我們若有免費的網址可用,可說完美極了。真的有耶:no-ip.com 提供這樣的服務。還有別忘了,我們只是使用電信公司寬頻撥接的一般庶民小老百姓,用的是浮動 IP;no-ip 也提供浮動 IP 的貼心解決方案。

申請及套用的步驟很簡單。筆者當前使用的網址是當初隨便取的也準備註銷重新申請一個並截圖做申請說明。

取得了網址例如 abc.ddns.net 之後。我們的 IP 之所以浮動,是因為電腦網路設備重啟/電信維護與策略等,會因而變動。故 no-ip 提供了客戶端/即本地端的一個應用程式,會在我們的電腦重新開機後做一次 renew 的動作,例如新 ip 是 123.456.78.9,應用程式便將我們當前的這支 ip address 發送給 no-ip 的廣域名稱伺服器端做 abc.ddns.net <–> 123.456.78.9 的對應的更新。如稍前提到,電信公司突然換了一組新 ip 給我們(發生機率低(所以才叫浮動)),只要重啟該應用程式就可再度連上我們的網站。

Ubuntu apt source list 沒有提供這支應用程式,但 snap 有。

  • 安裝 no-ip client application
  • snap install noip-client
  • 安裝完,接著設定我們取得的網址。往後若有異動 hostname 也一樣執行它來設定:
  • sudo noip-client.configure
  • 欲重啟,更新 ip address:
  • sudo systemctl restart snap.noip-client.launcher.service
申請新帳號,點擊 Sign Up
接著進入建立個人資料畫面,電郵位址,密碼為必填,其他選填的若欲先不填,勾選即成。網域名稱可自選(筆者選 ddns.net)。似乎先不填進入主畫有更多名稱可選。子網域也就是由您自己命名的。如筆者用的是 waterfalls。所以筆者的 hostname 便是 waterfalls.ddns.net。另外也有付費的漂亮順眼易記的(子)網域名稱可供使用者選擇。
接著點擊付費(有延伸)或免費(只有基本)的功能,筆者選免費的。點擊後,系統會發送電郵給您,請進信箱收件做認證確認。
直接點擊確認,便能啟用您的帳號了
會跳出網頁說您的帳號已啟用,接著,
點擊 My Account 進入您的帳號管理畫面
在這邊,免費版提供總共三個 hostname 給您使用。並且可以選擇不同性質的 hostname。筆者已用掉一個,現在欲再建立一個,DNS 別名,做為實驗用。
筆者的點選如圖示,意思是說,wearbiz 這個別名,將導向到另一個 Target hostname ,即 waterfalls.ddns.net。若您三個都未建立,則 Record Type 應該先選擇 DNS Host (A)
建立結束後回主畫會列出您已使用的 DNS record。就醬,沒事登出。
noip-client app 的安裝與設定,官方名稱是 DUC。請記得每三十天內要收官方寄來的郵件,做確認持續使用的回覆。沒回覆逾期的話,hostname 就會被停用/移除。付費版就不需要這一步。設定完成後,請記得重啟 DynamicUpdateClient。
  • 最後,測試:
  • 開啟網頁 http://ifconfig.co/
  • 會秀出您的 ip address
  • 再聘您的網址 ping waterfalls.ddns.net
  • 這二者的 ip address 會是相同的。或者若聘不到的話,試試重啟 DUC 再聘看看。

補充:
使用 router 內建 ddns 自動更新 hostname/ip
How to Configure DDNS (Dynamic DNS) in a Router(NOIP)

另外還有一點,當對映使用浮動實體 ip 時,每當 reboot 後,可能會導致 dns/ip 映射失效(此例發生在我的數據機同時提供一個固定 ip 及數個浮動 ip),或是有失敗機率。故可另外生成一支 system service,在每次開機後執行 noip-service 的 restart。
範例如下:

[Unit]
    Description=restart noip-service in case of fault after reboot
    After=snap.noip-client.launcher.service systemd-networkd-wait-online.service
    Wants=systemd-networkd-wait-online.service
[Service]
    Type=idle
    ExecStartPre=/bin/sleep 5
    ExecStart=/bin/systemctl restart snap.noip-client.launcher.service
[Install]
    WantedBy=multi-user.target
  • 參考資料
  • http://linux.vbird.org/linux_server/0350dns.php
  • https://www.linuxquestions.org/questions/linux-networking-3/no-ip-dns-updater-iptables-rules-757074/
  • https://github.com/mkg20001/noip-client-snap
  • https://gist.github.com/NathanGiesbrecht

Categories: 架設網站

Tags:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

PHP Code Snippets Powered By : XYZScripts.com