内部アドレスの要求をlocalhostにルーティングする方法

内部アドレスの要求をlocalhostにルーティングする方法

あるホスティング環境から別のホスティング環境に移動し、ネットワークにいくつかの変更がありました。

以前は、サーバーから独自の外部 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 aIPの代わりにプライベートIPが表示されることがあります)。

私の推測は正しいですが、103.250.241.12そうでない場合短命、以下を考慮することができます。

iptables -t nat -I OUTPUT -d 103.250.241.12 -j REDIRECT

バラよりiptables 拡張(8)もっと学ぶ。

おすすめ記事