web-dev-qa-db-ja.com

DDNS:DIYによる解決策はありますか?もっといいですか?

私は自分の家に個人用のメール/カレンダーサーバーを設置しようとしています(はい、難しいと聞きました、それは大変なことです、といっても、やってみたいのですが)。静的IPアドレスを提供しないISPがあるので、ある種の動的ドメインネームサービス(DDNS)が解決策のようです。

しかし、私は研究を続けていて、DDNSを自分でできることを説明するオンラインリソースを少なくとも2つ見つけました。あなたは自分のIPアドレスを定期的に監視し、アドレスが変わった場合はスクリプト/プログラムが必要です。その後、スクリプト/アプリは、ホームサーバーに使用しているドメイン名をすべて更新する必要があります(たまたまそのためにドメインをホスティングプロバイダにパークさせることがあります。必要なドメイン/ IPレコードをプログラムで調整するためのホスティング会社...誰かが私がこれについて間違っているかどうかを私に知らせます。

これが重要なことです。上で説明した方法でドメイン名レコードを更新すると、システム/世界中に広がるまでに数時間かかることがあります(すべてのDNSサーバーには、更新したアドレスを再設定する必要があります) )しかし、私が見てきたいくつかの有料DDNSプロバイダーは、変更を瞬時に(または少なくとも私のDIY方式よりも早く)有効にする能力を促進しているようです。本当?私が逃した何かがありますか?

また、私は別の懸念があります:DDNSプロバイダーを持つことで私が見逃しているかもしれないセキュリティ問題はありますか?彼らが提供するドメイン名を通過するすべてのトラフィックを監視することはできないでしょうか。誰がどの方法(有料対DIY)がより良いかもしれないかについての情報に基づいた意見を持っていますか?

私はあなたの時間に感謝します...ありがとう!

26
Superion

私は自分の家に個人用のメール/カレンダーサーバーを設置しようとしています(はい、難しいと聞きました、それは大変なことです、といっても、やってみたいのですが)。

あなたはたぶんメール部分にそれほど幸運を持っていないでしょう。 @ Alexの答えを見てください。

iPアドレスを定期的に監視するスクリプト/プログラムが必要です。アドレスが変更された場合は、スクリプト/アプリでホームサーバーに使用しているドメイン名をすべて更新する必要があります。

それはほとんどです。

必要なドメイン/ IPレコードをプログラムで調整するには、ホスティング会社のAPIキーが必要です。

はい、同社が一般的な「Host everything」サービスを提供しているだけであれば、DNS管理APIがまったくない(代わりにWebやメールに焦点を合わせている)ので、ドメインを別の場所に移動する必要があります。

これが重要なことです。上で説明した方法でドメイン名レコードを更新すると、システム/世界中に広がるまでに数時間かかることがあります(すべてのDNSサーバーには、更新したアドレスを再設定する必要があります) ).

いいえ。DNSホスティングプロバイダの独自システムのみを更新する必要があります。それ以外の地域では、恒久的な記録は残されていません。各(サブ)ドメインの "TTL"(Time To Live)フィールドに示されている期間、個々の検索結果がキャッシュされるだけです。

しかし、私が見てきたいくつかの有料DDNSプロバイダーは、変更を瞬時に(または少なくとも私のDIY方式よりも早く)有効にする能力を促進しているようです。本当?私が逃した何かがありますか?

動的ドメインでTTLを非常に低く設定することができます(数秒まで)。これはDDNSプロバイダー自体の犠牲で、どんなキャッシュからも非常に早くドロップアウトすることを意味します。より多くの要求を受信する(DNSサーバーおよびデータベースへの負荷が高くなり、請求が増えるための言い訳)。それだけでは特別なことではなく、あらゆるDIYメソッドで実装することができます。

彼らが提供するドメイン名を通過するすべてのトラフィックを監視することはできないでしょうか。

いいえ。DNSサーバーはアドレスを提供するだけで(電話帳のように)、それ以上の通信には関与しません。

(プロバイダが実際に誤ったデータを返そうとしない限り、ニュースウェブサイトがそれを知った瞬間に会社のTTLをかなり短くするでしょう。 )

