「設定 - DDNS」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(文字列「<source」を「<syntaxhighlight」に置換)
 
(同じ利用者による、間の11版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
ここでは、DDNSはieServer.Netに登録して行う。<br>
DDNS (ダイナミックDNS) は、動的に変化するIPアドレスに対して、固定のドメイン名を関連付けることができるサービスである。<br>
<br>
<br>
自宅でWebサーバを構築するには、DDNSは必要不可欠である。<br>
一般的な家庭用インターネット回線では、ISPから割り当てられるグローバルIPアドレスは定期的に変更される場合が多いが、<br>
Webサーバは、変化する自分に割り当てられたグローバルIPアドレスを◯◯◯.com、◯◯◯.netに結びつけ、利用者に簡易にアクセスできることが要求される。<br>
DDNSを利用することにより、変更されるグローバルIPアドレスに常に同じドメイン名でアクセスすることが可能になる。<br>
そこで、グローバルIPアドレスとドメインネームをRaspberry Piに紐付けする。<br>
<br>
具体的な仕組みとしては、ユーザのネットワーク機器 (HGW、ルータ等) やPCにDDNSクライアントソフトウェアをインストールして、定期的にグローバルIPアドレスの変更を監視する。<br>
IPアドレスが変更された場合、DDNSサービスプロバイダに対して自動的に更新情報を送信する。<br>
<br>
例えば、example.ddns.netというドメイン名を取得した場合、グローバルIPアドレスが203.0.113.1から203.0.113.2に変更されたとする。<br>
この時、DDNSサービスが自動的に新しいIPアドレスとドメイン名の紐づけを更新する。<br>
そのため、ユーザは常に同じドメイン名でアクセスすることができる。<br>
<br>
この技術は、特に以下に示すような用途で使用されている。<br>
* 自宅サーバの運用 (自宅でWebサーバを構築する場合は、DDNSは必要不可欠である)
* リモートアクセス環境の構築
* 監視カメラシステムの遠隔アクセス
<br>
DDNSサービスを利用する場合は、多くの場合、サービスプロバイダへの登録が必要となる。<br>
無料サービスと有料サービスが存在しており、用途に応じて選択することができる。<br>
<br>
また、最近のルータには、DDNS機能が標準で搭載されているものも多く、設定も比較的簡単に行うことができるようになっている。<br>
<br>
セキュリティの観点からは、DDNSを利用する場合は適切なファイアウォール設定やアクセス制御を行うことが重要である。<br>
また、定期的なパスワード変更やアクセスログの確認等も推奨される。<br>
<br><br>
<br><br>


== ieServer.Netに登録する ==
== DDNSサービスへの登録 ==
無料かつ寄付制のDDNSサービスであるieServer.Netに登録する。<br>
==== DDNS Now ====
[https://ddns.kuku.lu/ DDNS Now]は、2013年から運用している利用料無料のダイナミックDNSサービスである。<br>
<br>
<br>
リンク先、左のメニューより新規ユーザ登録から利用規約に同意し、DDNSサービス利用を登録する。<br>
<center>
ユーザ名とドメイン名、電子メールアドレス、パスワードを入力して登録する。<br>
{| class="wikitable" | style="background-color:#fefefe;"
ここで、ドメイン名は何を選んでもよい。<br>
|-
|-
| 料金 || 永久無料 (全機能)
|-
| 利用期間 || 無期限 (定期的な更新も不要)
|-
| プライバシー || 登録にメールアドレスや個人情報は不要。<br>一部の機能のご利用や、AIがリスクと判定した登録には本人確認を実施する場合がある。
|-
| 更新間隔 || 制限なし
|-
| 更新回数 || 制限なし
|-
| ドメイン数 || 1 (ユーザ名.f5.si)
|-
| 対応レコード || A / AAAA / CNAME / ワイルドカードCNAME / TXT / URLリダイレクト / サブドメイン / NS<br><br>MXレコードは使用できない。<br>また、NSレコードの設定を行う場合は、日本の電話番号が必要となる。
|-
| TTL || 60秒
|-
| 更新方法 ||
* WebUI
* Webブラウザ拡張機能
* DiCE
* Cron
* HTTP/S
* API
* その他
|-
| DNSサーバロケーション || 日本 (東京) を含む世界29地点<br>最も地理的に近いサーバが応答
|-
| Public Suffix List || 対応済み<br>(DDNS Nowで取得したドメインは独自ドメインとして取り扱われ、Cloudflare、AdSense、[https://magical.kuku.lu/?3758 Bluesky]等に登録が可能)
|}
</center>
<br>
# [https://ddns.kuku.lu/ DDNS Nowの公式Webサイト]にアクセスする。<br>
# まず、希望するサブドメインを入力する。
#: 例えば、<u>mydomain.f5.si</u>のような形式になる。
#: サブドメインには、1文字以上の半角英字 (A~Z, a~z)、半角数字 (0~9)、ハイフン (-) が使用できる。
#: <br>
# 続いて、パスワードを設定する。
#: <br>
# 登録完了後、ログインすると以下に示すの情報が表示される。
#* 現在のIPアドレス
#* 最終更新日時
#* DDNSの更新用URL
<br>
 
==== ieServer.Net ====
ieServer.Netは、1999年からサービスを開始しており、長年にわたって無料のDDNSサービスを提供してきた老舗のサービスである。<br>
多くの個人ユーザに愛用されており、特に日本国内での知名度が高いサービスである。<br>
<br>
しかし、2021年をもってサービスを終了している。<br>
この終了は、長年の無料サービス提供による運営コストの増加やシステムの維持管理の負担が大きな要因とされている。<br>
<br>
ieServer.Netのサービス終了に伴い、ユーザには代替サービスへの移行が推奨されている。<br>
代替サービスとしては、以下に示すようなDDNSプロバイダが挙げられる。<br>
* MyDNS
* No-IP
* Cloudflare
* Duck DNS
<br><br>
<br><br>


== 紐付け更新スクリプトをcronに登録する ==
== Cronでの自動更新 ==
まず、Raspberry Piにて、必要なディレクトリを作成する。(ここでは、/var/log/ieseverと/usr/local/ddnsを作成する)<br>
==== DDNS Now ====
sudo mkdir /var/log/ieserver
Cronを設定して、定期的にIPアドレスの確認・更新を行う。<br>
sudo mkdir /usr/local/ddns
<br>
<br>
そこから、紐付け更新スクリプト(ddns-update.pl)を作成して、グローバルIPアドレスが変化しているか確認した後、変化していれば自動で紐付けする。<br>
まず、Cronの設定ファイルを開く。
  sudo nano /usr/local/ddns/ddns-update.pl
  sudo crontab -e
<br>
<br>
ddns-update.plには以下を記述する。<br>
  # 1分ごとにIPアドレスを確認・更新する
但し、変数である$ACCOUNTや$DOMAIN、$PASSWORDには、それぞれ、ieServer.Netで登録したユーザ名やドメイン名、パスワードを入力する。(◯◯◯を書き換えること)<br>
<syntaxhighlight lang="perl">
ddns-update.plの内容
  #!/usr/bin/perl
   
   
  $CURRENT_IP_FILE = "/var/log/ieserver/current_ip";
  0-59 * * * * wget -O DDNSNow_update.log "https://f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>"
$LOG_FILE        = "/var/log/ieserver/ip_update.log";
$REMOTE_ADDR_CHK = "http://ieserver.net/ipcheck.shtml";
$DDNS_UPDATE    = "http://ieserver.net/cgi-bin/dip.cgi";
   
   
  $ACCOUNT        = "◯◯◯";
  # IPv6接続の環境において、AAAAレコードも更新する場合は、以下に示す設定も追加
  $DOMAIN          = "◯◯◯";
  0-59 * * * * wget -O DDNSNow_update.log "https://v6.f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>"
$PASSWORD        = "◯◯◯";
if(!open(FILE,"$CURRENT_IP_FILE"))
{
    $CURRENT_IP = '0.0.0.0';
}
else
{
    $CURRENT_IP = <FILE>;
    close FILE;
}
$NEW_IP = '0.0.0.0';
$NEW_IP = `wget -q -O - $REMOTE_ADDR_CHK`;
if($NEW_IP ne "0.0.0.0" and $CURRENT_IP ne $NEW_IP)
{
    $STATUS = `wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'`;
    if($STATUS =~ m/$NEW_IP/)
    {   
      open(FILE ,">$CURRENT_IP_FILE");
      print FILE $NEW_IP;
      close FILE;
      $TIME = localtime;
      open(FILE ,">>$LOG_FILE");
      print FILE "$TIME $ACCOUNT.$DOMAIN Updated $CURRENT_IP to $NEW_IP\n";
      close FILE;
    }
    else
    {
      $TIME = localtime;
      open(FILE, ">>$LOG_FILE");
      print FILE "$TIME $ACCOUNT.$DOMAIN Update aborted $CURRENT_IP to $NEW_IP\n";
      close FILE;
    }
}
exit;
</source>
<br>
作成したddns-update.plファイルのパーミッションを変更する。<br>
sudo chmod 755 /usr/local/ddns/ddns-update.pl
<br>
次に、ddns-update.plをcronで自動実行させる。<br>
ここでは、10分毎に実行させる設定にする。<br>
sudo nano crontab -e
<br>
crontabが起動したら、以下を追記する。<br>
*/10 * * * * /usr/local/ddns/ddns-update.pl
<br>
これで、DDNSの設定は完了である。<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Raspberry_Pi]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]

2024年11月10日 (日) 22:40時点における最新版

概要

DDNS (ダイナミックDNS) は、動的に変化するIPアドレスに対して、固定のドメイン名を関連付けることができるサービスである。

一般的な家庭用インターネット回線では、ISPから割り当てられるグローバルIPアドレスは定期的に変更される場合が多いが、
DDNSを利用することにより、変更されるグローバルIPアドレスに常に同じドメイン名でアクセスすることが可能になる。

具体的な仕組みとしては、ユーザのネットワーク機器 (HGW、ルータ等) やPCにDDNSクライアントソフトウェアをインストールして、定期的にグローバルIPアドレスの変更を監視する。
IPアドレスが変更された場合、DDNSサービスプロバイダに対して自動的に更新情報を送信する。

例えば、example.ddns.netというドメイン名を取得した場合、グローバルIPアドレスが203.0.113.1から203.0.113.2に変更されたとする。
この時、DDNSサービスが自動的に新しいIPアドレスとドメイン名の紐づけを更新する。
そのため、ユーザは常に同じドメイン名でアクセスすることができる。

この技術は、特に以下に示すような用途で使用されている。

  • 自宅サーバの運用 (自宅でWebサーバを構築する場合は、DDNSは必要不可欠である)
  • リモートアクセス環境の構築
  • 監視カメラシステムの遠隔アクセス


DDNSサービスを利用する場合は、多くの場合、サービスプロバイダへの登録が必要となる。
無料サービスと有料サービスが存在しており、用途に応じて選択することができる。

また、最近のルータには、DDNS機能が標準で搭載されているものも多く、設定も比較的簡単に行うことができるようになっている。

セキュリティの観点からは、DDNSを利用する場合は適切なファイアウォール設定やアクセス制御を行うことが重要である。
また、定期的なパスワード変更やアクセスログの確認等も推奨される。


DDNSサービスへの登録

DDNS Now

DDNS Nowは、2013年から運用している利用料無料のダイナミックDNSサービスである。

料金 永久無料 (全機能)
利用期間 無期限 (定期的な更新も不要)
プライバシー 登録にメールアドレスや個人情報は不要。
一部の機能のご利用や、AIがリスクと判定した登録には本人確認を実施する場合がある。
更新間隔 制限なし
更新回数 制限なし
ドメイン数 1 (ユーザ名.f5.si)
対応レコード A / AAAA / CNAME / ワイルドカードCNAME / TXT / URLリダイレクト / サブドメイン / NS

MXレコードは使用できない。
また、NSレコードの設定を行う場合は、日本の電話番号が必要となる。
TTL 60秒
更新方法
  • WebUI
  • Webブラウザ拡張機能
  • DiCE
  • Cron
  • HTTP/S
  • API
  • その他
DNSサーバロケーション 日本 (東京) を含む世界29地点
最も地理的に近いサーバが応答
Public Suffix List 対応済み
(DDNS Nowで取得したドメインは独自ドメインとして取り扱われ、Cloudflare、AdSense、Bluesky等に登録が可能)


  1. DDNS Nowの公式Webサイトにアクセスする。
  2. まず、希望するサブドメインを入力する。
    例えば、mydomain.f5.siのような形式になる。
    サブドメインには、1文字以上の半角英字 (A~Z, a~z)、半角数字 (0~9)、ハイフン (-) が使用できる。

  3. 続いて、パスワードを設定する。

  4. 登録完了後、ログインすると以下に示すの情報が表示される。
    • 現在のIPアドレス
    • 最終更新日時
    • DDNSの更新用URL


ieServer.Net

ieServer.Netは、1999年からサービスを開始しており、長年にわたって無料のDDNSサービスを提供してきた老舗のサービスである。
多くの個人ユーザに愛用されており、特に日本国内での知名度が高いサービスである。

しかし、2021年をもってサービスを終了している。
この終了は、長年の無料サービス提供による運営コストの増加やシステムの維持管理の負担が大きな要因とされている。

ieServer.Netのサービス終了に伴い、ユーザには代替サービスへの移行が推奨されている。
代替サービスとしては、以下に示すようなDDNSプロバイダが挙げられる。

  • MyDNS
  • No-IP
  • Cloudflare
  • Duck DNS



Cronでの自動更新

DDNS Now

Cronを設定して、定期的にIPアドレスの確認・更新を行う。

まず、Cronの設定ファイルを開く。

sudo crontab -e


# 1分ごとにIPアドレスを確認・更新する

0-59 * * * * wget -O DDNSNow_update.log "https://f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>"

# IPv6接続の環境において、AAAAレコードも更新する場合は、以下に示す設定も追加
0-59 * * * * wget -O DDNSNow_update.log "https://v6.f5.si/update.php?domain=<サブドメイン名>&password=<パスワード もしくは APIトークン>"