/etc/hostsのIPアドレスは常に失敗しますか?

/etc/hostsのIPアドレスは常に失敗しますか?

/etc/hostsホスト名を追加してホスト名を確認しても、実際にDNSルックアップを実行できないことがわかります。これは次のような行になります

123.45.67.89 myhostname

私の質問は、この部分への接続試行がmyhostname常に失敗するように、最初の部分(IPアドレス)をどれだけ高く設定できるかです。

編集する:失敗とは、可能であれば明示的なICMP拒否を意味します。タイムアウトを待ちたくありません。

理由

時には、仮想マシンのインスタンスがどこかで実行されています。クラウドサーバーは起動するたびに異なるIPを設定し、パブリックドメイン名の支払いを行いません。インスタンスを起動し、/etc/hostsそのホストのブラウザタブを簡単にSSHで接続または開くための行を追加するスクリプトがありますmyhostname

それはすべて良いですが、私も欲しいです。削除するこのエントリは、インスタンスがシャットダウンして接続しようとしたときに発生します。myhostname いいえDNSルックアップを実行するか(悪い場合)、現在使用しているローカルドメインから同じ名前の一部のホストに接続しようとします。

ベストアンサー1

したがって、a) リモートコンテンツと一致しないことが保証され、b) すべてのコンテンツを拒否する IP アドレスが必要です。

何かを作る:

iptables -I INPUT 1 -i lo -d 127.66.66.66 -p tcp -j REJECT --reject-with tcp-reset
iptables -I INPUT 2 -i lo -d 127.66.66.66 -j REJECT

(または選択したiptablesファイアウォール管理ツールと同じです。)

これで、127.66.66.66へのすべてのTCP接続は応答としてTCP RSTパケットを受信し、他のすべての接続はICMP拒否を受信します。 (私の経験では、TCP RSTは通常ICMPよりも速くTCP接続を拒否します。)

IP アドレス 127.66.66.66 はループバック セグメント内にあるため、ローカル以外のすべてを妨げないことが保証されます。

おすすめ記事