動的フィルタの設定(PPPoE・NAT)
ここでは、PPPoE、NAT、動的フィルタの設定を行います。
ネットワークの構成は、下図の通りです。

まず、PPPoEとNATの設定を行います。
# console prompt R1
R1# ip route default gateway pp 1
R1#ip lan1 address 192.168.1.1/24
R1# pp select 1
R1pp1# pppoe use lan2
R1pp1# pp auth accept pap chap
R1pp1# pp auth myname (PPPoE接続ID) (PPPoE接続パスワード)
R1pp1# ppp lcp mru on 1454
R1pp1# ppp ipcp ipaddress on
R1pp1# ppp ipcp msext on
R1pp1# ppp ccp type none
R1pp1# ip pp mtu 1454
R1pp1# ip pp nat descriptor 1
R1pp1# pp enable 1
R1pp1# nat descriptor type 1 masquerade
R1pp1# dns server pp 1
R1pp1# dns private address spoof on
R1pp1#pp select none
動的フィルタの設定
動的フィルタの設定を行います。
まず、ICMPを許可するフィルタを定義します。
R1# ip filter 1 pass * * icmp * *
動的に生成されるフィルタに合致するパケット以外を遮断するためのフィルタを定義します。
R1# ip filter 2 reject * * * * *
DNS、WWW、FTPサーバに対する動的フィルタを定義します。プロトコルとして、TCP/UDPを指定しないのは、アプリケーション固有の処理を行わせるためです。
R1# ip filter dynamic 1 * * domain
R1# ip filter dynamic 2 * * www
R1# ip filter dynamic 3 * * ftp
外部のメールサーバに対する動的フィルタを定義します。フィルタ3に合致するパケットを検出したら、その逆方向にフィルタ4に合致するパケットを一定時間通過させます。
TCPのidentは、認証の一種で、メール通信を行う際に、メールサーバ側からidentによりユーザ認証が行われる場合があります。そのために動的フィルタで通過せるように定義しておきます。
R1# ip filter 3 pass * * tcp * smtp,pop3
R1# ip filter 4 pass * * tcp * ident
R1# ip filter dynamic 4 * * filter 3 in 4
その他の通信のために、TCP/UDPの動的フィルタを定義します。
R1# ip filter dynamic 10 * * tcp
R1# ip filter dynamic 11 * * udp
source-routeオプション付きのパケットを遮断するための設定を行います。source-routeオプションは、フィルタリングを潜り抜けるなどの攻撃に悪用される可能性があるため遮断します。
R1# ip filter source-route on
Directed Broadcastアドレス宛てのパケットを遮断する設定を行います。smurf attack攻撃に対処します。
R1# ip filter directed-broadcast on
pp inに全てのパケットを遮断する静的フィルタ2を適用していますが、動的フィルタの働きで、通過フィルタが自動生成されるので、必要なパケットは通過できます。
また、静的フィルタを定義する場合は、注意して下さい。動的フィルタは、初めは存在しないため、初めは全て静的フィルタの適用順にチェックされることとなります。
すなわち、初めてのコネクションは、まず、静的フィルタとチェックされることとなるため、通すべきコネクションが、この静的フィルタで遮断されることのないように注意が必要です。
R1# pp select 1
R1pp1# ip pp secure filter in 1 2
R1pp1# ip pp secure filter out dynamic 1 2 3 4 10 11
R1pp1# pp select none
R1# save
R1# restart
設定の検証
ここでは、設定した内容を検証していきます。
PC1から、WWW、FTPなどの通信を行います。
問題なく、通信できるはずです。
R1ルータの管理画面にブラウザで接続して、PP1の出側の状態を確認します。
動的フィルタが、作成されていることが確認できます。

動的フィルタは、このように動的に自動生成されますが、ルータの負荷は大きくなるので、実際の運用は、ルータの性能、トラフィック量、NATなどの他の設定とを鑑みて設定してゆくこととなります。ルータの負荷があまりにも大きくなる場合、ルータのトラフィック処理が追いつかなくなることがあります。
GUIによる動的フィルタの設定
ここまで、動的フィルタをコマンドで設定する方法を紹介してきましたが、WebインタフェースのGUIによる設定も行うことができます。敷居の高い動的フィルタの設定を簡単な操作で設定できるようになっています。
設定画面は次のようになっています。

R1ルータののコンフィグ
●R1のコンフィグ
console prompt R1
ip route default gateway pp 1
ip filter source-route on
ip filter directed-broadcast on
ip lan1 address 192.168.1.1/24
pp select 1
pppoe use lan2
pp auth accept pap chap
pp auth myname (PPPoE接続ID) (PPPoE接続パスワード)
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp mtu 1454
ip pp secure filter in 1 2
ip pp secure filter out dynamic 1 2 3 4 10 11
ip pp nat descriptor 1
pp enable 1
ip filter 1 pass * * icmp * *
ip filter 2 reject * * * * *
ip filter 3 pass * * tcp * smtp,pop3
ip filter 4 pass * * tcp * ident
ip filter dynamic 1 * * domain
ip filter dynamic 2 * * www
ip filter dynamic 3 * * ftp
ip filter dynamic 4 * * filter 3 in 4
ip filter dynamic 10 * * tcp
ip filter dynamic 11 * * udp
nat descriptor type 1 masquerade
dns server pp 1
dns private address spoof on