そのため、localhostにマップするIPアドレス5x.2x.2xx.1xxがあります。私のhostsファイルには次のものがあります:
cat /etc/hosts
127.0.1.1 test test
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
5x.2x.2xx.1xx 127.0.0.1
私が達成したいのは、このマシンで5x.2x.2xx.1xxに接続すると、localhostに移動することです。
私が本当に欲しいのは、MySQLに接続することです
mysql -uroot 5x.2x.2xx.1xx -pそして、そのIPアドレスをポイントする代わりに、ローカルMySQLサーバーを使用したい
現時点ではサーバーのIP(5x.2x.2xx.1xx)にリダイレクトされるため、機能していません
私も試しました:Sudoサービスのnscdは運が悪ければ再起動します
/etc/hosts
は、特定のDNS nameを実際に持っているものとは異なるIPアドレスにマップする場合に使用できますが、IPアドレスがアプリケーションによってすでに指定されている場合は、そのホスト名解決の操作は役に立たないでしょう。アプリケーションはすでに接続するのに完全に適切なIPアドレスを持っているので、ホスト名解決サービスを必要としません。
指定したIPアドレスに送信されるトラフィックをローカルシステムにリダイレクトする場合は、iptables
が必要です。
Sudo iptables -t nat -I OUTPUT --dst 5x.2x.2xx.1xx -p tcp --dport 3306 -j REDIRECT --to-ports 3306
これにより、システムから5x.2x.2xx.1xxのデフォルトのMySQLポート3306へのすべての発信接続が、ご使用のシステムのポート3306にリダイレクトされます。 5x.2x.2xx.1xxと3306を実際のIPアドレスとポート番号に置き換えます。
上記のコマンドはすぐに有効になりますが、設定を永続化するために何か他のことをしない限り、再起動後も維持されませんが、おそらくそれさえ必要ないでしょうか?
いいえ、機能しません-システムがIPを検出すると、DNSルックアップをスキップします(ホストファイルルックアップも含まれます)。そして、もしそれが機能するとしたら、(おそらく)何かが壊れるでしょう。とにかくそれはファイルの後方にあります。
ip.add.re.ss hostname
だからあなたがしたい
127.0.1.1 5x.2x.2xx.1xx
そして、それは機能しません。そして、私はまだそれがものを壊すと感じています。
代わりに名前を使用し、必要に応じて名前を変更することで機能します。
IE、
127.0.1.1 dbhost
そしてそれを
5x.2x.2xx.1xx dbhost
必要に応じて。そして、常にmysql -h dbhost -u root -p
どのIPが名前を指しているかに関係なく...