とは言っても、APIの仕組みには注意を払ってください。もちろん、このサービスに脆弱性がないことを確認することはできませんが、(たとえば)APIが暗号化されていないHTTP上で動作し、APIキーを明白に送信している場合、それは当てになりません。

42
grawity

静的IPがない場合、DDNSソリューションを使用する場合、メールサーバーを忘れてください。ほとんどの電子メールサーバーは、ユーザーからの電子メールを拒否するか、すべての動的IPが PBL リスト。 (PSのセクションで、自宅のIPにメールサーバーを置くのが良い考えではない理由を詳しく見ることができますが、中間の安価なVPS(仮想プライベートサーバーを使用する回避策の方法がまだあります)

「DDNS自分」について-APIを介して無料のIP更新を提供する優れたドメインレジストラーは、プログラムで定期的にパブリックIPを確認し、変更された場合、A(AAAA)レコード。ところで、今日のほとんどのルーターはすでにそのような機能を持っています(IPを監視し、DDNSプロバイダーに報告します)

私は、システム/世界全体に伝播するのに数時間かかるかもしれないことを読みました

DNSプロバイダーに依存し、敬意のあるレジストラはTTL(他の人にIPが変更される頻度を知らせる時間)を5分に設定することを許可します。高負荷を回避するために、これに続くすべての中間DNSサーバーを転送するわけではありませんが、通常、ドメイン所有者のTTLに従わない場合でも、数時間を超えることはめったにありません。ほとんどのフォワーダーは、ドメインTTLで設定するようにキャッシュを更新します。

dDNSプロバイダーを持つことで見落としがちなセキュリティ上の問題はありますか?

オンラインになると、すでにセキュリティ問題が発生している可能性があります。歓迎されないゲストを避けるために、サーバーをローカルネットワークから分離します。

誰がどの方法(有償対DIY)の方がよいかについて、情報に基づいた意見を持っていますか?

DDNSを使用する場合は、時間とお金を空中に投げます。現在、1か月あたり3〜4ドルでまともなVPS(仮想プライベートサーバー)を入手できます。 Webサイト(ある場合)はVPSで直接ホストできますが、通常は多くのスペースを必要としないため、サーバーを長時間実行したり、大量のメール。通常、古い電子メールを削除しなくても、3〜5年までの小規模企業に十分な20GBのスペース。大量のメールが予想される場合でも、nginx機能を使用して自宅へのメールトラフィックをプロキシできます。したがって、プライマリIPサーバーを動的IPで自宅でホストでき、VPS(静的IPを使用)が自宅への着信/発信トラフィックをプロキシします。 DNSの伝播を心配する必要がないため、ドメインは常にVPSの静的IPを指しているため、このような構成で独自のVPSを苦痛なく使用できます。ホームIPの変更をVPSに報告することを管理する必要があるため、VPSはトラフィックをプロキシする場所を認識しますが、VPSのURLをクエリし、着信IPのログを解析してnginxを調整するだけで、常に把握できますどこにいるの.

追伸.


このトピックはスーパーユーザーにとって興味深いものであることがわかるので、もう少し詳細を追加します。

PBL リストは、一般に動的IPであるIPのデータベースを保持します。したがって、 PBL は、電子メールサーバーのオペレーターにとって非常に役立ちます。技術的な問題ではないか、ISPが動的IPでメールサーバーを許可しないのは悪者です。問題は、動的IPからの電子メールトラフィックのほとんどが、スパムまたはマルウェアを大量に簡単に送信できる感染したコンピューターから来ることです- DDoS 受信サーバー(ターゲットの場合)。一部のISPは、マルウェアと DDoS の拡散を防ぐためにポート25への発信接続をブロックしますが、そうでないものもあります。事実上、すべての企業メールのサーバーは、スパムを大幅に削減する PBL リストからの接続を単にドロップします。

2番目の効果的なスパム対策ソリューションは、DNSに逆PTRレコードがなく、ドメインのDNSレコードと一致しないIPからの接続をドロップすることです。接続がPTRレコードを持たない静的IPから来た場合でも、通常は設定が誤って設定されているか、大部分がスパムギャングによって実行されているサーバーから来ています(一部の大きな(ただし不注意な)プロバイダーは除外される可能性がありますが、手動で追加できます)ホワイトリストに)。 VPSにリバースPTRレコードを設定するのは数分ですが、通常、ISPおよびPTRを設定するプロセスから取得した静的IPがPITAである場合はそうではありません(確認後にチケットを送信する必要があります) IPの元の所有者であり、逆PTRレコードを設定する必要のあるシステム管理者の慈悲を待ちます(場合によっては数時間、場合によっては1日)

