この度、RTX810 2台で2拠点間のインターネットVPNを結んだ後、インターネット接続をIPsec経由にするにあたり、少々躓いたのでメモ。
前提
- RTX810 2台での2拠点間のIPsecVPNが確立済
- Rev.11.01.34
- 双方ともWAN側がDHCPだが、グローバルアドレスは半固定
- 拠点1のプライベートアドレスは192.168.1.0/24
- 拠点2のプライベートアドレスは192.168.2.0/24
- sshでRTX810を操作可能
やりたいこと
現状、拠点1ルータ配下の端末と拠点2ルータ配下の端末は、それぞれのLANへの通信のみVPNを経由する設定になっており、インターネット接続についてはそれぞれのゲートウェイから出るようになっている。
拠点2ルータ配下の端末については、インターネット接続を拠点1経由としたい。
整理すると、次のような要件になります。
- 拠点2ルータからのIPsec通信は今のままつながるようにしつつ
- 拠点2ルータ配下の端末からの通信はすべてIPsecのトンネルに流したい
RTXの仕様を調べると、取れる方法は2つありそうです。
- フィルタ型ルーティング
- パケット転送フィルタ
この内、フィルタ型ルーティングは固定IPを前提としているため、DHCPは利用できません。(※ここでハマりました)
なので、パケット転送フィルタを利用することとしました。
(以下余談)
PPPoEなどで固定IPで接続している方はどちらでも可能です。
フィルタ型ルーティングはいわゆるポリシーベースルーティングで、フィルタに設定した条件によって、同じ経路から来ても複数の経路に流せる機能です。
パケット転送フィルタはルーティングとは異なる機能で、フィルタに設定した条件によって、ルーティングテーブルを迂回してインターフェイスに直接飛ばすもので、ルータというかファイヤウォール的な機能、だと思います。
実装
administorator
# パスワードを入力
console character ascii
show config
# 事前のコンフィグを取っておく
ip filter 100 pass 192.168.2.16/28 * * * *
# 192.168.2.16〜31からの通信をまでをフィルタ100に登録
ip forward filter 200 1 gateway tunnel 1 filter 100
# フィルタ100にヒットするパケットをtunnel 1に転送するパケット転送フィルタをフィルタ200に登録
ip lan1 forward filter 200
# lan1からくるパケットをフィルタ200に従って転送
dhcp scope 1 192.168.2.16-192.168.2.31/24
# dhcpで振るアドレスをフィルタ1に合わせる
show config
#設定が正しく反映されていることを確認
save
quit
quit
終わりに
最初、DHCPではフィルタ型ルーティングが使えないことに気づかないまま、うまく行かず、半日ほど無駄にしたあとで、パケット転送フィルタに気づきました。
はまらなかった人にとっては全く不要な記事ですが、意外とネットで調べても引っかからなかったので一応メモに残しておきます。
以上