/ etc / hostsは上書きされます


14

編集の正しい方法は何/etc/hostsですか?IPアドレスとホスト名を追加します。しばらく(数時間)動作し、その後元のバージョンに戻ります。ステータスを確認して/etc/hosts元に戻すプロセスはありますか?

私はマウンテンライオンのMBAを取得しています。


FWIW、これは私には起こりません。システムによって削除されたことのないプライベートネットワーク(アドレス10.0.0.2)のコンピューターへのエントリが/ etc / hostsにあります。しかし、おそらくローカルネットワーク(10 / 8、172.16 / 12および192.168 / 16 – RFC 1918を参照)にアドレスを残し、グローバルIPv4アドレスを指すアドレスを削除しますか?</speculation>
ハラルドハンシュオルセン

実際、しばらく前にいくつかのエントリを追加しましたが、それらは残りました。新しいものは削除されています。どちらも同様のサブネットにあります。
モハマドモギミ

ファイルを変更しているプロセスを特定できましたか?fseventerのようなツールは、ファイルの編集内容を理解するのに役立ちます。通常root:wheelが所有しているため、ファイルを編集できるプログラムのリストは非常に小さいはずです。また、ファイルに不変フラグを設定するだけで、変更を元に戻す必要がなくなります。
bmike

回答:


10

犯人を見つけるのを助けるツールとして、書き込み用にファイルを開くプロセスのpidと名前をファイル名とともに出力するdtrace onelinerがあります。

dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }'

ルートとして実行する必要があります(たとえば、sudoを使用)。grep hosts出力にPipeれ、探しているものを見逃さないようにパイプします。

sudo dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }' | grep hosts

うまくいけば、これでファイルを上書きしているプロセスがわかります。トリガーされるまで、ターミナルウィンドウで実行するだけです。


12

Juno Pulse VPNクライアントを使用している場合、次/etc/hostsによって上書きされます/etc/jnpr-pulse-hosts.bak


8

シスコのAnyConnect VPNクライアントを使用していますか?その場合は、代わりに/etc/hosts.acを編集し、それをライブファイルにコピーする必要があります。このMacOSXHintsの記事とこれらの以前の 質問を参照してください。

編集:Janos Pulseについては特に何も見つかりませんが、JuniperのNetwork Connectは/ etc / hostsで混乱し、Pulseも同じことをするのではないかと疑っています。このブログ記事によると、接続中に変更を加えると、切断すると元に戻りますが、切断中に行った変更は保持されます。


いいえ、AnyConnectを使用していません。/etc/hosts.acもありません。ただし、別のプロキシソフトウェアを使用しています
。JunosPulse

1
この動作はJunos Pulse 5.1.8で確認できます。/etc/hosts切断中に変更を行う必要があります。変更しないと失われます。
MisterEd

8

私にとってはファイルにあります

/etc/pulse-hosts.bak

ホストのディレクティブをカスタマイズするには、このファイルを編集する必要があります

Pulse Secure VPNを使用して再接続/接続する場合、次のディレクティブをマージします。

/etc/pulse-hosts.bak

Pulseディレクティブのコンテンツを使用して、

/etc/hosts

2018アップデート

Pulse Secureの新しいバージョンでは、最初にプログラムを終了する必要があります(アクティブなプロセスを確認してください)。

ホスト(/ etc / hosts)を変更してから、Pulse Secureを再起動します。


-1

VPNに入った後、quickstart cloudera VMを使用できませんでした。この問題を解決するには、以下の手順に従いました。

ステップ1:/private/etc/hostsたとえば

127.0.0.1 quickstart.cloudera

ステップ-2:たとえば、F5 VPNを使用しているためにVPNに入ります

ステップ-3:/etc/hosts以下のコマンドを使用して、上記のエントリを確認します

cat / etc / hosts

役に立つことを願っています。


これは、質問で説明されている問題、つまり「何か」の上書きにどのように対処します/etc/hostsか?
nohillside

こんにちは、@ nohillside、ファイルに127.0.0.1 quickstart.clouderaエントリを追加しましたが、/etc/hostsVPNに接続しているときに消去/上書きされました。追加するには127.0.0.1 quickstart.cloudera恒久的にエントリを、私はそれを追加/private/etc/hostsファイル。内部的には、VPNに接続しようとするたびに、すべてのエントリをから/private/etc/hostsにコピーします/etc/hosts。今、それが理にかなっていることを願っています。
シュレアッシュリンフェトワラ


macOSでは/etcprivate/etcそうするためのシンボリックリンクで/etc/hostsあり/private/etc/hosts、実際には同じファイルです(実行ls -li /etc/hosts /private/etc/hostsして確認します)。
nohillside

1
あなたは正しい@nohillsideですが、/private/etc/hosts私の問題にエントリを追加すると解決し、VPNに接続した後もエントリは消去/上書きされません。
シュレアッシュリンフェトワラ

-1

/ etc / hostsファイルを変更するときは、VPNに接続していないことを確認してください(少なくともJuniper NetworksのNetwork Connectを使用している場合)。

https://mcphersonz.wordpress.com/2009/11/12/etchosts-file-is-reverting-to-a-previous-state-in-os-x/で説明されているように


1
この質問には、6年前から受け入れられている答えがあります。元の投稿では、使用中のVPNについては言及していません。あなたの質問は、VPN(特にJupiter Networksの1つ)を使用しているときにこの問題を経験する他のユーザーにとって役立つかもしれませんが、元の投稿とはほとんど関係がありません。
IconDaemon

@IconDaemon暖かい歓迎をありがとう。6年前であることは、ページが検索エンジンの最初のヒットであるため、無関係です。また、他の4つの回答では、受け入れられた回答がOPの問題を解決したように見えたとしても、VPNがまったく同じ問題を引き起こす可能性があることを既に述べています(私の場合)。ただし、彼でさえGordonへのコメントで、VPN(Junos Pulse)を使用したことを認めています。VPNを無効にすることは、スタニスラスの回答の更新で既に言及されているので、あなたは私の答えを投票する権利があったかもしれません(しかし、それはあなたの言うことではありません)。
ミシェル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.