GNU/Linux >> Linux の 問題 >  >> Linux

ISP からの IP アドレスの変更に対応する方法は?

Wouter がコメントしたように、既存のセットアップはすでにかなりまともなようです。

dhclient への依存度を下げたい場合 、Debian にパッケージ化された多くの動的 DNS クライアントを見ることができます。

例:ddclient DHCP の変更に対応したり、単にイーサネット インターフェイスを監視したりできます。 IP アドレスが変更されたとき (そのときのみ)、動的 DNS エントリを更新し (任意の数のプロバイダーで)、別のスクリプトを実行できます (両方のユースケースをカバーします)。


関心の分離の原則に従って、ソリューションをさらに簡素化/分割することを提案します:

  • スクリプト /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change アクションを実行する必要があるかどうかのみを判断し、そのアクションを別のスクリプトに委ねる /usr/local/bin/act_on_ip_change
  • スクリプト /usr/local/bin/act_on_ip_change 必要な変更のみを実行する

これらの懸念事項を分離する理由は次のとおりです。

  • dhclientかどうかを個別にテストできます (デバッグ中にシステム上で実際に何も変更せずに) 正しくトリガーされている
  • IP を更新せずに (したがって、潜在的に失う可能性がある) 「変更の作成」をテストできます
  • /usr/local/bin/act_on_ip_change を実行できます 必要に応じて手動で
  • パーツがより理解しやすくなりました

要するに、これを /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change_action にすることをお勧めします :

# based on /etc/dhcp/dhclient-exit-hooks.d/debug

if [ "$reason" = "BOUND" -a "$old_ip_address" != "$new_ip_address" ]; then
  /usr/local/bin/act_on_ip_change
fi

Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux – / usr/binと/usr/sbinを/bin(gnu / linux)にマージしますか?

  3. ディレクトリの移動とファイルの実行を 1 つのコマンドで実行

  1. #!/usr/bin/env bash と #!/usr/bin/bash の違いは何ですか?

  2. Cron からのメールの From:フィールドを変更するには?

  3. #!/bin/sh vs #!/bin/bash 移植性を最大限に高める

  1. / usr/binと/usr/ local / bin Linuxの場合?

  2. Linux – / procからインターフェイスのIpv4アドレスを取得する方法は?

  3. /optと/usr/ localの違いは?