前提・実現したいこと
同じレンタルサーバー会社で管理されている、LinuxサーバーAのiptablesの設定により、LinuxサーバーAへのアクセスをLinuxサーバーB(Apach HTTPインストール済み)にアクセスするように転送処理?のようなものを実装したい。
また、LinuxサーバーAにはVPNサーバーがインストールされていて、PC -> LinuxサーバーAにはプライベートIPでアクセス可能。
環境構成
PC -> サーバーA(VPN) -> サーバーB(WEB)
実施したこと
参考サイトをもとに、下のコマンドをLinuxサーバー上で実行。
iptables -t nat -A PREROUTING -d AAA.AAA.AAA.AAA -j DNAT --to BBB.BBB.BBB.BBB iptables -t nat -A POSTROUTING -d BBB.BBB.BBB.BBB -j SNAT --to AAA.AAA.AAA.AAA
補足: AAA.AAA.AAA.AAAはサーバーAのeth1に割り振らているプライベートIPアドレスで、BBB.BBB.BBB.BBBはサーバーBのグローバルIPアドレス
困っていること
上記記載の参考サイト通りに実施したのですが、うまく設定が反映されていないためか(or 技術的に難しいのか)サーバーAにアクセスしてもサーバーBのWEB画面を閲覧することができません。
こういった場合に、まずどうやって原因の切り分けを実施していけばいいのか教えていただきたいです。
追記
表示されるエラー
WEBブラウザからサーバーBにアクセスしようとすると、「このサイトにアクセスできません」と表示されます。
(サーバーの応答時間が長すぎるためアクセスできない状態です)
また、サーバーBのグローバルIPアドレスをWEBブラウザに入力すると、WEB画面が正常に表示されます。
ネットワーク構成
登場人物であるPC、サーバーA(VPN)、サーバーB(WEB)のネットワーク構成を下にまとめます。
- PC
NIC | IPアドレス | 備考 |
---|---|---|
VPN用仮想NIC | 192.168.0.2/24 | 下のサーバーAのlocal_tapと疎通可 |
- サーバーA(VPN)
NIC | IPアドレス | 備考 |
---|---|---|
eth0 | 10.0.0.1/8 | グローバルIPはxxx.xxx.xxx.xxx |
VPN用仮想NIC(local_tap) | 192.168.0.30/24 |
- サーバーB(WEB)
NIC | IPアドレス | 備考 |
---|---|---|
eth0 | 172.16.0.1/16 | グローバルIPはyyy.yyy.yyy.yyy |
PC -> サーバーA(local_tap)にアクセスした際に、サーバーBのグローバルIPであるyyy.yyy.yyy.yyyにアクセスするようにしたいと思っています。
(PCからサーバーBのWEB画面をWEBブラウザから確認したいです)