また、重要ではありませんが、...電子メールの偽造を避けるため、ほとんどの電子メールサーバーの所有者は、いわゆる SPF (sender policy framework)を使用して、ドメインに代わってメールを送信できるDNS許可IPアドレス。 (MXレコードへの参照として FQDN で承認済みサーバーを指定できますが、サーバーを接続するためのDNSを介した余分なラウンドトリップ)したがって、DNSでのフローティングIPの管理は楽しいことではありません。

20
Alex

静的IPアドレスを提供しないISPがあるので、ある種の動的ドメインネームサービス(DDNS)が解決策のようです。

それが一つの解決策です。別の解決策の例として、HurricaneElectric.net IPv6トンネルは、可動トンネルエンドポイントを持つ静的(IPv6)アドレスを提供します。確かに、現時点では、IPv4はそのような機能を一般大衆にサポートするのに適していますが、喜んで協力的なコンピューターを見つけることができれば、IPv4でそのようなことを技術的に行うこともできます。

iPアドレスを定期的に監視するスクリプト/プログラムが必要です。アドレスが変更された場合、スクリプト/アプリは使用しているドメイン名を更新する必要があります。

これは技術的に堅実な計画のように聞こえます。

必要なドメイン/ IPレコードをプログラムで調整するには、ホスティング会社のAPIキーが必要です。これが間違っていて、もっと簡単な方法がある場合は、誰かに知らせてください)。

正確な詳細は、ドメイン名レジストラがこの機能をどのように実装するかの選択によって異なります。ある種のAPIキーを使用している人もいれば、自動更新をWebインターフェースに頼っている人もいます。昔は一部のISPがそのようなサービスを提供していましたが、要求に応じて手動の変更に頼っていました。だから、それは完全にあなたにサービスを提供する人次第です。

これが重要なことです。上で説明した方法でドメイン名レコードを更新すると、システム/世界中に広がるまでに数時間かかることがあります(すべてのDNSサーバーには、更新したアドレスを再設定する必要があります) ).

フンバグ。 DNS伝播は、数分、数時間または数日(例えば72時間)かかることが知られている。しかし、人々が物事を深く分析したとき、あいまいな「伝播」時間の大部分は、単にDNSホスティングプロバイダが更新に時間がかかることによるものであることがわかりました。

より良い理論では、TTLの値を待つ必要があります。しかし、その理論には問題があります...

しかし、私が見てきたいくつかの有料DDNSプロバイダーは、変更を瞬時に(または少なくとも私のDIY方式よりも早く)有効にする能力を促進しているようです。本当?私が逃した何かがありますか?

さて、ここで現実があります:あなたのアップデートが完全に有効になるためには、インターネットに古い情報のそのアクティブなキャッシュをフラッシュさせる必要があるでしょう。

標準に従って、キャッシングDNSサーバーは、構成できるTTL値で指定された期間、キャッシュに依存している可能性があります。

しかし、現実には、TTLの値を完全に無視することが知られている少なくともいくつかの(そしておそらくほとんどの場合も)非常に大規模なISPが独自のキャッシングDNSサーバーを実行することが知られています。 DNSキャッシュを頻繁に更新しないと、全体的な影響が帯域幅が狭くなる(そして計算時間が多少短くなる)ように感じるためです。

そのため、そのようなDNSサーバーに依存している電子メールサーバーは影響を受ける可能性があり、DNSサーバーが更新されるまで更新に気付かない可能性があります。場合によっては、1日か2日(または3日?)かかることがあります。

