フィルターでsshをpassしているはずなのに通らない
前提知識
フィルターの適用パターンは以下
- フィルターは設定順に適用される
- フィルターが何も適用されていない場合はすべてのパケットが通過させる
- フィルターを1行でも適用されている場合、フィルターの設定順で照らしあわせて、合致したらそのフィルターを適用する
- 全てのフィルターに合致しないパケットは破棄されます。※重要
原因
ip filter コマンドの内容が間違っていた。
文法は以下
ip filter (pass, reject, etc...) (src address) (dst address) (protcol) (src port) (dst port)
解決方法
× ip filter pass-log * * tcp 22 // 送信元ポートが22番のときpassさせることになるが、接続元のsshの使用ポートはエフェメラルポートを使用する。
○ ip filter pass-log * * tcp * 22 // dstに22を適用しなければならない