Linux豆知識 097
IPマスカレード
公開日:2012年02月03日
マスカレード(MASQUERADE)とは「仮面舞踏会」の意味ですが、これだけだと何のことだかよくわからないですね。IPマスカレードは、実は前回取り扱った「NAT」を1歩進めた技術です。
IPマスカレードは、LAN内の「複数の」コンピュータをインターネットなどに接続する際によく用いられます。NATは、IPアドレスを付け替えるという技術で、LAN内のコンピュータをインターネットに接続するには必須の技術でした。しかし、逆に、複数のコンピュータをインターネットに接続するとなると、NATだけでは不可能です。それは、「どのコンピュータがインターネットと接続しているか」がわからなくなってしまうからです。また、ポートがかち合ってしまうという危険もあります。
そこで、IPアドレスだけでなく、ポートも組み合わせて変換し、処理しようというのが「IPマスカレード」です。たとえば、1番のコンピュータはゲートウェイの「1201」番ポートで、2番のコンピュータはゲートウェイの「1202」番のポートで…というように、ゲートウェイが各ホストとポート番号を対応づけます。こうすれば、ゲートウェイの1201番ポートの通信は1番のコンピュータの通信に、ゲートウェイの1202番ポートの通信は2番のコンピュータの通信に、という具合に、「複数の」ホストの役割を、ゲートウェイが担うことになります。ゲートウェイが仮面を被って踊っているかのごとく、複数のホストの役を一人でこなすわけですね。
正確には、この技術は「NAPT」(Network Address and Port Translation)と呼ばれているのですが、これをLinuxで実装したものが「IPマスカレード」となります。
IPマスカレードも「iptablesコマンド」で設定することができますので、ぜひチェックしてみてください。