ホストファイルのドメイン名へのIP範囲マッピング

ホストファイルのドメイン名へのIP範囲マッピング

私はWi-Fiで働いています。これは、ネットワークに接続するたびにシステムIPが変更されるためです。私の仕事のためには、私のIPを特定のドメイン名にマップする必要があります。したがって、IPを更新するには、毎日ホストファイルを変更する必要があります。これは本当に迷惑なことであり、解決策があることを願っています。したがって、ホストファイルの対応するドメイン名にIP範囲を追加する必要があります。それを行う方法はありますか?

ベストアンサー1

実際、DHCP 割り当て IP アドレスをホストファイルに入れる必要はありません。たとえば、ブラウザにそれを指し、http://your-domain-here/ローカルWebサーバーに応答させることができます。 (他のクライアント/サーバー設定と同じ)この場合、ドメインを次に始まるIPであるlocalhost IPにマッピングするだけです。127.127.0.0.1 を使用すると、リバースルックアップに奇妙な答えが出る可能性があるため、使用しないことをお勧めします。ホストファイルにない新しいホストを選択するだけです。

別のオプションは、固定RFC1918空間IPアドレス(192.168.xx、10.xxx、172.16–31.xx)を選択し、それをローカルインターフェイスに追加し、そのIPアドレスを使用することです。

現在のIPアドレスにマッピングする必要がある場合は、通常、DHCPを介してコンピュータがIPアドレスを取得したときに実行するどこかにシェルスクリプトを配置できます。 dhclientを使用すると、スクリプトを/etc/dhcp/dhclient-enter-hooks.d/dhclient-script(8) のマニュアルページ文書化されていますが、以下の(非常にテストされていない)操作が機能する可能性があります(moreutilsパッケージの「スポンジ」を使用)。

#!/bin/sh

MY_DOMAIN=your-domain.com

if [ "$reason" != "BOUND" ] && [ "$reason" != "REBIND" ]; then
    exit 0
fi

grep -v " $MY_DOMAIN\$" /etc/hosts | sponge /etc/hosts   # really should escape the dots in the domain, but probably doesn't matter.
printf '%s %s\n' "$new_ip_address" "$MY_DOMAIN" >> /etc/hosts

これは非常にテストされていません。/etc/hosts試す前に必ずバックアップしてください!

おすすめ記事