RTX1210はVPNトンネル100本作成できるが、そのまま記述し続けると、トンネル本数に比例してconfigがどんどん伸びていく。
そこでお手本となる設定を「テンプレート」として定義しておき、差異部分のみ記述することで各トンネル設定とすることができる。クラス継承みたいな概念。ただし、元となるトンネル側で指定するのが違う。
具体例2本のトンネルを設定する。
#1本目
tunnel select 1
description tunnel Tom
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike encryption 1 aes-cbc
ipsec ike local address 1 192.168.0.1
ipsec ike pre-shared-key 1 text himitsu1
ipsec ike remote address 1 any
ipsec ike remote name 1 Tom
tunnel enable 1
#2本目
tunnel select 2
description tunnel Dick
ipsec tunnel 2
ipsec sa policy 2 2 esp aes-cbc sha-hmac
ipsec ike encryption 2 aes-cbc
ipsec ike local address 2 192.168.0.1
ipsec ike pre-shared-key 2 text himitsu2
ipsec ike remote address 2 any
ipsec ike remote name 2 Dick
tunnel enable 2
と、とても長い。2本ぐらいじゃいいけど、10本越えるとスクロールが辛くなってくる。加えてコピペしていたりすると、設定漏れとかも出てくる。テンプレートを使用すれば1ヶ所書き換えるだけで全てに有効になる。
で、上記をテンプレートを用いて書き換えると、次のようになる。テンプレートを別途定義するのではなくて、元とするトンネルに、テンプレート適用したいトンネルを番号を追記する。
#1本目
tunnel select 1
tunnel template 2 #tunnel1をテンプレート元として適用したいトンネルを指定する
description tunnel Tom
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1024
ipsec ike local address 1 192.168.0.1
ipsec ike pre-shared-key 1 text himitsu1
ipsec ike remote address 1 any
ipsec ike remote name 1 pc
tunnel enable 1
#2本目
tunnel select 2
description tunnel Dick
ipsec ike pre-shared-key 2 text himitsu2
ipsec ike remote name 2 Dick
とってもスッキリしててかつ安全になる。
でも、show config tunnel 2で確認すると、えっ???ってなる。
#show config tunnel 2
tunnel select 2
description tunnel Dick
#
と最初の1行しか表示されないからだ。
description tunnel tunnel_name を書かないと、show configだけでは全く表示されなくなるので設定表示したくない場合は有効。私は確認したいので、意図的に残しています。L2TPとか不定のVPNならいならいですね。
テンプレートを適用したconfigを確認するには、「expand」を付加する必要があります。
#show config tunnel 2 expand
tunnel select 2
description tunnel Dick
ipsec tunnel 2
ipsec sa policy 2 2 esp aes-cbc sha-hmac
ipsec ike encryption 2 aes-cbc
ipsec ike local address 2 192.168.0.1
ipsec ike pre-shared-key 2 text himitsu2
ipsec ike remote address 2 any
ipsec ike remote name 2 Dick
tunnel enable 2
これでconfigも読みやすくなること間違いなし!
なお、ip tunnel tcp mss limit autoはテンプレート展開されないので、各トンネルに書く必要があります。