web-dev-qa-db-ja.com

ddclientをfreednで動作させるにはどうすればよいですか?

12.04サーバーにはfreedns.afraid.orgで動的DNSサービスを使用しています。私は、プロトコルが標準化され、ddclientが正常に機能すると仮定していましたが、明らかにそうではありません。/var/log/syslogにこのメッセージが表示されます。

ERROR: Invalid update URL (2): unexpected status ()

この回答 で説明されている代替PPAのddclientの更新バージョンを使用しようとしましたが、このエラーが発生しました:

FATAL:    Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL:     On Debian, the package libdigest-sha1-Perl must be installed.

そして、そのパッケージをインストールしようとすると、これが得られます:

E: Unable to locate package libdigest-sha1-Perl

このバグレポート に導かれますが、明らかに解決策はありません。どうやって進める?

8
Rob Fisher

Ddclientが fixed になるまで、必要な古いモジュールを手動でインストールできます。

Sudo apt-get install cpanminus
cpanm --Sudo Digest::SHA1

無料DNSのクライアントページ およびddclient --helpは、ddclientのサンプル設定を提供します。変更を有効にするためにddclientを再起動します。

Sudo service ddclient restart
11
ændrük

/usr/sbin/ddclientの次の2行を編集するだけで、FreeDNSを機能させることができました。

から:

my $sha1_loaded = eval {require Digest::SHA1};

に:

my $sha1_loaded = eval {require Digest::SHA};

から:

import  Digest::SHA1 (qw/sha1_hex/);

に:

import Digest::SHA (qw/sha1_hex/);
3
matrixman

バグレポートの コメント は、「Digest :: SHA1の代わりにDigest :: SHAを使用するようにプログラムを変更するのが簡単」であることを示唆しています。

したがって、add-apt-repositoryはデフォルトではインストールされないため、最初に完全な手順を実行します。

Sudo apt-get install python-software-properties

そして、izxによる 記述 のように:

Sudo apt-add-repository ppa:nathan-renniewaldock/ppa

現在、このリポジトリには多くのパッケージが含まれていますが、ddclientのみが必要です。したがって、 `/ etc/apt/preferences.d/nathan-prefsなどの設定ファイルを作成し、次のように編集します。

Package: *
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 400

Package: ddclient
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 500

Ddclientをインストールします。

Sudo apt-get update && Sudo apt-get install ddclient

ここで、rootになり、/ usr/sbin/ddclientを編集します。 require Digest::SHA1を探し、require Digest::SHAに置き換えます。次に、数行後にimport Digest::SHA1を探し、import Digest::SHAに置き換えます。

最後に、/ etc/ddclient.confを開き、次のようにします(プロトコルに注意してください)。

daemon=3600
protocol=freedns
use=if, if=eth0
ssl=yes
use=web, web=myip.dnsomatic.com
server=freedns.afraid.org
login=username
password='password'
mydomain.example.com

私が満足していない主なことは、ファイルをハッキングしてUbuntuのパッケージ管理を破ることです。より良い解決策は、PPAを修正することです。

2
Rob Fisher