![]() |
図1. IPFWの内部構造 |
![]() |
図2. IPFW+NATDの場合 |
文章の説明だけだといまいちわかりにくいので,具体例を挙げて説明することにします.表1をご覧下さい.条件がかなりいい加減な指定なのでこれは飽くまでイメージでしかありませんが,とりあえずこんなルールがあったとします.
行番号 | 条件 | 壁の場所 | 動作 |
---|---|---|---|
: | : | : | : |
1000 | 何だか知らないがアヤしいパケット | どこでも | 破棄 |
1010 |
コドモ部屋のPCからのパケットで, 宛て先がコドモは見ちゃいけないサイトへのパケット |
外部NIC | 破棄 |
: | : | : | : |
2000 | 全てのパケット | 内部NIC | 通過 |
: | : | : | : |
3000 | 内部から外部へアクセスするためのパケット | 外部NIC | NATDへ転送 |
3010 | NATDで変換されて外部へ行けるようになったパケット | 外部NIC | 通過 |
: | : | : | : |
4000 | 外部から入ってきたパケット | 外部NIC | NATDへ転送 |
4010 | NATDで逆変換されて内部へ戻せるようになったパケット | 外部NIC | 通過 |
: | : | : | : |
65534 |
これらのどれにもマッチしなかったパケット (例えばNATDがもともと変換した覚えなどなくて,逆変換できなかったパケット等) |
どこでも | 破棄&ログ |