ホスト名はDNSサーバーのIPアドレスに解決されません。

ホスト名はDNSサーバーのIPアドレスに解決されません。

DDNSを使用するように設定されたルーターと、IPなしのDNSサーバーを指す統合プロバイダーに接続されているホームサーバーがあります。停電後は、自分のドメイン名にアクセスできなくなります。 IPアドレスの確認

dig +short pacolola.net

...住所を知っています188.151.207.219。ルーターのパブリックIPv4アドレスとNo-IPのユーザーページに基づいている必要があります188.151.218.129。後者のアドレスを使用すると、ページの内容が表示され、サーバーの内部IPアドレスも機能します。

さまざまなDNSキャッシュリセットコマンドを使用してsudo service networking restartネットワークを再起動しましたが、成功しませんでした。

DNSサーバーで使用されているIPアドレスのホスト名を確認するにはどうすればよいですか?これは、no-ip <=>ルーター、SLL、またはサーバーの他のものによるDNSの問題ですか?この状況ではどのような診断ツールが有効ですか?

ベストアンサー1

DDNSアップデートプログラムが実行されていることを確認する必要があります。 Linux / Unix用のNo-IP DDNSアップデートプログラムはです/usr/local/bin/noip2ここでインストール手順を参照してください。

アップデートプログラムの自動起動を有効にする方法については、インストール手順のWebページのソフトウェアパッケージにあるREADMEファイルを参照してください。

クライアントを起動する方法

noip2 実行可能ファイルは、/usr/local/bin/noip2 と入力して実行できます。

コンピュータの起動時に自動的に実行するには、次のスクリプトを起動ディレクトリに配置します。 (/etc/init.d/rcX.d または /sbin/init.d/rcX.d または???)

#######################################################
#! /bin/sh
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
case "$1" in
    start)
    echo "Starting noip2."
    /usr/local/bin/noip2
    ;;
    stop)
    echo -n "Shutting down noip2."
    killproc -TERM /usr/local/bin/noip2
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0
#######################################################

ここで、rcX.d の 'X' は、次のコマンドを実行して得られた値です。

grep initdefault /etc/inittab | grep initdefault /etc/inittab | grep initdefault /etc/inittab awk -F: '{印刷 $2}'

Killprocは以下からダウンロードできます。ftp://ftp.suse.com/pub/projects/init または、#!/ bin / shのコメントを解除することもできます。

最新のRedHatバージョンを使用している場合は、他のユーザーが提供した起動スクリプトを使用する必要があります。これはredhat.noip.shというパッケージにあり、システムにいくつかの修正が必要な場合があります。

Debian には debian.noip2.sh という起動スクリプトがあります。他のユーザーが提供したものでもあり、場合によっては失敗するという噂もあります。

他のユーザーがMAC OS Xの自動起動手順を提供しました。 mac.osx.startup と呼ばれます。 Macユーザーはこの記事を読むことができます。

しかし、実際、これらのUnix / Linuxのガイドラインは、既存のSysVinit起動スクリプトスキームを使用しているシステムにのみ適用されます。最新のLinuxシステムには、サービスを開始するためのさまざまな依存関係ベースのシステムがある可能性があります。

たとえば、RHEL 6 でも、スクリプトが依存する他のサービスを識別するために、特別に書式設定されたコメント行がスクリプトに必要です。あるシステムでは、SysVinit互換システムはスクリプトがRHEL 6以降と同じで依存関係識別コメントを持つことを期待しているため、systemdスクリプトを挿入すると機能し/etc/init.d/rcX.dない可能性があります。systemd/etc/init.d

redhat.noip.shパッケージのサンプルスクリプトも古くなっています。最新の依存関係ベースの起動シナリオでは、そのパッケージの特別なコメントが不完全です。

#!/bin/sh
#
# chkconfig: 345 99 80
# description: Starts and stops the no-ip.com Dynamic dns client daemon
#
# pidfile: /var/run/noipd.pid
#

RHEL 5.x 以下では動作できますが、RHEL 7.x 以降では動作しません。 (RHEL 6.xの場合、以前の形式は可能受け入れられましたが、当時は新しい形式が推奨されました。 )次のように、上記のコメントブロックの直後に追加のコメントブロックを追加する必要があります。

### BEGIN INIT INFO
# Provides:             noip2
# Required-Start:       $local_fs $network
# Required-Stop:        $local_fs $network
# Default-Start:
# Default-Stop:
# Short-Description:    Starts and stops noip2
# Description:          Starts and stops the no-ip.com Dynamic dns client daemon
### END INIT INFO

ただし、systemdLinuxベースのディストリビューションでは、スクリプトを完全に省略し、デフォルトのシステムファイルを使用する方が簡単です。.serviceたとえば、次のようになります。/etc/systemd/system/noip2.service

[Unit]
Description=no-ip.com Dynamic dns client daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
ExecStart=/usr/local/bin/noip2

[Install]
WantedBy=multi-user.target

systemd純粋主義者の場合:バックエンドへのフォークを防ぐオプションがないようですので、noip2この記事を書く時点ではサービスを使用することは不可能に見えます。)Type=simple

したがって、No-IP.comのインストール手順を積極的に使用せずに従った場合、アップデートプログラムは手動で起動した瞬間から次回サーバーを再起動するまで実行される可能性が高くなります。しかし、外部IPアドレスが変更されていない場合は、おそらくまったく知りませんでした。これまでは、以前とは異なるIPアドレスを取得します。

おすすめ記事