ヤマハのルーターで IPv4 の拒否も記録する ― 動的フィルターで戻りの通信は通し、入れた直後は続いていた接続が切れる
家のルーター(ヤマハ)は、IPv6 では、外から届いた頼んでいない通信を「拒否して記録する」設定にしていました。一方 IPv4 は、アドレス変換(NAT)で黙って捨てているだけで、記録に残っていませんでした。IPv4 にも、受け取るときのフィルターを足して、拒否を記録するようにしました。
- フィルター:ルーターを通る通信を、条件で通したり止めたりする設定
- 動的フィルター:家の中から始めた通信を覚えておき、その戻りの通信だけを自動で通す仕組み
- syslog:機器の記録を、ネットワーク越しに1か所へ集める仕組み。ルーターの記録は家のサーバーに集めている

1. 足した設定
外から入ってよいのは、ルーター自身で受けている VPN(L2TP/IPsec)だけです。それと ICMP(ping など)を通し、残りを記録付きで拒否します。家の中から始めた通信の戻りは、送るときに付けた動的フィルターが通します。
ip filter 102000 pass * * udp * XXXX # VPN(IKE)
ip filter 102001 pass * * udp * XXXX # VPN(NAT トラバーサル)
ip filter 102002 pass * * esp * *
ip filter 102003 pass * * icmp * *
ip filter 102097 reject * * * * * # 記録付きで拒否
ip filter 102099 pass * * * * *
ip filter dynamic 102098 * * tcp
ip filter dynamic 102099 * * udp
tunnel select 1
ip tunnel secure filter in 102000 102001 102002 102003 102097
ip tunnel secure filter out 102099 dynamic 102098 102099
rejectは記録付き、reject-nologは記録なし- 作業の前に、今の設定(
show config)を控えた。家の中から SSH で入れて、保存(save)はしないまま確かめた。おかしければ、2行を消せば元に戻る
2. 確かめたこと
- 家の中から外へ:ping・DNS・Web、AWS のサーバーへの SSH、家のサーバー・仮想マシンからの HTTPS とメールの受信、すべて正常
- 外から VPN:モバイルルーター経由の iPad で VPN につなぎ、家のサーバーのページが開くことを確認。VPN 関係の拒否は0件
- そのまま30分以上つなぎっぱなしでも、VPN は切れなかった
- 家のサーバーの記録に
Rejected at IN(102097) filterの行が出るようになった
ここまで確かめてから、設定を保存しました。
3. 気づいたこと:入れた直後は、続いていた接続が切れる
入れた直後、拒否の記録が1分に600件ほど出ました。中身を見ると、外の Web サーバーなどから家の中の端末への「戻りの通信」でした。動的フィルターは、フィルターを入れた後に始まった通信しか覚えていないため、その前から続いていた接続の戻りは拒否されます。各アプリがつなぎ直すにつれて減り、3分ほどでほぼ0になりました。
また、記録には家の中の端末の IP が出ていました。このルーターでは、受け取るときのフィルターが、アドレス変換の後に評価されるようです(記録の宛先で判断。要確認)。
