概要
- 同一ネットワークのサーバ間の通信がpingしか通らないという事象に遭遇した
- iptableやらnetstatやらいろいろしたのだが結局OSのレベルでは切り分けられず、NW屋さんに聞いたところL2スイッチにもAccess Control List(ACL)なる仕組みがあるそうで、それによって通信が制限されていた。
- 広い視野をもたないといけないと思ったので、簡単なメモ書き
どんな事象だったのか?
サーバAとサーバBの間でping(ICMP)以外の通信が通らない。
traceroute
も-U
も-T
もだめで、-I
だけが通る。
といった状況でOSレベルではどうしようもないな、ということでNW屋さんにヘルプ要請
原因はなんだったのか?
サーバが接続されているL2スイッチのAccess Control List(ACL)が適切に設定されていなかったため、サーバ同士(IPアドレス)の通信ができなかったとのこと。
そして恥ずかしながらL2スイッチにおけるACLというものの存在を初めて知った。
Access Control List(ACL)とはなにか?
いろいろ調べたのだが、結局日本語ではスイッチレベルでもパケットの制限をできるという以上のことをすっきりとわかる説明は見当たらなかった。 スイッチのACLであればインターフェース単位での制御になるとか、多層防御の考えに立てば両方やるべきという理屈はたつとか、いろいろあるのだと思うがどうもすっきりしない。
で、たどり着いたのが以下のページ
Cisco Routers and Firewalls - Differences Between an ACL and Firewalls
とても雑に要約すると以下のような感じ。ひとまず理解できた気になれる程度の情報はある。
機能はよく似ている面もあるけど実際には重要な違いがある
ACLはインターフェース単位で制御をかけるのでパケットのフィルタリング以外にもいろいろ使える
実際のNW屋さんはもっといろいろ考えて設計しているのだと思うのだが、ひとまずはここまで。