私のホスト(hostname)からインターネット経由でホスト名(hostname)の外部ホストに接続したいとlocalhost
思います。exthost
パブリックIPアドレスはexthost
インターネットプロバイダによって動的に割り当てられます。
私の言葉は、exthost
常にその名前を使用し、プロバイダが割り当てた値(変更される可能性があります)に基づいてその名前を実際のIPアドレスにマッピングすることです。
この目的のために、/etc/hosts
接続された回線を正しく更新するIPアドレス値を使用したいと思いますexthost
。
たとえば、/etc/hosts
Linuxの行は次のようになります。
<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/hosts
chroot環境で独自のファイルを提供することです。/etc/hosts