質問: ■前提・実現したいこと お世話になっております、ネットワーク初心者、Linux初心者です。 以下のような環境で外部にWEBサーバを公開(WEBサービスを公開)したいと思います。 マニュアルやネットの情報を見ながらいろいろ設定を変えてみたのですが、うまくいかず。。。 お手数をお掛け致しますが、皆様のお力をお貸しください。 (社内のLAN構成なのでできるだけ、構成は変えたくありません。無線LANは使用しておりません。) Cent OS 7.2 (ローカルIPアドレス:192.168.12.3) Apache2.2 + Tomcat8 (ポート:80)(WEBサービスは8080) | バッファロー製ルータ:BHR-4GRV2 (ローカルIPアドレス:192.168.12.1) | NTTひかり電話ルータ:PR-400KI (WAN側のIPアドレス:xxx.xxx.xxx.xxx) ■発生している問題・エラーメッセージ 外部からのWEBサーバにデプロイしているサービスが表示さない。 ■試したこと 1、PR-400KIのIPv4パケットフィルタ設定で以下の設定を実施。 ・フィルタ種別:許可 ・プロトコル:TCP ・通信方向:両方向 ・送信元IPアドレス/マスク長:any ・宛先IPアドレス/マスク長:192.168.12.3/32 ・送信元ポート:any ・宛先ポート:80(www) 2、PR-400KIの静的NAT設定で以下の設定を実施。 ・宛先IPアドレス:192.168.12.3 ・変換対象IPアドレス:xxx.xxx.xxx.xxx(WAN側のIPアドレス) ・変換対象プロトコル:TCP ・変換対象ポート:80(www) 3、BHR-4GRV2のIPフィルターで以下の設定を実施。 ・動作:通過 ・方向:LAN->Internet ・送信元IP:192.168.12.3 ・宛先:xxx.xxx.xxx.xxx(WAN側のIPアドレス) ・プロトコル:HTTP(TCPポート:80) ・任意のTCP/UDPポート:80 ・動作:通過 ・方向:Internet->LAN ・送信元IP:xxx.xxx.xxx.xxx(WAN側のIPアドレス) ・宛先:192.168.12.3 ・プロトコル:HTTP(TCPポート:80) ・任意のTCP/UDPポート:80 4、BHR-4GRV2のポート変換で以下の設定を実施。 ・Internet側IPアドレス:xxx.xxx.xxx.xxx(WAN側のIPアドレス) ・LAN側IPアドレス:192.168.12.3 ・プロトコル:HTTP(TCPポート:80) ・LAN側ポート:192.168.12.3 HTTP(TCPポート:80) 上記の設定を施し、グローバルIPアドレス、ドメインからのアクセスを行うと、 外部からのアクセスの際に、504 Gateway Timeoutエラーが発生します。 ローカルエリア内のPCからアクセスすると、ブラウザに画面が表示されます。 http://ドメイン名/デプロイしたサービス名/ http://グローバルIPアドレス/デプロイしたサービス名/ ローカルエリア内でのアクセスはできる(画面が表示される) 外部からのアクセスはできない(例えばスマートフォンなど) PR-400KIのセキュリティログに以下が出力されています。 ※BHR-4GRV2のログには何も出力されておりませんでした。 2017/3/19 16:33:00 SRC=49.98.166.42/3128 DST=192.168.12.3/80 TCP table=filter フィルタ種別は許可としているのですがフィルタが効いている? ので設定が誤っているのでしょうか? ■補足情報(言語/FW/ツール等のバージョンなど) 上記の組み合わせで、色々試してみたのですがうまくいきませんでした。 お手数をおかけいたしますが、どうぞよろしくお願い致します。
回答: PR-400KIのlan側を HR-4GRV2のwan側に 繋いでサーバを HR-4GRV2のdnzに置けば良いと思います。 p.s. > > PR-400KIのローカルIPアドレスは192.168.1.1でした。 > > > PR-400KI LAN側 -> BHR-4GRV2 WAN側 とすれば、 > > DST=192.168.12.3/80 TCP table=filter > > > の設定は不要です。 というか、HR-4GRV2のlan側:192.168.12.x へPR-400KIで filterしたせいで、 パケットの行き場が無くなってます。 HR-4GRV2のdnz にサーバを置けば、 wan側からのパケットは全て、dnz のサーバへ向かいます。 lan側からは http://192.168.12.3/ 等で、dnz内のサーバにアクセス出来ます。