しかし、そのような効果はますますまれになっています。実際には、ほとんどのDNSサーバーは1〜2時間以内にキャッシュをフラッシュします。

一部のキャッシュは他のキャッシュほど速く更新されないため、インターネット上の一部の場所では新しいアドレスが使用されますが、それ以外の場所では古いアドレスが使用されます。 2、3時間以内に、ほとんどのコンピュータは新しい情報で問題なく動作します。 (多くの、それらの多くは数分以内に動作するかもしれません。)

電子メールソフトウェアの一般的な動作は、電子メールを送信しようとすることです。それでも失敗する場合は、後でもう一度やり直してください。電子メールサーバは通常、あきらめる前に何日も(おそらく1時間に1回)再試行を続けます。だから起こりそうなのはあなたがEメールを失うことはないということですが、それは少し遅れるでしょう。

Alexのコメント「すべての動的IPはPBLリストに含まれている」は、この情報が一元管理されていないため(明らかに間違っています)、多くの動的IPはそのようなリストに含まれています。電子メールに関連する一部のコンピュータ/デバイスはあなたと協力しないことを決定するかもしれないことを意味します。

また、私は別の懸念があります:DDNSプロバイダーを持つことで私が見逃しているかもしれないセキュリティ問題はありますか?

最大の懸念は、あなたのアップデートが安全な方法で処理されるかどうかです。

彼らが提供するドメイン名を通過するすべてのトラフィックを監視することはできないでしょうか。

いいえ。DNSサーバーの仕事は、ドメイン名の要求を受け取り、応答を返すことです。従来の一般的な応答は、1つ以上のIPアドレスを指定することです。他のDNSサーバまたはドメイン名(たとえば、CNAMEを含む)、または他のデータ(たとえば、より新しいDNSSec規格を介してセキュリティを提供するのを助ける)を参照するなど、他の応答も可能である。

誰もが情報に基づいた意見を持っていますか...

真面目なEメールサーバーを本当に運用したいのであれば、最新のEメール標準に準拠することを検討したいと思うかもしれません。これには、SMTPおよびDNSの技術仕様に準拠しているだけではありません。多くの人が大規模なプロバイダを使用しており、それらの大規模なプロバイダは独自の期待を実装する可能性があります。

例えば、私は何年も前にDebianとPostgreyでセットアップされたEメールサーバを知っています。 Postgreyは「グレーリスト」スパム対策処理を提供するソフトウェアです。ただし、使用されているPostgreyのバージョンは、EメールサーバがEメールを再試行するときに、送信Eメールサーバが同じIPアドレスを使用すると想定しています。 Office 365電子メールサーバーは、まだIPv6/64サブネット内にある別のIPアドレスから電子メールの送信を再試行することが知られています。 Postgreyはそれが好きではありません。

ますます多くの組織がOffice 365に切り替えているので、これはその古いEメールサーバーを使用している人々にとってますます問題になっています。 Postgreyソフトウェアの新しいバージョンがリリースされましたが、そのようなソフトウェアをインストールする簡単な方法はそのオペレーティングシステム用の公式のソフトウェアリポジトリを使うことです。したがって、実際には、そのソフトウェアを更新するための賢い方法は、オペレーティングシステムをアップグレードすることです。

「mail」で始まるDNS名を付けるなど、他の規則もあります。これはあなたの設定が多かれ少なかれ信頼できると判断される原因になります。これは、デバイスがあなたを非準拠のスパマーのように扱うのか、それとも通信する価値のあるデバイスのように扱うのかに影響を与える可能性があります。

確かに、公式の技術仕様について非常に厳密に言えば、巨大な組織は、使用されているプロトコルの技術仕様を含むRFC文書によって要求される最小要件とは異なるいくつかのアクションを実行しています。しかし、より大きなインターネットコミュニティと通信したい場合は、いくつかの重要な/大規模なプレーヤーによって課される追加の標準がいくつかあります。これらの基準を十分に満たすように準備するか、またはいくつかの問題に遭遇するように準備してください。

私は、これらの標準がまさにその内容について変更する可能性があるので、少しあいまいにしています。

