localhostを指すようにIPアドレスを変更するにはどうすればよいですか?


10

Webアプリのサンドボックス環境には、IPアドレスで直接到達http://<my_ip_address>できます。ログイン名は必要ありません。

という名前のローカルマシンで仮想ホストを作成し、<my_ip_address>/ etc / hostsを変更してローカルホストに「リダイレクト」する方法はありますか?

127.0.0.1 <my_ip_address>

だから私がURLをロードするとhttp://<my_ip_address>、ブラウザは私のローカルホストをポイントしますか?ドメイン名をリダイレクトできる方法。

回答:


21

ホストファイルは、ドメイン名をIPに関連付けるためにのみ使用できます。IPをIPにマップすることはできません。

IPの変更はファイアウォールで行うことができます。Linuxでは、デフォルトのファイアウォールはiptablesコマンドによって制御されます。「man iptables」はドキュメントです。導入的な説明については、Googleで「iptablesを説明」してください。

いくつかのリンク:

http://linux.die.net/man/8/iptables

http://www.linuxnix.com/2009/12/iptables-in-linux-explained.html

http://blog.adityapatawari.com/2011/12/ip-packet-filtering-iptables-explained.html

具体的には、送信リクエストをPCからIPアドレス(<my_ip_address>)に変更して、代わりに別のIPアドレス(この場合は127.0.0.1)に移動するようにします。"宛先IP"(例:123.45.67.89)を指定して、NATネットワークアドレス変換)を実行<my_ip_address>し、別の "宛先IP"(127.0.0.1)に変更します。

これを試してください(123.45.67.89の代わりに、変更する必要があるip_addressを入れてください):

iptables -t nat -A OUTPUT -p all -d 123.45.67.89 -j DNAT --to-destination 127.0.0.1

詳細:

-t nat =あるアドレスを別のアドレスに変換するためのテーブル

-A OUTPUT =ローカルで生成された発信パケットのルールのリストに追加します。 セキュリティ警告:ルールにこのOUTPUTディレクティブが含まれていることを確認してください。そうしないと、リモートロケーションからの一致する着信パケットもローカルホストに送信されるため、ルールによってセキュリティホールが発生する可能性があります。

-p all =すべてのプロトコル(tcp、udp、およびicmp)に適用されます。

-d 123.45.67.89 =パケットが送信された元のIPアドレス(その宛先)。

-j DNAT =ルールが一致する場合(この場合、発信パケットに宛先IP 123.45.67.89がある場合)、それをDNATで処理し、宛先を変更します。

--to-destination 127.0.0.1 = DNATに何をすべきかを伝えます。元の宛先を「12.7.0.1」に置き換えます。

(注:特定のWebページへのリクエストのインターセプトなど、より複雑な状況が発生した場合は、「プロキシ」ソフトウェアを使用することもできます。)


ここにはセキュリティ上の懸念があることに注意してください。127.0.0.1は、通常、どのリモートホストからも到達できないと理解されています。フィルタリングを追加せずにそれを変更すると、セキュリティ対策を誤って無効にする可能性があります。
Slartibartfast 2014年

@Slartibartfast-OUTGOINGリクエストのみを変更することに注意してください。そして、このPCのファイアウォールに変更を加えています。(一部のリクエストは、外部サイトに送信されますが、ループバックして自分自身に戻ります。)これにより、INCOMINGリクエストは変更されないため、リモートが表示/実行できるものには影響しません。これを考慮しても、まだセキュリティ上の懸念がありますか?
ToolmakerSteve 2017

1
...重要な安全対策は、ルールに「-A OUTPUT」を含めることです。あなたのコメントに従って、人々はあなたが説明する危険を伴うであろうことを省略することを知っておく必要があります。これを強調するためにコメントを追加します。
ToolmakerSteve

3
正常に動作していますが、iptables --listまたは--list-rulesのどこにもリストされていません。リストにして、不要になったときに削除するにはどうすればよいですか?
フィリップステファノフ2017年

@FilipStefanov(少し遅れて、私が知っている!):リスト彼らの次の番号とNATのルール:iptables -t nat --list --line-numbers その数によって支配されたことがないし、Delete: iptables -t nat -D OUTPUT <number>
リチャード・ウォルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.