IPの代わりに/etc/hostsのファイルへの参照を使用してください。

IPの代わりに/etc/hostsのファイルへの参照を使用してください。

私のホスト(hostname)からインターネット経由でホスト名(hostname)の外部ホストに接続したいとlocalhost思います。exthostパブリックIPアドレスはexthostインターネットプロバイダによって動的に割り当てられます。

私の言葉は、exthost常にその名前を使用し、プロバイダが割り当てた値(変更される可能性があります)に基づいてその名前を実際のIPアドレスにマッピングすることです。

この目的のために、/etc/hosts接続された回線を正しく更新するIPアドレス値を使用したいと思いますexthost

たとえば、/etc/hostsLinuxの行は次のようになります。

<ip_address>    exthost.domain     exthost

私はUbuntu 18.04を使用していますが、これは確かに他のディストリビューション/ Unixシリーズシステムにも当てはまります。

この目的のためにのみDNS(および時には無料サービスではなく動的DNS)を設定せずにこれを実行できますか?

<ip_address>たとえば、明示的なIPではなく文字列として必要なIPのみを含む他のファイルへの参照を使用できますか?これにより、ユーザーは異なる可能性のあるIP値に基づいてファイルにアクセスして変更できます。


メモ:この問題ローカルマシンに関するものなので、状況が違うようです。私は外部ホストに言及しています。

ベストアンサー1

カスタムホストファイルが存在しないLinuxでは、HOSTALIASESを使用して正式名を処理できます。

あなたの質問に正しく答えたら、ダイナミックDNSサービス(DynDNSやNo-IPなど)を使用して、ISPに常に正しいパブリックIPアドレスを割り当てさせることができます。

exthostその後、HOSTSALIASESを使用して動的DNSサービスによって提供されるFQDN名にマッピングできます。

HOSTALIASES値をエクスポートし、ファイルexport HOSTALIASES=~/.hostsに次の行を追加して、exthostをno-ipが提供するFDQN名にマップします。~/.hosts

exthost yourname.no-ip.org

HOSTALIASES は、IP ではなく正規名に対してのみ機能します。したがって、FQDN名を取得するには動的DNSサービスを使用する必要がありますが、そのFQDNを使用してHOSTALIASESを完全にスキップできます。

/etc/hosts一部のDNSサービスを設定したり、リモートサイトにスクリプトを作成して常にパブリックIPを送信したり、ローカルファイルでそのIPを変更しないとこれを行うことはできません。

別のオプションは、ユーザーに変更権限を付与するか、chroot環境でユーザーを設定し、/etc/hostschroot環境で独自のファイルを提供することです。/etc/hosts

おすすめ記事