くだらない質問はここに書き込め!Ver.なんでもアリ

このエントリーをはてなブックマークに追加
2/usr/local/bin/
こっちに回答してくれということなんでこっちへ。元記事は以下。
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=981423902&st=120&to=120&nofirst=true

> 「廊下にHubを置いて、公開する。使うにはMACアドレスを申請する必要あり。 IPアドレスはdhcpで与える。」
> つうわけで、daemonで arp tableを監視して未許可で接続する馬鹿を遮断したい。

だったらルータのFreeBSDマシンでスタティックなarpテーブルを書けばよいのでは?
LAN内に存在する可能性のある全てのIPに対して対応するMACを書いておけば、不正に
接続されたコンピュータがもし存在したとしてもFreeBSDルータを越えることはできない。
未使用のIPについてはダミーのMACアドレスとかにしておけばよいし。

ただ、ルータを介さないローカルコンピュータ同士の接続をも禁止したいというのであれば、
そもそもローカルのハブはただのハブではなくてMAC VLAN対応の高いハブを買わなきゃダメ。
ただのハブだと何にも考えずにパケットの中継だけしてしまうので、不正なコンピュータの
接続はどうやっても禁止できない。なぜならarpパケットはローカルブロードキャストとして
動くんで、FreeBSDルータを介さずに通信できてしまうからだ。もしも止めるとすればハブの
ところで止めるしかないので。

ちなみに最後の "IPアドレスはdhcpで与える" のを本当にやらなければならない理由があれば、
(たとえば接続を許可する端末の全体数がIPアドレス帯域の全体数よりも多いとか)
最初の前提は崩れてしまう。後者のようにMAC VLAN化する必要がある。
3/usr/local/bin/:2001/04/13(金) 23:20
>>2
そうそう、補足だが、MAC VLAN化するときは、ローカルのネットワーク内に
存在する全てのハブがMAC VLAN対応でないといけない。具体的な製品では
Cisco Catalystがあるが、そのCatalystからでてくる全てのEthernetの口が
直接各コンピュータに繋がっている必要がある。

一カ所でもただのハブがあれば、そこだけは無条件に通信が許可されてしまうので。