古いDebianオペレーティングシステムをアップグレードする必要がある古いEメールサーバに関しては、とにかく人々はもっと頻繁にオペレーティングシステムをアップグレードするべきです。しかし、私が指摘しているのは、何年もの間完全にうまく機能していたソフトウェアの設定は、現在では壊れているということです。遅いインターネットプロバイダでダイナミックDNSを使用するなど、変わったことをやろうとすると、途中でさらに問題が発生する可能性があります。あなたが野心的に聞こえるように、多分あなたはそれに努力を投資することができます。私はそれをする必要があることを準備するようにあなたに警告しているだけです。

...どちらの方法(有料対DIY)がより良いかもしれませんか?

他の人が指摘したように、支払いははるかに簡単になり、そしてほとんどの人にとってかなり経済的です。大規模なプロバイダは、MXレコードが指し示すことができるように安定したIPアドレスを提供する可能性があり(したがって電子メールがそこに行きます)、特により優れた帯域幅を提供する場合があります。

DIYは、経験を積んで物事がどのように機能するかを学び、大企業の実装に頼らないことを選択するのに適しています。実装をより細かく制御することで、大幅なカスタム変更をより迅速に行うこともできます。

どちらが「より良い」かはあなたの個々の目標に左右されるでしょうから、私はあなたにそのような結論を任せます。

7
TOOGAM

はい、DDNSサーバーを自分でホストすることも可能です(実際、私はDynDNSに準拠した DJB用の実装を作成しました 私自身もしばらく前に作成しました)。あなたはあなたのDNS名を更新するために動的IP上で通常のDynDNSクライアントを使うことができますが、サーバーコードはまだ静的IPでどこかで動くでしょう( GTLDサーバーとして まだ必要ドメインのNSレコードを静的IPアドレスに指定する)。

また、自分でDNSをホストせずにサードパーティのDNSプロバイダにオフロードした場合は、IPアドレスを変更するためのAPIが提供されている可能性があります。それはおそらく適切なDDNS解決策よりも遅く伝播するでしょう、そしてあなたは明らかに完全に自己ホスト型ではないがDNSサービスをその第三者に依存しているでしょう。それらは通常悪意はありませんが(そして心配するべき他の多くのインターネット上のセキュリティ問題があります)、私はそれでも私の管理下での解決策を好むでしょう。ロックインされている)。

私はまた、(オープンソースの Nextcloud および Mediagoblin インスタンスを使用して)データをGoogleまたは他の人に渡すのではなく、自分のCalendar/Contacts/Picturesサーバーインスタンスを実行します。私は静的IPを使って「私の」VPSでそれらを実行していますが(どちらもより簡単でより広い帯域幅を提供するため)、どちらも自宅にある動的IPで実行することができます。

また、他の人が言ったように、メールを送るためにあなたはPBLブラックリストのためにそのサーバーから直接メールを確実に送ることはできないでしょう(それは時々働く、他の時に失われるか跳ね返される、またはSPAMとしてマークされる)他のSMTPサーバー(gmailやISPからなど)経由で転送しても問題ありません。

ただし、動的IP上の受信メール(MX)サーバーはかなり問題があります。たとえば、IPを変更しているときにメールが届いた場合、それはあなたがしばらく前に持っていたIPに配送しようとする可能性がありますが、今は他の顧客が持っています。ほとんどの場合、単に接続が失敗してメールが遅れることになりますが、他の顧客もSMTPサーバーを実行していると、そのメールは自分に配達されるか、「受信者が存在しません」という致命的エラーで返送されます。自動的にあなたのメーリングリストなどからあなたの購読を中止します。また、あなたのIPがリバースDNSを持っていない場合(あるいは動的に見える場合もあります)、いくつかのメールサーバはあなたへのメール配送を拒否します。

しかし、紛失したメールや誤って転送されたメールの何パーセントかが問題にならない場合は、ぜひお試しください。

あなたのISPがあなたの低価格の "消費者向けインターネット"上でサービスを運営していることに対するあなたの規則を持っていて、彼らがあなたが契約を破ったのを見つけるならあなたをシャットダウンするかもしれないあるいは、tcp/25、80、443などの人気の低いポートで、自宅への着信接続を積極的にブロックしている可能性もあります(ISPを変更するか、より高価なビジネスクラスに参加しない限り) msgstr "これは通常静的IPも持ちます)。

