ヤマハネットワーク技術者認定試験(YCNE)受験 ⑨・アグレッシブモード、マルチポイントトンネル、L2TP over IPsec、まったくIPsecはやること多くて最高だぜ
では、さっそくIPsecについてのおさらいです。IPベースに二点間を結ぶ。以上!今回も勉強することが多いのでサクッといきます。試験に間に合わない!
IPsec・アグレッシブモード
![](https://assets.st-note.com/img/1731738881-3nGyvgjYOlCSfBs6o8LpKIrZ.png?width=1200)
IPsecの二つあるモードのうちの一つです。IPsecは二点のIPアドレスを基点として結ぶ技術となりますが、そのIPアドレスが固定か、可変かによってモードが変わります。固定IP同士でしっかり結ぶのが「メインモード」となり、この形がYAMAHAのIPsecのスタンダードとなります。しかし、世知辛いご時世ですから月額が高い固定IPプランばかりが使える訳ではありません。固定の代わりに安い可変プランを利用した貧者のIPsecが「アグレッシブモード」です。本社サーバにアクセスして日報2024.xlsxに入力する必要があるけど、連続して予算が達成できないお荷物支社は、アグレッシブに本社に接続しないといけない訳ですな。言い過ぎか。
で、固定‐可変のアグレッシブモードと、さらにロープライスの可変‐可変のアグレッシブモードも存在します。その場合は可変IPをDDNSみたいな感じで別の技術の補佐によってなしえますが、そこまでコスト重視だと当然サービスの品質はお察しレベルとなるため、今回は片側可変のアグレッシブモードについてのみ考えます。アグレッシブにも程がある。
何事もコストだけが指標じゃないのですよ。
では設定です。前回基本をやっているので、変更部分のみ抜粋します。
・本社:固定
♯鍵交換時にアクセスする人は不特定多数(any)なので
ipsec ike remote address 1 any
♯相手側を識別するためのキーの設定
ipsec ike remote name 1 任意の文字列 key-id
・支店:可変
♯ここは通常と変わらず
ipsec ike remote address 1 本社側のIPアドレス
♯相手側を識別’させる’ためのキーの設定
ipsec ike local name 1 任意の文字列 key-id
という感じで、設定的にはモードを明示的に指示するわけではなく、IPsecの設定内での差異をメインあるいはアグレッシブと呼んでいるようです。
相手の認証は事前共有鍵なんかで行いますので、あくまでVRRPのVRIDみたいな、一致してるかしてないか、のkey-idのようです。
なので、可変‐可変もいけんだろ、ですが、設定可能なことと運用可能なことはandであることは稀で、設定可能のみ真であるorの方が多いのでご注意を。
IPsec・マルチポイントトンネル
では、上記のモードとは違い、マルチポイントトンネルです。これは、本社と複数の支店を結ぶ時に利用します。それぞれでIPsecのSAを作成するのではなく、本店と(仮想的に一つに見立てた)支店の一つのSAを結びます。
![](https://assets.st-note.com/img/1731741897-4MaQhup68qFxVZE3lYGL70AW.png?width=1200)
メイン・アグレッシブモードと違うのは、IPsec設定を入力するセレクトされたインターフェース内でtypeを明示することです。これにより、支店情報が追加されても新たにIPsecSAを作成せず、既存のトンネル設定に記述していくだけで良いので、例えばYAMAHA830の最大トンネル数は(個人用のVPNであるL2TPも含めて)20となるので、節約ができます。
ただし、実運用的には、そんな許容量ギリギリの運用は、そもそもの導入機器の選定ミスです。何も考えていない営業か、見積りの金額しか見ない決裁者にアップを提案しましょう。入れたばかり?知るか!
では、設定を確認し、詳細を検討します。基本部分は省きます。tunnel select 1 でインターフェース選択です。
本社設定
♯タイプの選択
tunnel type multipoint server
♯マルチポイントモードの中心のルータの名前の設定
tunnel multipoint local name 任意の名前
♯複数を一台に見立てるための設定
ipsec ike remote name 1 任意の名前 key-id
♯トンネル自体にIP設定(アドレスはなんでも良いが分かりやすく)
ip tunnel address 10.0.0.1/24
支社設定
♯タイプの選択だが、上記と違いserverは無し
tunnel type multipoint
♯マルチポイントモードの中心のルータの名前の設定
tunnel multipoint local name 任意の名前
♯マルチポイントサーバー時の相手側グローバルアドレス
tunnel multipoint server 1 GIP
♯複数を一台に見立てるための設定
ipsec ike remote name 1 任意の名前 key-id
♯トンネル自体にIP設定(アドレスはなんでも良いが分かりやすく)
ip tunnel address 10.0.0.2/24⇐以下、支店が増えるごとに追加
これで、IPsecトンネル自体の設定は終わりです。通常との最大の違いは、トンネルそれ自体にIPアドレスを設定することです。通常の一対一であればルーティング自体は一つのトンネル設定内の相手先のネットワークとゲートウェイを記述していますが、このマルチポイントは、代わりにトンネルそのものにIPを付与してゲートウェイとします。
そして、各支社では
ip route 10.0.0.X gateway 10.0.0.1
ip route 各支店ネットワークアドレス gateway 10.0.0.1
と記述し、各支社と、合わせて本社分のルーティングを設定します。
続いて本社は
ip route 各支社ネットワークアドレス gateway 10.0.0.X
と記述し、静的にルーティングします。
この二つの設定により、支社は本社のみと接続しているような状態で、他支社への通信は一度10.0.0.1のマルチポイント内のサーバとしての本社ルータを目指します。
形状が自転車の車輪のように、棒状のスポークと真ん中のハブでハブアンドスポーク型の接続と呼びます。一度はクライアントの前に使いたいIT用語ですね。もっとカッコよく言うと、「ハブアンドスポーク型のネットワーク・トポロジー」。あんまりお目にかけないけど。
でも、確かに運用的には本社には支社識別情報がkey-idで統一されているからルーティング追加、支店はIPsec情報載せてキッティングすればいいから楽かも。本社側のルータのネットワーク上の負担がきつそうですが。
L2TP over IPsec
では、最後にL2TP over IPsecです。
L2TP(Layer 2 Tunneling Protocol)をIPsecに載せることを意味しますが、意味分かりませんね。
L2TPはL2、つまりスイッチングハブのようなMACアドレスが幅を利かすイーサネットのレベルでトンネリングを行います。より詳細にはインターネットを通り抜けたPPPパケットをさらに接続先に運べるようにカプセル化を実施します。ですが、暗号化はできないのでさらにIPsecのトランスポートモードの暗号化の仕組みを利用して運搬+暗号化をします。これでようやく通信可能。
これらの処理により、このL2TP over IPsecのパケットは最大積載量が相当に小さくなります。最初のイーサネット上ではIPパケットの最大値である1500から始まりますが、PPPで外に抜ける為-8、さらにL2TP、IPsecの……、と重ねて、YAMAHAルータに届くころにはルータ初期値で1258。思いっきり削られとる。
では、そんなやせたかなしいL2TPを確認します。
#セレクトは不特定多数のアノニマス
pp select anonymous
#L2TPを待ち受ける箇所を指定
pp bind tunnel1
#認証プロトコルの指定
pp auth request mschap-v2
#ユーザー情報
pp auth username user01 user01
#IPCPを利用して接続後のIPアドレス配布の有効化
ppp ipcp ipaddress on
#拡張プロトコルmsextでIPアドレス以外のDNSなどの情報も可能に設定
ppp ipcp msext on
#圧縮 (コンプレス)は無効化
ppp ccp type none
#配布するIPアドレスはDHCPのプールから
ip pp remote address pool dhcp
#MTU設定
ip pp mtu 1258
#有効化
pp enable anonymous
#トンネルセレクト
tunnel select 1
#IPsecではなくL2TPでカプセル化を実施
tunnel encapsulation l2tp
#さらにセレクトし
ipsec tunnel 2
#IPsecのSA作成で使用する暗号スイートの設定
ipsec sa policy 2 2 esp aes-cbc sha-hmac
#IPsecと違い 、常時接続ではないのでオフ
ipsec ike keepalive use 2 off
#NATトラバーサルを有効化
ipsec ike nat-traversal 2 on
#事前共有鍵の設定
ipsec ike pre-shared-key 2 text test-key
#接続するのは不特定多数なのでany
ipsec ike remote address 2 any
#通信がなくても自動切断されないようにオフ
l2tp tunnel disconnect time off
#MSSは自動調整
ip tunnel tcp mss limit auto
#有効化
tunnel enable 2
で、先述のように接続後はMACアドレスベースの通信となるので、ARPでIPアドレスを答えられるようにしないといけませんが、あくまでバーチャル(仮想的)なので、代わりにルータが答えられるように
ip lan1 proxyarp on
として、プロキシ(代理)で質問に行くようにします。