仕事でパケット転送フィルターを触ったのでちょっとまとめてみます。
基本的にはRTProにすべて書かれていますが、よくわかっていないので個人的な整理のために書きます。
パケット転送フィルターとは
-
特徴
- ルーティングテーブルに関わらず、ルーティングする前に独立して動作する。
- ロードバランスはできないらしい。
- YAMAHA以外ではこのようなパケット転送のやり方は見つからなかったけど、ポリシールーティングに近いものなのかな・・・。
- YAMAHAでもフィルタ型ルーティングでポリシールーティングができるし負荷分散もできるから正直出番は少ない?
- IPv4のみ対応
- 指定できるゲートウェイの種類はルーティングよりも狭い
-
処理の順序
受信NAT→受信フィルタリング→パケット転送フィルター(条件に合致しない場合はルーティング)→送信フィルタリング→送信NAT
実際に入れるコマンド
ここでは例として
LAN1:192.168.10.1
LAN2:172.16.0.1
PP1,PP2を使用
とします。
- フィルタリングしたい条件
- LAN1はPP!へ
- LAM2はPP2へ
IP LAN1 foward filter 100
IP LAN2 foward filter 100
ip filter 10 pass 192.168.10.0/24 * * *
ip filter 20 pass 172.16.0.0/24 * * *
ip foward filter 100 1 gateway pp 1 filter 10
ip foward filter 100 2 gateway pp 2 filter 20
冗長化について
keepaliveを入れると冗長化ができる。
ip keepalive 1 icmp-echo 5 3 8.8.8.8
ip keepalive 2 icmp-echo 5 3 8.8.4.4
ip foward filter 100 1 gateway pp 1 filter 10 keepalive 1
ip foward filter 100 2 gateway pp 2 filter 20 keepalive 2
ip foward filter 100 3 gateway pp 2 filter 10
ip foward filter 100 4 gateway pp 1 filter 20
keepalive 1がDownした場合、foward filter 3が有効になるようなイメージ。フィルタ番号が若い順に評価される。
キープアライブ先はISPのDNSとか指定すればいいと思ってる。
例としてGoogleのパブリックDNSを指定している。
ルーティングについて
- ルーター自身のパケットはパケット転送フィルターでは処理されずルーティングテーブルによって処理される(YAMAHAサポートより)らしいので、それぞれルーティングも追加しないといけない。そのため、別途デフォルトゲートウェイとKeepalive先へのルーティング設定が必要。
- DNSやNTP、http revision-up goなどを使う場合は忘れずに設定する。
ip route default gateway pp 1
ip route 8.8.8.8 gateway pp 1
ip route 8.8.4.4 gateway pp 2
感じたこと
- そこそこ柔軟性がある上、ルーティングテーブルをいじらないのがメリットのような気がする。
- YAMAHAの機能の中では正直使いづらい部類な印象。
- 他人が見たときに一見して何してるかわからない。
- コンフィグを一覧した際にルーティングと離れて記述されているため見落とす場合がある。