
あるホスティング環境から別のホスティング環境に移動し、ネットワークにいくつかの変更がありました。
以前は、サーバーから独自の外部 IP アドレスに送信する要求は localhost にルーティングされており、ping 時間は localhost ping 時間と区別できませんでした。
wg@akl2:~$ ping akl2.wb.gs
PING akl2.wb.gs (112.109.67.244) 56(84) bytes of data.
64 bytes from akl2.wb.gs (112.109.67.244): icmp_seq=1 ttl=64 time=0.059 ms
64 bytes from akl2.wb.gs (112.109.67.244): icmp_seq=2 ttl=64 time=0.031 ms
[...]
wg@akl2:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.057 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.033 ms
これで OpenStack 環境にあるので、ping 時間が大きく異なります。
ubuntu@legacy1:~$ ping legacy1.webgenius.co.nz
PING legacy1.webgenius.co.nz (103.250.241.12) 56(84) bytes of data.
64 bytes from 103-250-241-12.rev.nz-hlz-1.catalystcloud.nz (103.250.241.12): icmp_seq=1 ttl=63 time=0.912 ms
64 bytes from 103-250-241-12.rev.nz-hlz-1.catalystcloud.nz (103.250.241.12): icmp_seq=2 ttl=63 time=0.643 ms
[...]
ubuntu@legacy1:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.051 ms
上記の2つの要求はマシンから離れてはいけませんので、完全にローカルでなければなりません。
これらのリクエストをローカルインターフェイスにどのようにルーティングできますか?
答え1
私の考えでは、後者の場合、そのIPが1:1のネットワークアドレス変換専用であっても、103.250.241.12
サーバーで直接構成されていないようです(例:を実行すると、前述のip a
IPの代わりにプライベートIPが表示されることがあります)。
私の推測は正しいですが、103.250.241.12
そうでない場合短命、以下を考慮することができます。
iptables -t nat -I OUTPUT -d 103.250.241.12 -j REDIRECT
バラよりiptables 拡張(8)もっと学ぶ。
答え2
他の答えに加えて:
すべての要求がホスト名を介して行われたら、.iptablesにlegacy1.webgenius.co.nz
追加して/etc/hosts
解決することもできます。127.0.0.1
ip addr
推奨事項に従って検査を行います。