DMZ内部から外のための名前でDMZ内のサーバーにいけない

ここ五年ほどWebエンジニアをやってたのですが、当時インフラ周りはインフラエンジニアさんに任せきりだったので、今の会社に移ってからにわかネットワークエンジニアみたいな感じで四苦八苦しております。

最近はほら、自宅用のLANなんかはルータ買ってきてケーブル挿すだけでDHCPでうまいことやってくれてすぐ使えるじゃないですかというか無線なのでケーブルさえ挿さないじゃないですか。ゲートウェイとか固定IPとかネットマスクとか久しぶりに設定しました。

というのはさておき、仕事で組んでいるネットワーク環境ではゲートウェイサーバーのiptablesで、中(DMZ)から外(インターネット)に出るのにIP MASQUERADE、外から中に入ってくるのにDNATを使っております。

で、DMZ内ではhoge.localとかfuga.localとかわりと好きなように名前を振り、外に出したいサーバーはひとまずゲートウェイサーバにhoge.example.comとかfuga.example.comとかの名前を向けて、そこから中のサーバーにDNATでポート転送して、中から外への通信も、外から中への通信もああできてるなと安心していたのですが、中から中への通信に外用の名前を使うと、つまりfuga.localからhoge.example.comにアクセスしようとすると、ダメなんだそうですねこれ。pingとかDNSでの名前引きはできるのですが、http通信とかが繋がらない。隣席のネットワークエンジニアさんに聞くとネットワークあるあるだそうで、普通にやると遮断され、設定を中途半端にいじるとパケットがぐるぐる回るみたい。

中にアクセスするときと外にアクセスするときとで、名前を使い分けたらいいのですが、外にあることを想定していたサーバーを中に置いたりなんかするとハマりそうなので、一回外に出るのが無駄だよね、というのは許容しつつどうにかしたいところ。 休みが明けたらもう一台ゲートウェイサーバーを置いて、外から中への口と中から外への口を分けようかなと。


(追記) 「ヘアピンNAT」「NATループバック」と言うそうです。

(追記2) 結局iptablesの設定が良くないだけでした。下記ページを参考に設定を変更して解決。FORWARDの許可設定の追加も必要でした。

fchiba.blog.jp