2012年3月7日水曜日

ルータの設定

ルータとは、ネットワークの間にあって両ネットワーク間を行き来するパケットの通過許可/拒否を判断したり宛先の変換を行う「機能」のことである。あえて「装置」と言わないところがミソ。

さて、うちのBuffaloAirStationのように「InternetとLANの間にあるルータ」の仕事は主に
1. 「LAN → Internet」 のパケットはすべて通す
   (ただしパケットフィルタリングの設定をしている場合を除く)
2. 「Internet → LAN」 のパケットは 1. への応答のみ通し、他は通さない
   (ただしポートフォワーディングの設定をしている場合を除く)
となっている。
いつもインターネットに接続してwebサイトを見ているときは、「このページをください」とLAN内からリクエストを出しているので、その応答として目的のページがLAN内に届けられる。Internet側から能動的に何かを送ることは基本できない。
逆に、WEBサーバを動かしてサイトのURLを公開しても、Internet側からのリクエストパケットはLAN内のサーバまで届かない。結果、アクセスした側から見ると「サイトに接続できません」みたいな状態になる。
というわけでポートフォワーディングの設定をする。似たような用語はいろいろあって、アドレス変換とか静的NATとかIPマスカレードとか、でも全部同じ意味(だと思う)。そして概念は難しくない。

Internet側で受けたパケットの宛先ポートによって、宛先IPアドレスとポートを書き換えてLAN側に通す


例えば。
Internet       LAN
*.*.*.*:80 → 192.168.230.230:80
っていう設定をすると
80番ポートで受けたパケットは
IPアドレス 192.168.230.230 ポート 80番 宛パケットとしてLAN側に通す 
っていう動作になる。するとLAN内の 192.168.230.230 のホスト上で80番ポートをリッスンしながら常時起動しているプログラム、つまりWEBサーバが、HTTPリクエストパケットを受け取れるようになる。

他にも
Internet           LAN
*.*.*.*:80         → 192.168.230.230:80
*.*.*.*:37184 → 192.168.230.230:23
を設定すると、37184番ポートにアクセスすることによって、LAN内のサーバにSSHでログインできるようになる。サーバは23番ポートをリッスンしてるんだけど、23番はSSHのポート番号として世界的に有名だからInternet側に同じ番号をさらすのは大変危険。Internet側には分かりにくい番号を設定するのがおすすめらしい。

あとは
Internet             LAN
*.*.*.*:80          → 192.168.230.230:80
*.*.*.*:37184     → 192.168.230.230:23
*.*.*.*:10080  → 192.168.230.1:80
みたいに別のホストに転送させることもできる。ちなみに 192.168.230.1 はルータのLAN側アドレスで、Buffaloのルータは管理画面用に小規模なWEBサーバが動いている。これで10080番ポートにアクセスすると、Internet側からルータの設定を行えるようになる。

ちなみに下2つは設定しない予定。こんなこともできるよって話。


別件。サーバ公開とは全然関係ない話だけどパケットフィルタリングについて。
LANから外に通したくないパケットは、設定すれば通さないようにできる。代表的なのはWindowsのファイル共有用に常時LAN内に飛ばしまくってる「なんとか」っていうパケット。ホスト名とIPアドレスの紐付け情報を交換してるんだっけか。こういう設定も大事よね。

0 件のコメント:

コメントを投稿