昨日会社に設置した、Cisco ASA。
なにかしら問題は発生するだろうなと思って、眠い目をこすって会社に来たら、朝一番に問い合わせが。
「社内から公開Webサーバが見えません」と。
公開WebサーバはDMZに置いており、社内から公開Webサーバへアクセスする際は、内向けDNSがDMZのIPアドレスを返すように設定して帰った。
ただ、DNSサーバが社内にいくつかあり、管理外のDNSサーバは直接外向けDNSサーバに問い合わせに行き、その結果である【グローバルIPアドレスにアクセスしようとする→ASAのNATで設定した仮想IPアドレスのため、接続不可】という状態に。
これは困ったと午前中いっぱい調べていた。ASAで仮想IPアドレスでもアクセスできるようにならないか調べたが、ならないらしい。
しかたないのでいろいろ調べていたが、Ciscoサイトの難解なテクニカルノートに答えがあるのが分かった。ただ、分かりにくい・・・1時間ぐらいかけて理解しながらじっくり読んで、やっと対処法が分かった。
- このページは移動しました。 - テクニカルサポート - Cisco Systems
- http://www.cisco.com/JP/support/public/mt/tac/100/1005345/dns-doctoring-3zones.shtml
対処法としては2通り。
- DMZのNATとして、inside側にグローバルIPアドレスを定義する
- グローバルIPアドレスそのままでアクセスできるようになったが、従来使っていたDMZ用IPアドレスでアクセスできないようになった。
- DNS Doctoringを有効にする。
前者はすでにDMZを運用して時間が経っており、内側DNSの設定を何台も変えないといけないので却下。後者を設定してみた。
設定後、外向けDNSに問い合わせに行くと、きちんとDMZのIPアドレスが帰ってくるようになった。
次に、内向けDNSのクエリ転送先を外側DNSに設定*1し、イントラ用に設定した内向けDNSのAレコードを削除。bindをstop/startしたらDMZのIPアドレスが帰ってくるようになった。
これで、外側用にはグローバルIPアドレス、内側から問い合わせに行くと自動的にDMZのIPアドレスが帰ってくることで、社内からも問題なく公開Webサーバが参照できるようになった。
まあ、内向けDNSでAレコード追加での対処でもよかったのだが、社内から直接外向けDNSを参照している部門サーバとかがどれだけあるか分からないし、こうしておいた方が無難で良かった。
んで、朝から取りかかって完了したのが昼過ぎ。昨日あまり寝てなかった上に、頭をフル回転させて理解しようとしたおかげで、かなり眠くなった。このままでは仕事しても効率が0.1倍くらいになっていたので、落ち着いた頃合いを見て午後は休みをいただいた。
何はともあれ、日をまたがずに解決して良かった。