ヘアピンNAT

IPループバックとか、ヘアピンNATとか、聞き慣れない言葉が出てきたので。

ヘアピンNATが何かというと、
LAN内にWAN側に公開するサーバがあるとして、通常はWAN側のグローバルIPにアクセスしてきたときに、LAN側のプライベートIPにNATしてアクセスさせる機能・・・通常の1対1NAT(Static NAT)・・・を使用するが、そのグローバルIPに対しLAN側からアクセスしたときに、LAN内のサーバに折り返してアクセスさせるための機能の事を指すらしい。

Firewall-1なら、意図せずともStatic NATを書いただけでWAN側、LAN側の区別無くNATして下さる・・・のだが、その場合、LAN側からのアクセスがSource NATの対象になっていることが多く、つまりサーバに届いたパケットのSrcIPがグローバルIPになっていることが多いので、サーバ側のACLに引っ掛かってアクセス出来ないとか、インターネットからのアクセスと判断されて意図した動作にならないとか、あまり良い印象が無く、とにかく、あまりそのような構成にならないようにしている。もちろん、一般的なアプライアンス型のFirewall(CiscoのASAとか、JuniperのNetscreen、SSGとか、FortinetのFortigateとか・・・)の場合、LAN側からはNATそのものの対象にならないケースが多く(というかNATの定義をインターフェース毎に記載するのでWAN側インターフェースにNATテーブルを書いても、LAN側インターフェースには書かない事が多い)、そのような構成にはしない。
普通のネットワークであれば、内部DNSにはプライベートIPアドレスを返すエントリを書くのでこのような機能は必要無いのだけど、個人宅であるとかSOHO環境などの内部DNSサーバが無い環境では使う機会があるらしい。。。
その規模のネットワークであれば、hostsファイルに書く運用でOKだと思うので、余計な機能というかお節介な機能としか思えない。


何故急にそんなことが気になったかと言えば、FirewallのログにLAN側からのIP Spoofingが載っていて、マズイと思い調べていたのだけど、バッファローの安いHUBについているループ検出の機能がONになっているとソースIPアドレスにClassAのランダムなIPアドレスを使用したプローブパケットが出ていて、、、そのせいだという事が判ったので、バッファローのHUBで同じような事例は無いかと調べていたら聞き慣れない言葉が出てきたという次第。

それにしてもループ検出のプローブパケットに適当なIPアドレスを書き込んじゃう仕様ってどうなのかしら?と思うんだけど。。。普通その用途はBPDUとか使ってると思っていたんだけど、そうでも無い機種もあるんだねぇ。