最後に注意すべきことは、多くの典型的な家庭用インターネット接続(ADSL、ケーブルなど)では速度が非対称であるということです。つまり、ダウンロードはアップロード速度よりはるかに速いということです。 (FacebookやGoogleに頼って権利を放棄する代わりに)写真のようなもっと大きなパブリックコンテンツを自宅から提供する場合は、時間がかかります(あなたから写真をダウンロードする人にも違います)。だけでなく、あなたの全体のインターネット接続のために)。

5
Matija Nalis

他の答えは既にDDNSの部分を説明しました。

なぜ電子メールを送信するには別のサーバーを使用する必要があるかを説明します(@Alexからの簡単な説明は不完全なため)。

最も重要なのは、電子メールを送信するために有効な逆PTRレコードが必要です - IPアドレスの逆DNSレコードが送信者ドメインと一致しない場合、多くの電子メールサーバーがそれをチェックしてメールをバウンスします。この記録はIPアドレスの所有者によって提供されます。あなたのISPによって。

さて、あなたがどういうわけか有効になり、動的にリバースDNS(ha-ha)を更新したとしましょう。あなたのドメインは合法であり、あなたの送信メールはスパムではないということを、あなたはまだ皆に納得させる必要があります。

@Alexで説明されているように、小規模メールホスティング業者はspamhausや他のオンラインブラックリストを使用するのが大好きです。しかし、私はそれらの企業管理者が他の多くの愚かなこと(Gmail/Hotmailから来ないすべての電子メールをブロックするなど)をするのを見ました。実際には、それは単なる "企業の管理者"ではありません - Sourceforgeが正規の企業の電子メールドメインからの登録をブロックしたのです。フィルタは、あなたが悪いと思います」。無視してください - あなたは空の下でみんなとの互換性を保つことはできません。

最近の巨大メールホスティング業者はspamhausや他のPBLに頼っていません。彼らはあなた自身の信頼性を追跡します。送信者評価(少なくともその大部分)はIPに関連付けられています。これは、スパマーがホストから頻繁にブートするため、IPを飛び越えることを余儀なくされているためです。 Gmailの観点からは、最近作成されたドメイン/ IPは一般的なスパム発信者と同じです。あなたがEメールを送り始めるとき、あなたの評判は低いです(あなたはデフォルトでスパマーとして扱われます!)。送信メールの大部分はスパムとしてマークされます。誰かがあなたのEメールに返答するか、特に(彼らのEメールプロバイダーのWebインターフェースの対応するボタンを押すことによって)それを合法的であるとマークするとき、あなたに対する信頼はわずかに増加するでしょう。ご覧のとおり、送信者の評判を高めるには、何年にもわたって同じIP上で同じドメインを使用する必要があります。これは動的IPでは確実には行えません。


VPSをホストからリースすると、ホームサーバーを動的IP上に維持することがはるかに簡単になります。あなたはそのVPSを極めて低いTTLであなた自身のDDNSサーバーとして使うことができるでしょう。ホームボックスのIPの変更を処理するために、DNSを使用せずに他の手段(HTTPリダイレクションなど)を使用することもできます。あなたはまだあなたのホームボックスに直接Eメールを受け取ることができます - あなたのホームIPがダウンしているか最近変更されたとき、オプションでVPSへのフォールバックで。

2
user1643723

それはPHPスクリプトを使用してCPanel上で行うことができます - ちょうどあなたのセキュリティを正しく設定すること(HTTPSなど)を確実にし、あなたのホスティングプロバイダーからToSを読んでください。

https://www.shadowsplace.net/1231/internet/use-whm-cpanel-as-dynamic-dns-service/

一般的なダイナミックDNSプロバイダのURLスキームを模倣する場合は、「ブラックボックス」機器(NAS、IP Camなど)に組み込まれているダイナミックDNS機能を使用して、代わりにルータにリクエストをホストにリダイレクトさせることができます。 。

0
user931974