<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Study</title>
	<atom:link href="https://ascend-beyond.com/category/study/feed/" rel="self" type="application/rss+xml" />
	<link>https://ascend-beyond.com</link>
	<description></description>
	<lastBuildDate>Sat, 19 Sep 2026 05:14:33 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.1</generator>

<image>
	<url>https://ascend-beyond.com/wp-content/uploads/2024/03/cropped-9376b452e9b0c7a8bdf82cd2e63920ee-32x32.jpg</url>
	<title>Study</title>
	<link>https://ascend-beyond.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href=""/>	<item>
		<title>令和5年（2023年）ネスペ午後Ⅱ　問Ⅰ　解答解説</title>
		<link>https://ascend-beyond.com/study/8194/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sat, 19 Sep 2026 01:46:44 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8194</guid>

					<description><![CDATA[目次 設問１（１）DNSラウンドロビン（３）192.168.2.145＊注意！案２でもDNSのIPアドレス変更は必須（５）方法：プロキシ自動設定機能を利用する　制限事項：対応するPCやサーバでしか利用できないQ.DNSと [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（１）DNSラウンドロビン</a></li><li><a href="#toc3" tabindex="0">（３）192.168.2.145</a><ol><li><a href="#toc4" tabindex="0">＊注意！案２でもDNSのIPアドレス変更は必須</a></li></ol></li><li><a href="#toc5" tabindex="0">（５）方法：プロキシ自動設定機能を利用する　制限事項：対応するPCやサーバでしか利用できない</a><ol><li><a href="#toc6" tabindex="0">Q.DNSとは異なる方法とは？</a></li><li><a href="#toc7" tabindex="0">Q.プロキシサーバを利用する側の環境とは？</a></li><li><a href="#toc8" tabindex="0">Q.そもそもユーザはどうやってホスト名を知っているの？</a></li><li><a href="#toc9" tabindex="0">結論</a></li></ol></li></ol></li><li><a href="#toc10" tabindex="0">設問２</a><ol><li><a href="#toc11" tabindex="0">（１）a:　b:　c:　d:　e:ルーティングテーブル（RIB）　f:</a><ol><li><a href="#toc12" tabindex="0">▼FIBとは？</a></li></ol></li><li><a href="#toc13" tabindex="0">（２）自身のIPアドレス</a></li><li><a href="#toc14" tabindex="0">（４）VRRPマスターになったR13が経路情報を保持していないと受信したパケットを転送できないから</a></li><li><a href="#toc15" tabindex="0">（５）確認事項：パケットロスが発生しないこと① [送信元：R13 宛先：FW10] or [送信元：FW10 宛先：R13] or [送信元：R13 宛先：R11] or [送信元：R11 宛先：R13] ② [送信元：R14 宛先：R13] or [送信元：R13 宛先：R14]</a></li><li><a href="#toc16" tabindex="0">（７）① R11② R13③ R11 と R12 とを接続する回線④ R13 と R14 とを接続する回線⑤ R11 と L2SW10 とを接続する回線⑥ R13 と L2SW10 とを接続する回線</a></li></ol></li><li><a href="#toc17" tabindex="0">設問３</a><ol><li><a href="#toc18" tabindex="0">（１）ルーティングのループが発生する</a><ol><li><a href="#toc19" tabindex="0">Q.D社閉域NWの設定変更とは？</a></li><li><a href="#toc20" tabindex="0">Q.FW10のデフォルトルートの設定変更を行うとは？また、どうなる？</a></li><li><a href="#toc21" tabindex="0">Q.なぜループになるの？</a></li></ol></li><li><a href="#toc22" tabindex="0">（３）送信元IPアドレスがプロキシサーバAで宛先IPアドレスがインターネットであった場合にネクストホップをR10とする設定</a></li><li><a href="#toc23" tabindex="0">p.2 Q.IaaS（Infrastracture as a Service）って何？</a></li><li><a href="#toc24" tabindex="0">p.2 Q.閉域網ってなに？</a></li><li><a href="#toc25" tabindex="0">Q.閉域網とインターネットVPN（IPsecなど）の違いは？</a></li><li><a href="#toc26" tabindex="0">Q.IaaSと閉域網の連携は誰が負担するの？</a></li><li><a href="#toc27" tabindex="0">Q.もし、IaaSがサポートしていない閉域網を自社で使っていたら？</a><ol><li><a href="#toc28" tabindex="0">Q.どうやって繋ぐのか？（解決策：中間事業者の利用）</a></li><li><a href="#toc29" tabindex="0">Q.っつか、じゃあ中間事業者をメインの閉域網として使えばよくね？</a></li></ol></li><li><a href="#toc30" tabindex="0">p.3 A社の静的経路制御とは？</a></li><li><a href="#toc31" tabindex="0">p.3 &#8220;開発サーバをシステム部が構築&#8221;って具体的に何をやっているの？</a></li><li><a href="#toc32" tabindex="0">p.3 サーバがプロキシを使うとは？</a></li><li><a href="#toc33" tabindex="0">Q.NAPTとは？</a><ol><li><a href="#toc34" tabindex="0">▼NAPT雑学</a></li><li><a href="#toc35" tabindex="0">▼NAPT実装コマンド</a></li></ol></li><li><a href="#toc36" tabindex="0">Q.キャッシュDNSサーバのフローはどうなってる？</a></li><li><a href="#toc37" tabindex="0">Q.DNSSECとは？</a><ol><li><a href="#toc38" tabindex="0">ステップ1：レコード自体の検証（ZSKを使用）</a></li><li><a href="#toc39" tabindex="0">ステップ2：ZSK公開鍵の検証（KSKを使用）</a></li><li><a href="#toc40" tabindex="0">ステップ3：KSK公開鍵の検証（親ゾーンと連携）</a></li></ol></li><li><a href="#toc41" tabindex="0">p.5 プロキシサーバを動的に切り替える方法は？</a></li><li><a href="#toc42" tabindex="0">p.7 Q.マルチホーム環境でも静的経路で対応できるのでは？</a></li><li><a href="#toc43" tabindex="0">Q.VRRPとは？</a><ol><li><a href="#toc44" tabindex="0">▼障害検知方法</a></li></ol></li><li><a href="#toc45" tabindex="0">p.8 Q.専用線で接続するとは物理的にどうやっているの？</a><ol><li><a href="#toc46" tabindex="0">Q.物理的にどう繋がっているのか？</a></li></ol></li><li><a href="#toc47" tabindex="0">p.8 Q.なぜBGPをすぐに確立しないの？また、それは技術的に可能なの？</a><ol><li><a href="#toc48" tabindex="0">確立させない方法</a></li><li><a href="#toc49" tabindex="0">Q.即座にBGP起動するとどういう不具合があるの？</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）DNSラウンドロビン</span></h3>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="812" height="82" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-63.png" alt="" class="wp-image-8216" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-63.png 812w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-63-300x30.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-63-762x77.png 762w" sizes="(max-width: 812px) 100vw, 812px" /></figure>



<p class="wp-block-paragraph">１つのドメイン名に対して複数のIPアドレスを割り当てることを<span class="bold-blue">DNSラウンドロビン</span>という。<br><strong>▼具体的な挙動</strong><br>例えば、同一ドメインに対して3つのAレコード（IPアドレス（IP-1, IP-2, IP-3））が登録されている場合、DNSサーバは以下のように応答する。</p>



<p class="wp-block-paragraph"><strong>1回目の問い合わせ</strong>：<code>[ IP-1, IP-2, IP-3 ]</code> の順番で返す<br><strong>2回目の問い合わせ</strong>：<code>[ IP-2, IP-3, IP-1 ]</code> の順番で返す<br><strong>3回目の問い合わせ</strong>：<code>[ IP-3, IP-1, IP-2 ]</code> の順番で返す</p>



<p class="wp-block-paragraph">1件だけ返してしまうと、そのサーバが死んでいた場合にPCは通信不能になる。複数件まとめて返しておけば、PCは「先頭のIP（例: IP-1）に接続を試みてタイムアウトしたら、2番目のIP（例: IP-2）へ自動的に再接続する」という動作ができるため、クライアント側での簡易的な障害回避が可能になる。<br></p>



<h3 class="wp-block-heading"><span id="toc3">（３）192.168.2.145</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="752" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-60.png" alt="" class="wp-image-8213" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-60.png 752w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-60-300x36.png 300w" sizes="(max-width: 752px) 100vw, 752px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="679" height="99" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-61.png" alt="" class="wp-image-8214" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-61.png 679w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-61-300x44.png 300w" sizes="(max-width: 679px) 100vw, 679px" /></figure>



<p class="wp-block-paragraph">切り替え後、つまり障害が発生した際にはどのプロキシサーバを使うかが聞かれている。<br>案１を見ると、通常時はB（192.168.1.145)が使われて、障害時はCに切り替えると書かれているのでCのIPアドレスである<span class="bold-blue">192.168.2.145</span>を指定することが推測される。</p>



<h4 class="wp-block-heading"><span id="toc4">＊注意！案２でもDNSのIPアドレス変更は必須</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="759" height="59" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-65.png" alt="" class="wp-image-8222" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-65.png 759w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-65-300x23.png 300w" sizes="(max-width: 759px) 100vw, 759px" /></figure>



<p class="wp-block-paragraph">正直、案２の場合はDNSを書き換えなくても、クライアントには複数レコードが配られるので自動でフェイルオーバーできるから書き換える必要はないのでは？？という発想が生まれる。<br>しかし、クライアント側に自動フェイルオーバーがない場合はアクセスできなくなってしまう。また、もしもフェイルオーバー機能があったとしても、障害発生プロキシのIPが先頭の状態で届いたクライアントは確実に１回はアクセスできないサーバにアクセスしなければならず、それは非効率。<br>そのため、ワンちゃんフェイルオーバー機能で通信できるかもしれないけど、ユーザに迷惑をかける確率の方が高いので障害が起きたらしっかりとDNS設定を変更しようよね！ということ。</p>



<h3 class="wp-block-heading"><span id="toc5">（５）方法：プロキシ自動設定機能を利用する　制限事項：対応するPCやサーバでしか利用できない</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="724" height="78" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-64.png" alt="" class="wp-image-8221" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-64.png 724w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-64-300x32.png 300w" sizes="(max-width: 724px) 100vw, 724px" /></figure>



<p class="wp-block-paragraph">では、一つずつ分解しながら回答を導いていこう！</p>



<h4 class="wp-block-heading"><span id="toc6">Q.DNSとは異なる方法とは？</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="542" height="124" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-66.png" alt="" class="wp-image-8223" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-66.png 542w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-66-300x69.png 300w" sizes="(max-width: 542px) 100vw, 542px" /></figure>



<p class="wp-block-paragraph">「<span class="bold-blue">DNSとは異なる方法</span>」とは、DNSゾーンファイルの書き換えを行わずに、端末自身に即座に正常なプロキシへ切り替えさせることを意味している。指している。</p>



<h4 class="wp-block-heading"><span id="toc7">Q.プロキシサーバを利用する側の環境とは？</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="539" height="113" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-67.png" alt="" class="wp-image-8224" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-67.png 539w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-67-300x63.png 300w" sizes="(max-width: 539px) 100vw, 539px" /></figure>



<p class="wp-block-paragraph">「<span class="bold-blue">プロキシサーバを利用する側の環境</span>」とは、つまりプロキシサーバを使うユーザ/クライアント側の環境を意味する</p>



<h4 class="wp-block-heading"><span id="toc8">Q.そもそもユーザはどうやってホスト名を知っているの？</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="504" height="59" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-69.png" alt="" class="wp-image-8226" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-69.png 504w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-69-300x35.png 300w" sizes="(max-width: 504px) 100vw, 504px" /></figure>



<p class="wp-block-paragraph">「従業員が指定するホスト」と書かれているが、もしもこれがユーザの持つPACファイルに書かれた情報をもとにしているのであれば、WPADなんか使わずに、最初からこのPACファイルに負荷分散をするJavaScriptを書けばいいのでは？</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#負荷分散ができるJavaScript
function FindProxyForURL(url, host) {
    // クライアントのランダム値で50%の確率で優先順位を反転
    if (Math.random() &lt; 0.5) {
        return &quot;PROXY ProxyB:8080; PROXY ProxyC:8080&quot;;
    } else {
        return &quot;PROXY ProxyC:8080; PROXY ProxyB:8080&quot;;
    }
}" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#負荷分散ができるJavaScript</span></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">function</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">FindProxyForURL</span><span style="color: #F8F8F2">(</span><span style="color: #A6E22E">url,</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2">) {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #A6E22E">//</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントのランダム値で50%の確率で優先順位を反転</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #F92672">if</span><span style="color: #F8F8F2"> (</span><span style="color: #A6E22E">Math.random</span><span style="color: #F8F8F2">() &lt; 0.5) {</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">return</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;PROXY ProxyB:8080; PROXY ProxyC:8080&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #F8F8F2">    } </span><span style="color: #F92672">else</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">return</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;PROXY ProxyC:8080; PROXY ProxyB:8080&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #F8F8F2">    }</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span></code></pre></div>



<p class="wp-block-paragraph">A.結論として、元々はPACファイルではなく、<span class="bold-blue">ブラウザにホスト名が直接設定されている</span>状態である。PCのキッティング時やActive Directoryのグループポリシー（GPO）によって、ブラウザの「プロキシ設定」の項目に、手動設定の形で <code>proxy.a-sha.co.jp:8080</code> と<span class="bold-blue">直書きされている</span>。したがって、クライアントは通信のたびに <code>proxy.a-sha.co.jp</code> のIPアドレスをDNSに問い合わせをしている。</p>



<h4 class="wp-block-heading"><span id="toc9">結論</span></h4>



<p class="wp-block-paragraph">以上の点から、PACファイルを動的に配ることができれば、ブラウザに直書きの情報ではなくPACによる制御に変えられる。PACには以下のようなプロキシを負荷分散できるJavaScriptを書くことができるので、PACファイルさえ配れれば案２を満たすことができる。<br>そして先ほどから挙がるプロキシを動的に配る方法こそが<span class="bold-blue">プロキシ自動設定機能（WPAD:WebProxyAuto-Discovery）</span>である。これはプロキシをDNSやDHCPなどの機能を使って配布する方法である。しかし、そもそもの前提として、これをWPADを利用するには、プロキシを利用するクライアント端末（OS、ブラウザ、アプリ）側が、<span class="bold-blue">PACファイル（JavaScript）を実行・解釈する機能を持っている必要がある</span>。つまりは対応するPCやサーバでしか利用できないということ。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#負荷分散ができるJavaScript
function FindProxyForURL(url, host) {
    // クライアントのランダム値で50%の確率で優先順位を反転
    if (Math.random() &lt; 0.5) {
        return &quot;PROXY ProxyB:8080; PROXY ProxyC:8080&quot;;
    } else {
        return &quot;PROXY ProxyC:8080; PROXY ProxyB:8080&quot;;
    }
}" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#負荷分散ができるJavaScript</span></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">function</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">FindProxyForURL</span><span style="color: #F8F8F2">(</span><span style="color: #A6E22E">url,</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2">) {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #A6E22E">//</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントのランダム値で50%の確率で優先順位を反転</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #F92672">if</span><span style="color: #F8F8F2"> (</span><span style="color: #A6E22E">Math.random</span><span style="color: #F8F8F2">() &lt; 0.5) {</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">return</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;PROXY ProxyB:8080; PROXY ProxyC:8080&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #F8F8F2">    } </span><span style="color: #F92672">else</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">return</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;PROXY ProxyC:8080; PROXY ProxyB:8080&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #F8F8F2">    }</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span></code></pre></div>



<p class="wp-block-paragraph">▼WPADの詳しいフローなどはこちら</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<a href="https://ascend-beyond.com/study/network_specality/8153/#toc26" title="令和6年（2024年）ネスペ午後Ⅰ　問Ⅲ　解答解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-160x90.jpg 160w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-300x169.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-1024x576.jpg 1024w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-768x432.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-120x68.jpg 120w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6-320x180.jpg 320w, https://ascend-beyond.com/wp-content/uploads/2026/09/5a56461600ad6ac9062a00c97ca243c6.jpg 1200w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">令和6年（2024年）ネスペ午後Ⅰ　問Ⅲ　解答解説</div><div class="blogcard-snippet internal-blogcard-snippet">設問１（１）ア：ハブアンドスポークこれは知識問題なので覚えておこう！（５）インタフェースにIPアドレス割り当てを行わない設定IP Unnumberedは、文字通り「番号（IPアドレス）を割り当てない...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ascend-beyond.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">ascend-beyond.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.09.12</div></div></div></div></a>
</div><figcaption class="wp-element-caption">ctrl+Fで「wpad」と検索してください</figcaption></figure>



<h2 class="wp-block-heading"><span id="toc10">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc11">（１）a:　b:　c:　d:　e:ルーティングテーブル（RIB）　f:</span></h3>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">e:ルーティングテーブル（RIB）</span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="750" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-78.png" alt="" class="wp-image-8241" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-78.png 750w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-78-300x52.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></figure>



<p class="wp-block-paragraph">これを間違えてFIBと回答してしまう人が多々いる。なので、ここではRIB、FIB、ルーティングテーブルの違いをササっと見ていこう！<br><strong>▼簡易的な流れ<br></strong>１．ルーティングプロトコルが自身のアルゴリズムをベースに最適パスを見つける。その最適パスをRIBに提出する<br>２．<span class="bold-blue">RIB</span>はAD値で比較してどのプロトコル（OSPF,BGP,EIGRPなど）を最適経路として扱うかを決める。これがいわゆる<span class="bold-blue">ルーティングテーブル</span>に登録するという段階<br>３．パケット転送には、ネクストホップのIPアドレスだけでなく、ネクストホップのMAC、そこに行くための送信ポートを検索する必要がある。それらを毎回やるのは非効率なので１つのテーブルとしてまとめておいてくれるのが<span class="bold-blue">FIB</span>。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>テーブル名</strong></td><td><strong>別名・担当領域</strong></td><td><strong>役割と登録される情報</strong></td></tr></thead><tbody><tr><td><strong>BGP/OSPFテーブル</strong></td><td>各プロトコルのデータベース</td><td>各プロトコル内で選出された「プロトコル内ベストパス（候補）」を保持する。</td></tr><tr><td><strong>ルーティングテーブル</strong></td><td><strong>RIB</strong>（CPU / ソフトウェア）</td><td>複数プロトコルからのベストパスを<strong>AD値で比較</strong>し、勝ち残った「真の最適経路」を登録する。一般的に「ルーティングテーブル」といえばこのRIBを指す。</td></tr><tr><td><strong>FIB</strong></td><td>転送テーブル（ASIC / ハードウェア）</td><td>RIBの情報をもとに、**「宛先IP ➔ 出力ポート ＋ 送信先MAC」**の3要素をあらかじめ計算・バインドした「事前計算済みのカンニングペーパー」。</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc12">▼FIBとは？</span></h4>



<p class="wp-block-paragraph">たとえば、BGPで学習したRIBの情報は次のようになっている。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>宛先</strong>: <code>10.0.0.0/8</code> ➔ <strong>ネクストホップ</strong>: <code>192.168.1.1</code></p>
</blockquote>



<p class="wp-block-paragraph">これを受け取ったルータは、パケットを目の前のLANケーブルに流すために、以下の<strong>3ステップの検索</strong>を毎回行わなければならない。</p>



<ol start="1" class="wp-block-list">
<li><strong>RIBを検索（1回目）</strong>：宛先 <code>10.0.0.0/8</code> に行くには <code>192.168.1.1</code> に送ればいいな。</li>



<li><strong>RIBを再検索（2回目）</strong>：で、<code>192.168.1.1</code> に送るにはどの物理ポート（例: <code>Ge0/0/1</code>）から出せばいいんだ？（直結経路の確認）</li>



<li><strong>ARPテーブルを検索（3回目）</strong>：<code>192.168.1.1</code> のMACアドレスは何だ？</li>
</ol>



<p class="wp-block-paragraph">パケットが1個届くたびに、CPUがルーティングテーブルとARPテーブルを何回も往復して検索（再帰検索）していたら、毎秒数百万〜数億個届くパケットを捌ききれない。そこで、BGP更新や静的経路の変更があった時に、<strong>あらかじめCPUがこの3ステップを事前に計算して解決した「カンニングペーパー」を作成</strong>する。これが<strong>FIB</strong>。</p>



<h3 class="wp-block-heading"><span id="toc13">（２）自身のIPアドレス</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="796" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-72.png" alt="" class="wp-image-8234" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-72.png 796w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-72-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-72-765x124.png 765w" sizes="(max-width: 796px) 100vw, 796px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="579" height="271" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-70.png" alt="" class="wp-image-8232" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-70.png 579w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-70-300x140.png 300w" sizes="(max-width: 579px) 100vw, 579px" /></figure>



<p class="wp-block-paragraph">R13はR11からR12の情報をもらった場合、ネクストホップはR12となっている。なぜならiBGPではネクストホップを変えずに流すから。そのため、R13はR12と接続していないので、その経路は無効扱いになってしまう。R13はR11からR12の情報をもらった場合、ネクストホップはR12となっている。なぜならiBGPではネクストホップを変えずに流すから。そのため、R13はR12と接続していないので、その経路は無効扱いになってしまう。それを防ぐために、R11ではnext-hop-selfをつかう。next-hop-selfを使うことで、<span class="bold-blue">ネクストホップを自身のIPアドレスに上書き</span>できる。これによりR13はR11からもらうR12からの経路も有効として判断できる。<br>これは、R13からR11に渡す場合も同様である。</p>



<h3 class="wp-block-heading"><span id="toc14">（４）VRRPマスターになったR13が経路情報を保持していないと受信したパケットを転送できないから</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="752" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-79.png" alt="" class="wp-image-8242" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-79.png 752w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-79-300x36.png 300w" sizes="(max-width: 752px) 100vw, 752px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="728" height="311" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-80.png" alt="" class="wp-image-8243" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-80.png 728w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-80-300x128.png 300w" sizes="(max-width: 728px) 100vw, 728px" /></figure>



<p class="wp-block-paragraph">Q.BGPを行った後にVRRPを導入する理由は？<br>A.もし、先にVRRPを稼働させた場合、誤ってR13がマスタになるとR13は経路情報をまだ学習できていないので、流れてきたパケットは破棄されてしまう。そのため、まずは、BGPで経路情報を取得して疎通できる状態にしてから、VRRPを動作させる。<br>そうすることで、VRRP設定時に意図せずR13がマスタに昇格しても疎通を続けられるというわけである。<br>＊VRRP設定作業では、障害が起きていなくてもR13が一瞬（または恒久的に）VRRPマスタになることがあるので、念には念をという観点でこの順番をとる。</p>



<h3 class="wp-block-heading"><span id="toc15">（５）確認事項：パケットロスが発生しないこと① [送信元：R13 宛先：FW10] or [送信元：FW10 宛先：R13] or [送信元：R13 宛先：R11] or [送信元：R11 宛先：R13] ② [送信元：R14 宛先：R13] or [送信元：R13 宛先：R14]</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="724" height="33" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-82.png" alt="" class="wp-image-8246" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-82.png 724w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-82-300x14.png 300w" sizes="(max-width: 724px) 100vw, 724px" /></figure>



<p class="wp-block-paragraph"><strong>確認事項：パケットロスが発生しないこと。<br></strong>　確認事項としては、pingが一発届くだけでなく、しっかりと連続で届くことを確認する。そうすることでパケット落ちが発生してないかという回線・機器の品質を確かめられる</p>



<p class="wp-block-paragraph"><strong>① [<span class="fz-18px">送信元：R13 宛先：FW10] </span>or<span class="fz-18px"> [送信元：FW10 宛先：R13] </span>or<span class="fz-18px"> [送信元：R13 宛先：R11] </span>or<span class="fz-18px"> [送信元：R11 宛先：R13</span>] </strong><br>　LAN側の確認をしている</p>



<p class="wp-block-paragraph"><strong>② [<span class="fz-18px">送信元：R14 宛先：R13] </span>or<span class="fz-18px"> [送信元：R13 宛先：R14</span>]</strong><br>　WAN側の確認をしている</p>



<h3 class="wp-block-heading"><span id="toc16">（７）① R11② R13③ R11 と R12 とを接続する回線④ R13 と R14 とを接続する回線⑤ R11 と L2SW10 とを接続する回線⑥ R13 と L2SW10 とを接続する回線</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="532" height="94" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-84.png" alt="" class="wp-image-8248" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-84.png 532w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-84-300x53.png 300w" sizes="(max-width: 532px) 100vw, 532px" /></figure>



<p class="wp-block-paragraph">これは新規導入による疎通確認テストではない。あくまでも障害試験である。<br><span class="bold-blue">障害試験</span>とは稼働中のシステムに対して、あえて意図的に障害を起こし、裏のルートに切り替わるかを確認すること。<br>よって、今回の目的はマルチホーミングなので既存のR11などもわざと障害を起こしてR13経路に切り替わるかを確認する必要がある。</p>



<h2 class="wp-block-heading"><span id="toc17">設問３</span></h2>



<h3 class="wp-block-heading"><span id="toc18">（１）ルーティングのループが発生する</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="850" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-85.png" alt="" class="wp-image-8249" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-85.png 850w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-85-300x32.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-85-766x82.png 766w" sizes="(max-width: 850px) 100vw, 850px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="782" height="374" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-86.png" alt="" class="wp-image-8250" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-86.png 782w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-86-300x143.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-86-767x367.png 767w" sizes="(max-width: 782px) 100vw, 782px" /></figure>



<p class="wp-block-paragraph">では、１つ１つ現象を紐解いていこう！</p>



<h4 class="wp-block-heading"><span id="toc19">Q.D社閉域NWの設定変更とは？</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="794" height="77" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-87.png" alt="" class="wp-image-8251" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-87.png 794w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-87-300x29.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-87-763x74.png 763w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



<p class="wp-block-paragraph">A.FW40にインターネット宛てのデフォルトルートを広告する設定である。これを設定することで、R12,R14へとインターネット宛ての経路が確立される</p>



<h4 class="wp-block-heading"><span id="toc20">Q.FW10のデフォルトルートの設定変更を行うとは？また、どうなる？</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="801" height="75" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-88.png" alt="" class="wp-image-8252" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-88.png 801w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-88-300x28.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-88-758x71.png 758w" sizes="(max-width: 801px) 100vw, 801px" /></figure>



<p class="wp-block-paragraph">A.FW10の変更とは、インターネット宛ての通信をR10からVRRPの仮想IP宛て（＝D社閉域網宛て）に変えることを意図している。</p>



<h4 class="wp-block-heading"><span id="toc21">Q.なぜループになるの？</span></h4>



<p class="wp-block-paragraph">A.上述した内容を念頭に置きつつループが発生するフローを見ていこう<br>▼ループのフロー<br>１．F10のルーティングテーブルにインターネット宛てをD社閉域網宛てにする（VRRPの仮想IP）<br>２．FW10にインターネット宛てのパケットが届くとR11に転送する<br>３．R11のテーブルではインターネット宛てはFW10となっているのでFW10へ送信する<br>４．TTLが０になるまで１～３を繰り返す＝ループ<br>以上がループが起きる原因である。<br>では、次は逆にD社閉域網側のFW40にインターネット宛てのパケットを受け取る設定を入れた場合のフローを見ていこう！<br><strong>▼正しい手順でインターネット宛てルートを設定した場合<br></strong>１．FW40にインターネット宛てデフォルトルートを設定する<br>２．D社閉域網内のMP-BGPによりR12,R14にその経路が流れる<br>３．FW10側でもインターネット宛てはD社閉域網側に行くように設定する<br>４．実際のパケットがFW10に届くとR11に転送する<br>５．R11はR12からeBGPでインターネット宛ての経路を受け取っているのでR12に転送する<br>６．R12はFW40に転送する<br>７．FW40はインターネットへ流す</p>



<h3 class="wp-block-heading"><span id="toc22">（３）送信元IPアドレスがプロキシサーバAで宛先IPアドレスがインターネットであった場合にネクストホップをR10とする設定</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="756" height="313" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-90.png" alt="" class="wp-image-8255" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-90.png 756w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-90-300x124.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="820" height="84" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-91.png" alt="" class="wp-image-8256" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-91.png 820w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-91-300x31.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-91-761x78.png 761w" sizes="(max-width: 820px) 100vw, 820px" /></figure>



<p class="wp-block-paragraph">▼<strong>整理された全体フロー</strong></p>



<ul class="wp-block-list">
<li><strong>特定部門（送信元IP制限のあるサービスを利用）</strong>
<ol start="1" class="wp-block-list">
<li>本文にもある通り特定部門にはプロキシAを案内し、ブラウザ等で<strong>プロキシA</strong>を設定してアクセス</li>



<li>FW10がPBRによって「送信元＝プロキシA」を検知し、ネクストホップをR10（旧ルート）へ強制転送</li>



<li><strong>旧グローバルIP</strong>のままインターネットへ出るため、外部サービスのフィルタリングを無事クリア</li>
</ol>
</li>



<li><strong>一般部門（通常通信）</strong>
<ol start="1" class="wp-block-list">
<li>DNSの自動制御（案2）により<strong>プロキシBまたはC</strong>を参照</li>



<li>FW10は通常通りデフォルトルートに従い、D社閉域網（新ルート）へ転送</li>



<li>D社閉域網を通ってFW40（新グローバルIP）でNAPT変換され、インターネットへ出る</li>
</ol>
</li>
</ul>



<p class="wp-block-paragraph">▼PBRの例</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="access-list 1 permit プロキシAのIP サブネット

route-map ルートマップ名 permit シーケンス番号
 match ip address 1
 set ip next-hop R10のIP
 
interface プロキシとつながっているインタフェース名
 ip policy route-map ルートマップ名" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">access-list</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロキシAのIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">サブネット</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">next-hop</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">R10のIP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロキシとつながっているインタフェース名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">policy</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">p.2 Q.IaaS（Infrastracture as a Service）って何？</span></h3>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="329" height="50" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-49.png" alt="" class="wp-image-8197" style="width:329px;height:auto" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-49.png 329w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-49-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-49-320x50.png 320w" sizes="(max-width: 329px) 100vw, 329px" /></figure>



<p class="wp-block-paragraph">A.IaaSとは、インフラをクラウド上で利用できるサービスのこと。つまり、自社内に電源、サーバーラック、LANケーブル、ネットワーク環境などの手配をする必要がなくなるということ。しかし、その上で動作するOS、アプリ、FWルールなどはすべて自分でやる必要がある。</p>



<h3 class="wp-block-heading"><span id="toc24">p.2 Q.閉域網ってなに？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="227" height="189" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-50.png" alt="" class="wp-image-8198"/></figure>



<p class="wp-block-paragraph">A.閉域網とはインターネットとは隔絶された独自のネットワーク。主にMPLSサービスなどが代表例としてある。これを使うことによって、閉じた空間なのでプライベートIPアドレスを広告して、離れた拠点間とのプライベートIPアドレス同士の通信ができるようになったりする。</p>



<h3 class="wp-block-heading"><span id="toc25">Q.閉域網とインターネットVPN（IPsecなど）の違いは？</span></h3>



<p class="wp-block-paragraph">正直、閉域網でできることってインターネットVPNでも実現できるよね？暗号化して、カプセル化をすれば離れた拠点でもプライベートIP同士の通信ができるよね。じゃあ、なんで今も閉域網サービスは存在しているの？</p>



<p class="wp-block-paragraph">A.結論から言うと、現代において企業がインターネットVPNではなく閉域網を選ぶ最大の理由は「<span class="bold-blue">通信品質の保証（SLA）</span>」と「<span class="bold-blue">回線の信頼性・安全性の確保</span>」にある。現代のインフラ観点でのポイントを比較表でまとめよう。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>閉域網 (IP-VPNなど)</strong></td><td><strong>インターネットVPN (IPsec)</strong></td></tr></thead><tbody><tr><td><strong>回線の実体</strong></td><td>通信事業者の専用ネットワーク</td><td>公衆インターネット</td></tr><tr><td><strong>品質・帯域 (SLA)</strong></td><td><strong>保証あり</strong>（揺らぎ・遅延がほぼ無い）</td><td><strong>ベストエフォート</strong>（混雑時に遅延・バースト発生）</td></tr><tr><td><strong>ルーティング</strong></td><td>事業者網内でプライベートIPを直で交換可能</td><td>インターネット上にTunnelを掘ってGRE/IPsec等で交換</td></tr><tr><td><strong>暗号化処理</strong></td><td>不要（物理的・論理的に隔離されているため）</td><td><strong>必須</strong>（途中の盗聴を防ぐため）</td></tr><tr><td><strong>オーバーヘッド</strong></td><td>ほぼゼロ</td><td>暗号化＋ESPヘッダー追加による<strong>パケット長増大</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">Q.IaaSと閉域網の連携は誰が負担するの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="918" height="75" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-51.png" alt="" class="wp-image-8199" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-51.png 918w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-51-300x25.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-51-759x62.png 759w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<p class="wp-block-paragraph">A社側がIaaS上で自分でD社と契約処理をしているのか、はたまた、B社がサービスとしてあらかじめD社の閉域網を利用できる形式を整えてくれているのか？だれが何をやっているのかを明確にしたい。</p>



<p class="wp-block-paragraph">A.結論から言うと、費用や契約の最終的な負担者は「A社」だが、D社閉域網とB社IaaSの間の物理的・論理的な接続ライン（相互接続）自体は、B社とD社（事業者同士）があらかじめ準備して連携しているものになる。<br>▼<strong>各プレイヤーの役割と負担</strong></p>



<ul class="wp-block-list">
<li><strong>B社（IaaS）と D社（回線事業者）の関係</strong>
<ul class="wp-block-list">
<li>あらかじめB社のデータセンターとD社の閉域網（MPLS網）を大容量の回線で相互接続（ピアリング）しておく。</li>



<li>これにより「D社の閉域網を使っている顧客なら、インターネットを経由せずに直接B社IaaSにアクセスできる準備」が整っている。</li>
</ul>
</li>



<li><strong>A社（利用企業）の契約と費用負担</strong>
<ul class="wp-block-list">
<li>費用を支払うのはすべてA社。</li>



<li>A社は ①D社に対して「自社〜B社IaaS間の閉域網利用オプション料金」 を支払い、②B社に対して「閉域網接続用ポート（専用線ゲートウェイなど）の利用料」 を支払って設定を行う。</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading"><span id="toc27">Q.もし、IaaSがサポートしていない閉域網を自社で使っていたら？</span></h3>



<p class="wp-block-paragraph">IaaSはサービスとして閉域網をあらかじめ接続準備してくれている。しかし、もし、自社で使っている閉域網がIaaSではサービス対象外であった場合、自分で接続処理などをしなくてはならないの？また、それはどうやってやるの？</p>



<p class="wp-block-paragraph">A.「IaaS側で自社の閉域網が直接サポートされていない場合、中間事業者（マルチクラウド接続事業者）を挟んで繋ぐ」というのが、現代のエンタープライズネットワークにおける標準的な解決策。</p>



<h4 class="wp-block-heading"><span id="toc28">Q.どうやって繋ぐのか？（解決策：中間事業者の利用）</span></h4>



<p class="wp-block-paragraph">そこで登場するのが、<span class="blue">Equinix（エクイニクス）</span>や<span class="blue">Megaport（メガポート）</span>といったデータセンター／マルチクラウド接続事業者（データエクスチェンジ事業者）。<br>▼<strong>接続のイメージ</strong></p>



<ul class="wp-block-list">
<li><strong>自社〜中間事業者</strong>：既存の閉域網（D社）を中間事業者のデータセンターまで伸ばして接続する。</li>



<li><strong>中間事業者〜IaaS</strong>：中間事業者はすでに主要なIaaS（AWS, Azure, GCP等）すべてと大容量の専用線で直結している。</li>



<li><strong>データ転送</strong>：中間事業者の拠点でパケットを折り返し、自社の閉域網からIaaSへ通信を流し込む。</li>
</ul>



<h4 class="wp-block-heading"><span id="toc29">Q.っつか、じゃあ中間事業者をメインの閉域網として使えばよくね？</span></h4>



<p class="wp-block-paragraph">A.完全にその通りで、実際に多くの企業がそのような構成（自社拠点〜中間事業者〜各クラウド）へ移行している。中間事業者の内部ネットワークも閉域網として運用されているので、乗り換えても閉域網として維持できるので問題ない。しかし、運用・契約上の都合などによって従来の閉域網を残す理由もある。<br>▼<strong>従来の閉域網（D社等）を残す主な理由</strong></p>



<ul class="wp-block-list">
<li><strong>ラストワンマイル（物理回線）の調達能力</strong> <br>中間事業者（Equinix等）は「都市部のデータセンター内」に拠点を持っている。全国にある自社オフィスや工場からそのデータセンターまで物理的な回線を引いて連れてくる役割（アクセス回線）として、キャリア（D社等）の網が必要になる。</li>



<li><strong>長年の契約とコスト・移行リスク</strong> <br>すでにD社と長期契約（数年単位の割引等）を結んでいたり、全国数十拠点の設定変更・乗り換え工事に膨大なコストとリスクがかかるため、既存網を活かしたままクラウド接続部分だけを追加・拡張するケースが多く存在する。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc30">p.3 A社の静的経路制御とは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="596" height="50" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-52.png" alt="" class="wp-image-8200" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-52.png 596w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-52-300x25.png 300w" sizes="(max-width: 596px) 100vw, 596px" /></figure>



<p class="wp-block-paragraph">スタティック設定にしていると記されているが、具体的にどの機器でどんなスタティック設定をしているのか？現在の構成（図1）を見ると、通信の行き先は主に<span class="bold-blue">3パターンしかない</span>ので、それらを見ていこう！</p>



<ol start="1" class="wp-block-list">
<li><strong>本社PCから営業所やIaaSへ行く通信</strong>
<ul class="wp-block-list">
<li><strong>L3SW10</strong>：物理的にFW10にしかつながっていないので、ネクストホップはすべてFW10になる</li>



<li><strong>FW10</strong>：FW10は「<code>192.168.1.0/24</code>（B社IaaS）や営業所宛てのパケットが来たら、ネクストホップ（次の送り先）を R11 に向ける」というスタティック経路を手動で書き込んでいる。</li>
</ul>
</li>



<li><strong>本社からインターネットへ行く通信</strong>
<ul class="wp-block-list">
<li><strong>L3SW10</strong>：物理的にFW10にしかつながっていないので、ネクストホップはすべてFW10になる</li>



<li><strong>FW10の設定</strong>：「デフォルトルート（<code>0.0.0.0/0</code>：どこにも該当しない外向けの通信）は R10 に向ける」というスタティック経路を設定している。</li>
</ul>
</li>



<li><strong>営業所から本社やIaaSへ行く通信</strong>
<ul class="wp-block-list">
<li><strong>R20（営業所ルータ）の設定</strong>：「本社やIaaS宛て、あるいはインターネット宛ての通信はすべて <strong>D社閉域網（R21）</strong> に向ける」というスタティック経路を設定してる。</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading"><span id="toc31">p.3 &#8220;開発サーバをシステム部が構築&#8221;って具体的に何をやっているの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="862" height="98" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-53.png" alt="" class="wp-image-8201" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-53.png 862w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-53-300x34.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-53-765x87.png 765w" sizes="(max-width: 862px) 100vw, 862px" /></figure>



<p class="wp-block-paragraph">A.開発担当者には、あたかも「物理サーバがすぐそこにある」という状態で渡したい。そのために以下の設定が必要になる。<br>＊ちなみに、「開発サーバ」とはシステムを開発するためのサーバ。このサーバ上で多くのトライ＆エラーやりながら開発を進めていく。「テストサーバ」は開発サーバである程度形になったものの挙動をテストするためのサーバ。このテストサーバ上で、コードの修正などは基本的に実施しない。<br><strong>▼構築</strong></p>



<ul class="wp-block-list">
<li><strong>インフラリソースの手配</strong>：B社IaaS上で仮想マシン（VM）を作成（CPU・メモリ・ディスク容量の割り当て）</li>



<li><strong>ネットワーク・IP設定</strong>：社内からアクセスできるように<span class="blue">プライベートIPアドレス</span>（<code>192.168.1.x</code>）を付与し、ルーティングやFW/セキュリティグループを設定<br>＊開発担当者に直接仮想サーバを作らせると、内部でIPアドレスの重複が起きたり、セキュリティ設定が甘くなったりして、踏み台にされてしまうリスクがある。そのため、システム部門で一元管理している。</li>



<li><strong>OSのインストール・初期設定</strong>：LinuxやWindows ServerなどのOSを導入し、セキュリティパッチの適用や最低限のアカウントを作成</li>
</ul>



<p class="wp-block-paragraph"><strong>▼引き渡し</strong></p>



<ul class="wp-block-list">
<li><strong>アクセス用情報の提供</strong>：「IPアドレス（またはホスト名）」「管理用アカウント（管理者IDと初期パスワード、またはSSH秘密鍵）」を担当部門に通知する。</li>



<li><strong>利用環境の案内</strong>：「社内PCからSSHやリモートデスクトップ（RDP）でアクセスして開発に使ってください」と伝達する。</li>
</ul>



<p class="wp-block-paragraph"><strong>▼引き渡し後<br></strong>引き渡された後、開発サーバBの中で何をするかは<strong>担当部門（現場のエンジニア）の責任</strong>になります。</p>



<ul class="wp-block-list">
<li><strong>ミドルウェア・開発環境の導入</strong>：Webサーバ（Apache/Nginx）、データベース（MySQL等）、PythonやJavaなどのプログラミング言語環境のインストール</li>



<li><strong>ソースコード・アプリの配置</strong>：開発するシステムのプログラムを入れて動かす</li>



<li><strong>日々の運用管理</strong>：アプリのログ管理、開発メンバー用のアカウント追加・削除、不要になった際のシャットダウンや再起動</li>
</ul>



<h3 class="wp-block-heading"><span id="toc32">p.3 サーバがプロキシを使うとは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-55.png" alt="" class="wp-image-8206" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-55.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-55-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-55-765x118.png 765w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">プロキシを使う対象として、ブラウザとサーバが挙げられている。ブラウザはわかるけど、サーバにプロキシを指定って。。。どのサーバのこと？</p>



<p class="wp-block-paragraph">A.開発サーバにはどのプロキシを使うかの設定が必要。APIやライブラリなどと連携するときにインターネットからそれらの情報を取得したりする必要があるので開発サーバにもプロキシ設定は必要。</p>



<h3 class="wp-block-heading"><span id="toc33">Q.NAPTとは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="822" height="122" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-58.png" alt="" class="wp-image-8209" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-58.png 822w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-58-300x45.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-58-761x113.png 761w" sizes="(max-width: 822px) 100vw, 822px" /></figure>



<p class="wp-block-paragraph">NAPT（IPマスカレード）とは送信元IPアドレスに加え「<span class="bold-blue">送信元ポート番号</span>」も一緒に変換することで、1つのグローバルIPを複数の内部機器で同時に共有できるようにするアドレス変換技術。</p>



<h4 class="wp-block-heading"><span id="toc34">▼NAPT雑学</span></h4>



<p class="wp-block-paragraph">ポートは2<sup>16</sup>、つまり総数は65,536個。その中の0~1023はウェルノウンポートとして予約されている。つまり、1つのアドレスで表現できる総数は、65536-1024=<span class="bold-blue">64,512個</span>となる。</p>



<h4 class="wp-block-heading"><span id="toc35">▼NAPT実装コマンド</span></h4>



<p class="wp-block-paragraph">①インターフェースの内外(inside/outside)を指定<br>②内部から外部への変換対象を定義(アクセスリスト)<br>③NAT/PATを有効化するコマンドを設定<br>④確認・検証</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#１．インターフェースの内外(inside/outside)を指定
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# exit

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip address 203.0.113.1 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# exit

#２．変換したい内部ネットワーク(送信元アドレス範囲)を指定
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

#３．パターン１（プールを使わない場合）
Router(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload

#３．パターン２（プールを使う場合＝グローバルIPが複数ある場合）
Router(config)# ip nat pool MYPOOL 203.0.113.10 203.0.113.20 netmask 255.255.255.0
Router(config)# ip nat inside source list 1 pool MYPOOL overload

#４．確認
#現在の変換テーブルの確認
Router# show ip nat translations
#NATの統計情報(ヒット数、インターフェース設定など)を確認
Router# show ip nat statistics" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#１．インターフェースの内外(inside/outside)を指定</span></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# interface GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# ip address 192.168.1.1 255.255.255.0</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# ip nat inside</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# exit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# interface GigabitEthernet0/1</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# ip address 203.0.113.1 255.255.255.0</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# ip nat outside</span></span>
<span class="line"><span style="color: #A6E22E">Router(config-if</span><span style="color: #F8F8F2">)# exit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#２．変換したい内部ネットワーク(送信元アドレス範囲)を指定</span></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# access-list 1 permit 192.168.1.0 0.0.0.255</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#３．パターン１（プールを使わない場合）</span></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# ip nat inside source list 1 interface GigabitEthernet0/1 overload</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#３．パターン２（プールを使う場合＝グローバルIPが複数ある場合）</span></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# ip nat pool MYPOOL 203.0.113.10 203.0.113.20 netmask 255.255.255.0</span></span>
<span class="line"><span style="color: #A6E22E">Router(config</span><span style="color: #F8F8F2">)# ip nat inside source list 1 pool MYPOOL overload</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#４．確認</span></span>
<span class="line"><span style="color: #88846F">#現在の変換テーブルの確認</span></span>
<span class="line"><span style="color: #A6E22E">Router#</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">nat</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">translations</span></span>
<span class="line"><span style="color: #88846F">#NATの統計情報(ヒット数、インターフェース設定など)を確認</span></span>
<span class="line"><span style="color: #A6E22E">Router#</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">nat</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">statistics</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc36">Q.キャッシュDNSサーバのフローはどうなってる？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="829" height="92" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-59.png" alt="" class="wp-image-8212" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-59.png 829w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-59-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-59-766x85.png 766w" sizes="(max-width: 829px) 100vw, 829px" /></figure>



<p class="wp-block-paragraph"><strong>1. PC ➔ キャッシュDNSサーバ</strong></p>



<ul class="wp-block-list">
<li>PCはDHCP等で知らされた「キャッシュDNSサーバのIP」宛てに名前解決要求（53番ポート宛て）を送信する。</li>
</ul>



<p class="wp-block-paragraph"><strong>2. キャッシュDNS ➔ ルートDNSサーバ（1段階目）</strong></p>



<ul class="wp-block-list">
<li>キャッシュDNSはあらかじめ保持している「ルートヒント」からルートDNSのIPを選ぶ。</li>



<li>パケット：送信元＝[キャッシュDNSのIP : <span class="bold-blue"><strong>ランダムなポートA</strong>]</span> ➔ 宛先＝[ルートDNSのIP : 53]</li>



<li>FW10のNAPT：送信元を「FW10のグローバルIP : <strong><span class="bold-blue">ランダムなポートB</span></strong>」に動的NAPT変換して外へ送出。</li>



<li>応答：ルートDNSから「.jp を管理するTLDサーバのIPアドレス」が返ってくる。</li>
</ul>



<p class="wp-block-paragraph"><strong>3. キャッシュDNS ➔ TLD（.jp）DNSサーバ（2段階目）</strong></p>



<ul class="wp-block-list">
<li>同様に、ランダムな送信元ポートを使ってTLDサーバへ問い合わせる。</li>



<li>応答：TLDサーバから「co.jp を管理するDNSサーバのIPアドレス」が返ってくる。</li>
</ul>



<p class="wp-block-paragraph"><strong>4. キャッシュDNS ➔ 権威DNSサーバ（3段階目）</strong></p>



<ul class="wp-block-list">
<li>最終的に <code>example.co.jp</code> を管理する権威DNSサーバへ問い合わせる。</li>



<li>応答：権威DNSから <code>www.example.co.jp</code> の最終的なIPアドレス（例: <code>192.0.2.1</code>）を取得する。</li>
</ul>



<p class="wp-block-paragraph"><strong>5. キャッシュDNS ➔ PC</strong></p>



<ul class="wp-block-list">
<li>取得したIPアドレスをPCに回答し、同時にその結果を一定時間（TTL）自身の中にキャッシュ（保存）。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc37">Q.DNSSECとは？</span></h3>



<p class="wp-block-paragraph">DNSSECとはキャッシュポイズニングを防止する技術の一つ。では、フローを見ながら理解していこう！</p>



<h4 class="wp-block-heading"><span id="toc38">ステップ1：レコード自体の検証（ZSKを使用）</span></h4>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>対象</strong>：Aレコードなど</span></li>



<li><span class="fz-16px"><strong>検証</strong>：権威DNSから取得した<span class="blue"><span class="bold-blue">DNSKEYレコード</span></span>内の<span class="bold-blue"> <strong>ZSK<span class="fz-16px"><span class="bold-blue">(ZoneSigningKey)</span></span>公開鍵</strong></span> を使い、Aレコードに付いている <span class="bold-blue"><strong>RRSIG(Resource Record Signature)</strong> </span>を検証する。<br>＊RRSIG（A)は権威DNSがAレコードから生成したハッシュ値を<span class="bold-blue">ZSK秘密鍵</span>で暗号化したもの。<br>＊検証するときは検証側が<span class="bold-blue">ZSK公開鍵</span>で署名を復号し、出てきたハッシュ値と検証側でも生成したハッシュ値が一致することを確認する。</span></li>



<li><span class="fz-16px"><strong>結果</strong>：Aレコードが改ざんされていないことが判明。</span></li>
</ul>



<h4 class="wp-block-heading"><span id="toc39">ステップ2：ZSK公開鍵の検証（KSKを使用）</span></h4>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>対象</strong>：ZSK公開鍵が含まれる「DNSKEYレコード」</span></li>



<li><span class="fz-16px"><strong>検証</strong>：権威DNSから取得した <span class="bold-blue"><strong>KSK(KeySigningKey)の公開鍵</strong> </span>を使い、DNSKEYレコードに付いている RRSIG(DNSKEY) を検証する。</span></li>



<li><span class="fz-16px"><strong>結果</strong>：ZSK公開鍵が本物であることが判明。</span></li>
</ul>



<h4 class="wp-block-heading"><span id="toc40">ステップ3：KSK公開鍵の検証（親ゾーンと連携）</span></h4>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>対象</strong>：KSK公開鍵</span></li>



<li><strong>検証</strong>：
<ol start="1" class="wp-block-list">
<li><span class="fz-16px">親ゾーン（例：<code>.jp</code>）へ問い合わせて <span class="bold-blue"><strong>DSレコード</strong>(Delegation Signer)</span>（＝子ゾーンのKSK公開鍵のハッシュ値）を取得する。</span></li>



<li><span class="fz-16px">手元にあるKSK公開鍵を自分でハッシュ化し、親からもらったDSレコードと一致するか比較する。</span></li>
</ol>
</li>



<li><span class="fz-16px"><strong>結果</strong>：KSK公開鍵が親ゾーンによって保証された本物であることが判明。</span></li>
</ul>



<h3 class="wp-block-heading"><span id="toc41">p.5 プロキシサーバを動的に切り替える方法は？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="785" height="68" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-62.png" alt="" class="wp-image-8215" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-62.png 785w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-62-300x26.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-62-762x66.png 762w" sizes="(max-width: 785px) 100vw, 785px" /></figure>



<p class="wp-block-paragraph">案１を見ると、障害が起きるとプロキシCを使いたい旨の記載がある。では、具体的にどうやっているのか？</p>



<p class="wp-block-paragraph"><strong>１．DNSを変更している<br></strong>　DNSでFQDNに対するIPアドレスをBからCのアドレスに変更すれば、必然的にCのプロキシが使われることになる。<br><strong>２．PACファイル</strong><br>　PACファイルだと動的にクライアント側が宛先を変更できるため、以下のような設定をすればプロキシCが使われる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#通常時はproxybで名前解決されるが障害が起きると、２つ目のproxycが利用される。
return &quot;PROXY proxyb.a-sha.co.jp:8080; PROXY proxyc.a-sha.co.jp:8080&quot;;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#通常時はproxybで名前解決されるが障害が起きると、２つ目のproxycが利用される。</span></span>
<span class="line"><span style="color: #F92672">return</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;PROXY proxyb.a-sha.co.jp:8080; PROXY proxyc.a-sha.co.jp:8080&quot;</span><span style="color: #F8F8F2">;</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc42">p.7 Q.マルチホーム環境でも静的経路で対応できるのでは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="514" height="36" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-71.png" alt="" class="wp-image-8233" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-71.png 514w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-71-300x21.png 300w" sizes="(max-width: 514px) 100vw, 514px" /></figure>



<p class="wp-block-paragraph">結論から言うと、「FW10でIP SLA＋スタティック制御を行う」というアイデアは、A社から出ていく通信（往路）だけを見れば動くように思えるが、実際のネットワーク構築（特に復路通信、プロバイダ連携、運用性）においては致命的な欠陥が4あり、採用できない。</p>



<p class="wp-block-paragraph">・復路を制御できない<br>例えば、R11とR12間をFW10がIP slaで監視したとする。そして、経路に障害が起きたらサブルートであるR13とR14の経路を優先させる静的ルートを設定しておく。これだと、A社側からの通信はR13経由にできる。しかし、外部からはR11とR12間で障害が起きていることを知らないので、R12宛ての経路が届いてしまう。。<br>では、仮にR12でip slaを稼働させR11とR12を観察し、その結果をMP-BGPでD社閉域網に流すという方法であれば実現できなくもない。(トラッキングで当該ルートを削除。→RIBから情報が消える→BGPの参照先であるRIB当該経路が消えたことを検知→BGPでwithdrawを流す）</p>



<p class="wp-block-paragraph">しかし、それは現実的じゃない。というか、そもそも、そのような動的に経路を変更したりできるものが動的なルーティングプロトコルである。なので、経路が複数ある場合は基本的に静的ではなく動的なルーティングプロトコルの制御を使うのがベターとなる。</p>



<h3 class="wp-block-heading"><span id="toc43">Q.VRRPとは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="757" height="315" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-73.png" alt="" class="wp-image-8236" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-73.png 757w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-73-300x125.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="733" height="87" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-74.png" alt="" class="wp-image-8237" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-74.png 733w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-74-300x36.png 300w" sizes="(max-width: 733px) 100vw, 733px" /></figure>



<p class="wp-block-paragraph"><span class="bold-blue">VRRP（VirtualRouterRedundancyProtocol）</span>とはデフォルトルートを冗長化するためのプロトコル。複数のルータを１つのルータのように振舞わせることで、１台が故障してもほかのルータで通信を継続させることができる。</p>



<h4 class="wp-block-heading"><span id="toc44">▼障害検知方法</span></h4>



<p class="wp-block-paragraph">マスターが１秒ごとにマルチキャスト<span class="bold-blue">224.0.0.18</span>宛てにAdvertisementを送る。これがタイムアウト時間届かないと、バックアップは障害と検知して仮想IP/仮想MACを引き継ぎGARPを送信する。</p>



<p class="wp-block-paragraph"><strong>▼FHRP（First Hop Redundancy Protocol）とOSPF</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロトコル</strong></td><td><strong>主系（稼働側）</strong></td><td><strong>副系（待機側）</strong></td><td><strong>補足・その他の役割</strong></td></tr></thead><tbody><tr><td><strong>VRRP</strong></td><td><strong>Master</strong></td><td><strong>Backup</strong></td><td>標準規格（RFC）。</td></tr><tr><td><strong>HSRP</strong></td><td><strong>Active</strong></td><td><strong>Standby</strong></td><td>Cisco独自。<code>standby</code> コマンドで設定。</td></tr><tr><td><strong>GLBP</strong></td><td><strong>AVG</strong> <em>(Active Virtual Gateway)</em></td><td><strong>SVG</strong> <em>(Standby Virtual Gateway)</em></td><td>Cisco独自（負荷分散型）。転送担当は <strong>AVF</strong> <em>(Active Virtual Forwarder)</em>。</td></tr><tr><td><strong>OSPF</strong></td><td><strong>Master</strong></td><td><strong>Slave</strong></td><td>冗長化ではなく、DBDパケット同期（ExStart状態）時の制御関係。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc45">p.8 Q.専用線で接続するとは物理的にどうやっているの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="551" height="71" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-81.png" alt="" class="wp-image-8244" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-81.png 551w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-81-300x39.png 300w" sizes="(max-width: 551px) 100vw, 551px" /></figure>



<p class="wp-block-paragraph">A社からD社まで直通の超長いケーブルを1本物理的に引っ張るわけではない。通信事業者（NTT等）がすでに地下や電柱に張り巡らせている既存の光ファイバー網（インフラ）を活用し、両端の拠点へケーブルを引き込んで接続している。</p>



<h4 class="wp-block-heading"><span id="toc46">Q.物理的にどう繋がっているのか？</span></h4>



<p class="wp-block-paragraph">A社本社のR13からD社網のR14までは、以下の3つの区間で物理的につながっている</p>



<ul class="wp-block-list">
<li><strong>１．A社側の引き込み（ラストワンマイル）</strong><br>①電柱やビル地下の<span class="bold-blue">クロージャ</span>から通信事業者の光ファイバーの先端とA社側ケーブルの先端をつなぐ。<br>②A社側のもう一方の先端は<span class="bold-blue">端子盤</span>につなぐ<br>③端子盤と<span class="bold-blue">ONU</span>（光回線終端装置）をつなぐ<br>④ONUが光信号を電気信号に変えて<span class="bold-blue">R13</span>につなぐ</li>



<li><strong>２．通信事業者のビル間ネットワーク（中継網）</strong><br>①A社から引き込んだ光信号は、最寄りのNTT等の<span class="bold-blue">基地局</span>（収容局）へ入る。<br>②ここから先は、地下に埋まっている既存の巨大な光ファイバー網を通じて、<span class="bold-blue">D社最寄りの基地局</span>まで運ばれる</li>



<li><strong>３．D社側の引き込み</strong><br>A社側と同様に、D社拠点（R14側）のビルにも光ファイバーが引き込まれ、D社側のONUに繋がる</li>
</ul>



<h3 class="wp-block-heading"><span id="toc47">p.8 Q.なぜBGPをすぐに確立しないの？また、それは技術的に可能なの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="710" height="64" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-83.png" alt="" class="wp-image-8247" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-83.png 710w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-83-300x27.png 300w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<p class="wp-block-paragraph">A.「BGP設定を入れてもセッションを確立させない」ことは技術的に可能。また、一括して確立させない理由は設定途中の「中途半端な状態」での経路流入事故を防ぐため。<br>要は、手動で１行ずつ設定していくと、行と行の間で数秒間経過してしまい、その間にフィルタリングをする前に情報が流入・流出してしまうのでそれを防ごうねということ。</p>



<h4 class="wp-block-heading"><span id="toc48">確立させない方法</span></h4>



<p class="wp-block-paragraph">BGPの設定コマンドの中に <code>neighbor &lt;IPアドレス> shutdown</code> という命令を書いておく。 これを書いておくと、設定自体はルータに保存されるが、相手（ピア）へBGPの接続要求（OPENメッセージ）を送らなくなる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#無効化させるとき
neighbor &lt;IPアドレス&gt; shutdown

#有効化させるとき
no neighbor &lt;IPアドレス&gt; shutdown" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#無効化させるとき</span></span>
<span class="line"><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">IPアドレ</span><span style="color: #F8F8F2">ス</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">shutdown</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#有効化させるとき</span></span>
<span class="line"><span style="color: #A6E22E">no</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">IPアドレ</span><span style="color: #F8F8F2">ス</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">shutdown</span></span></code></pre></div>



<h4 class="wp-block-heading"><span id="toc49">Q.即座にBGP起動するとどういう不具合があるの？</span></h4>



<p class="wp-block-paragraph"><strong>1. フィルタ未設定による「ルートリーク（経路の誤流出）」</strong><br>BGPの設定手順は、コマンドの構造上「相手と繋ぐ設定（<code>neighbor</code>）」を投入した後に、「外に流す経路を絞り込む設定（<code>prefix-list</code>や<code>route-map</code>）」を書き込む流れになる。<br>即時接続させてしまうと、絞り込み<span class="bold-blue">設定を打ち込むまでのわずか数十秒</span>の間に、社内ネットワークの不要な経路が外部（D社網）へ一気に漏洩（リーク）する。流出した経路の量によっては、D社側のルータの防御機能（Prefix Limit）が作動し、回線を自動遮断される恐れがある</p>



<p class="wp-block-paragraph"><strong>2. 接続の不整合による「ブラックホール（パケット吸い込み・破棄）」</strong><br>たとえば、先に「R13 ⇔ R14（WAN側）」のBGPだけが繋がり、「R13 ⇔ R11（社内iBGP）」の設定がまだ完了していない時間が発生したとする。</p>



<ul class="wp-block-list">
<li><strong>行き</strong>：D社側（R14）は「R13経由でA社に行ける」と認識し、データ（パケット）をどんどん送り込んできます。</li>



<li><strong>戻り</strong>：しかしR13側は、社内のR11との連携（iBGP）がまだできていないため、届いたパケットを社内へ流せず、そのまま捨ててしまう（通信断）。</li>
</ul>



<p class="wp-block-paragraph"><strong>3. 経路のバタつき（フラッピング）による既存通信の瞬断</strong><br>4台のルータがバラバラのタイミングでBGPを繋ぎ始めると、各ルータは不完全な情報をもとに「どのルートが最適か」を何度も再計算する。その結果、現在正常に動いている「R11 ⇔ R12」の既存ルートまで経路が頻繁に切り替わり（フラッピング）、現在稼働中の業務通信に遅延やパケットロスなどの悪影響を与えてしまう。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BGPハイジャック事件　-Youtube通信を占拠する方法</title>
		<link>https://ascend-beyond.com/study/8178/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 12:10:05 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8178</guid>

					<description><![CDATA[目次 概要事件の背景（何が起きたのか？）登場する重要単語・技術なぜRPKI/ROAがあれば防げたのか？さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#823 [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">概要</a><ol><li><a href="#toc2" tabindex="0">事件の背景（何が起きたのか？）</a></li><li><a href="#toc3" tabindex="0">登場する重要単語・技術</a></li><li><a href="#toc4" tabindex="0">なぜRPKI/ROAがあれば防げたのか？</a></li></ol></li><li><a href="#toc5" tabindex="0">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</a><ol><li><a href="#toc6" tabindex="0">Q.そもそも、どうやって偽の経路を作るの？</a></li><li><a href="#toc7" tabindex="0">Q.どうやって復旧させたの？</a></li><li><a href="#toc8" tabindex="0">Q.プレフィックスを大きくするとどうなるの？</a><ol><li><a href="#toc9" tabindex="0">▼具体例</a></li><li><a href="#toc10" tabindex="0">▼プレフィックスが増大した時のエントリ数が何個になるかの計算方法</a></li></ol></li><li><a href="#toc11" tabindex="0">Q.RPKI（ResourcePublicKeyInfrastracture）とは？</a><ol><li><a href="#toc12" tabindex="0">▼RPKIの全体フロー（証明書はどうなっていて、動検証するのか？）</a></li></ol></li><li><a href="#toc13" tabindex="0">Q.ROA(RouteOriginAuthorization)の取得～検証のフローは？</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">概要</span></h2>



<h3 class="wp-block-heading"><span id="toc2">事件の背景（何が起きたのか？）</span></h3>



<ol start="1" class="wp-block-list">
<li><strong>YouTubeのブロック試み</strong>：パキスタン政府の命令で、国内プロバイダ（パキスタン・テレコム）が自国内でYouTubeを見られないよう、YouTubeのIPアドレス帯（<code>/24</code>）に対する「偽の経路（ブラックホール経路）」を内部で作った。</li>



<li><strong>誤広告（BGPハイジャック）</strong>：その偽の経路情報を、誤って上位プロバイダ（PCCW）へBGPで広告してしまった。</li>



<li><strong>世界中へ拡散</strong>：BGPは「より細かいPrefix（<code>/24</code>）の経路を優先する」というルールがあるため、世界中のインターネットトラフィックがYouTubeの本物サーバーではなくパキスタンへ集中し、YouTubeが世界中でダウンした。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc3">登場する重要単語・技術</span></h3>



<p class="wp-block-paragraph">この「誤ったBGP広告を信用して広めてしまった」対策として登場するキーワードが以下の３つ。</p>



<ul class="wp-block-list">
<li><strong>IRR（Internet Routing Registry）</strong>
<ul class="wp-block-list">
<li>各AS（プロバイダ等）が「自分がどのIPアドレス帯を広報する権利を持っているか」を登録しておくデータベース。</li>



<li><strong>限界</strong>：誰でも登録できるなど認証が甘く、偽装を完全には防げなかった。</li>
</ul>
</li>



<li><strong>RPKI（Resource Public Key Infrastructure）</strong>
<ul class="wp-block-list">
<li>IRRの弱点を補うために作られた「暗号技術（電子署名）を使ったBGP経路の認証基盤」。</li>



<li>APNICやJPNICなどの地域インターネットレジストリ（RIR）が発行する証明書を使って、IPアドレスの所有権を証明します。</li>
</ul>
</li>



<li><strong>ROA（Route Origin Authorization）</strong>
<ul class="wp-block-list">
<li>RPKIの仕組みの中で作成される「経路証明書」データのこと。</li>



<li>「このIPアドレス帯（例：<code>208.65.152.0/22</code>）を広告して良いのは、ASXXXX（YouTube）だけである」という正しいペアを電子署名付きで定義します。</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">なぜRPKI/ROAがあれば防げたのか？</span></h3>



<p class="wp-block-paragraph">上位プロバイダ（PCCW等）が <strong>RPKI Validation（ROV: Route Origin Validation）</strong> を導入していれば：</p>



<ol start="1" class="wp-block-list">
<li>パキスタンから「YouTubeのIPアドレス」のBGP広告が届く。</li>



<li>RPKIデータベースと照合し、「このIPを広告して良いのはYouTubeのASだけで、パキスタンのASは許可されていない（<strong>Invalid</strong>）」と即座に判別できる。</li>



<li>誤ったBGP広告をその場で破棄（Drop）できたため、世界中へ被害が広がるのを防げた。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></h2>



<h3 class="wp-block-heading"><span id="toc6">Q.そもそも、どうやって偽の経路を作るの？</span></h3>



<figure class="wp-block-image size-large wp-duotone-333333-f3fafe-1"><img decoding="async" width="1024" height="120" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-45-1024x120.png" alt="" class="wp-image-8181" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-45-1024x120.png 1024w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-45-300x35.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-45-766x90.png 766w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-45.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">A.「通常のスタティックルートとBGPの再配送（アナウンス）」の設定によって偽の経路を作っていた。</p>



<p class="wp-block-paragraph"><strong>▼パキスタンが実際に行った「偽の経路」の作り方</strong><br>パキスタン・テレコムは、RTBHやFlowspecなどのセキュリティ技術を使ったわけではなく、ルーターの「通常のスタティックルートとBGPの再配送（アナウンス）」の設定ミスをやらかした。</p>



<p class="wp-block-paragraph"><strong>１．国内向けの破棄設定（Null 0行き）をルーターに入れる<br></strong><span class="fz-16px">・パキスタン政府から「YouTubeをブロックしろ」と言われたエンジニアは、国内のユーザーがYouTubeに行けないようにするため、パキスタン・テレコムの国境ルーターに次のような設定を入れた。<br>・「<code>208.65.152.0/24</code>（YouTubeのIP）宛てのパケットが来たら、すべて <code>Null 0</code>（ゴミ箱・破棄）に送れ<br>・（※これにより、パキスタン国内のルーターにとっては、YouTube宛ての通信は自社内で消滅する「ブラックホール」になった）</span></p>



<p class="wp-block-paragraph">👆これはIGP（OSPFやIS-ISなど）によって、Null経路が配られていた。末端のルータがYoutube宛てを受信すると、Null経路を持っている当該ルータへ運んでいた。すべてのルータにYoutube宛ては自身のルータ内でNullで破棄して！というわけではない。</p>



<p class="wp-block-paragraph"><strong>２．その「破棄用の経路」を、あろうことか外（BGP）に広告してしまった</strong><br><span class="fz-16px">・本来、この <code>Null 0</code> 行きのルートはルーターの内部だけで使うもの（外部に教えてはいけないもの）。<br>・しかし、設定ミスかテストの意図で、パキスタン・テレコムはこの「YouTubeの経路はうち（AS17557）にあるよ！」という情報を、通常のBGPの経路情報（NLRI）としてそのまま上位プロバイダ（PCCW）に流して（アナウンスして）しまった。</span></p>



<p class="wp-block-paragraph">👆再配布のミス！IGPで広告していたNull経路をAS外にもフィルタリングを怠ったせいで広告してしまった。それによって、インターネットに広がってしまった。</p>



<p class="wp-block-paragraph"><strong>３．世界中がそれを「本物の道」と勘違いした</strong><br><span class="fz-16px">・上位プロバイダから見れば、送られてきたBGP情報は「普通のYouTubeへの経路」に見える。<br>・そのため、「YouTubeの細かいプレフィックス（<code>/24</code>）の道がパキスタンから来たちょっと近道だ！」と世界中のルーターが勘違いし、世界中のYouTube宛て通信がパキスタンテレコムへ向かって吸い寄せられてしまった。</span></p>



<p class="wp-block-paragraph">👆当時、Youtubeは/22で運用されていた。これは正規のプロバイダから取得した正規のアドレス範囲。一方、パキスタンテレコムの/24はNull用のダミーの広告だが、当時は広告の正当性を確認するプロセスがおざなりであったため、論ゲストマッチの原則に基づき、より長いプレフィックスをもつパキスタンのダミー経路が優先されてしまった。</p>



<h3 class="wp-block-heading"><span id="toc7">Q.どうやって復旧させたの？</span></h3>



<p class="wp-block-paragraph">A.この2008年の事件の最もドラマチックなところは、「パニックになったパキスタン側がすぐにミスに気づいて自主的に直してくれなかった」という点にある。そのため、被害が拡大する中でYouTube自身が驚きの「カウンター攻撃」に出て事態を収束させた。</p>



<p class="wp-block-paragraph"><strong>▼実際の復旧・解決までのプロセス</strong><br>パキスタン・テレコム側はパニックや連絡の不備もあり、すぐに誤った広告を引っ込められなかった。そこで、被害を直接受けていたYouTube（Google）側が次のような<strong>ウルトラCの対抗措置</strong>を取った。</p>



<p class="wp-block-paragraph"><strong>１．YouTube側が「さらに細かいプレフィックス（<code>/25</code>）」で対抗広告を出した</strong><br><span class="fz-16px">・パキスタンが流していたのは <code>/24</code> 。<br>・これに対抗するため、YouTubeはさらに細かく分割した <code>/25</code>（<code>/24</code> の半分のサイズ） の正当な経路情報を世界に向けて急遽広告した。</span></p>



<p class="wp-block-paragraph"><strong>２．ロンゲストマッチによる奪還</strong><br><span class="fz-16px">・BGPの「より長いプレフィックスを優先する」という鉄則を利用し、パキスタンの <code>/24</code> よりもさらに細かい YouTube自身の <code>/25</code> の方を世界中のルーターに最優先させた。<br>・これにより、世界中のトラフィックが強烈に本物のYouTubeへと引き戻された。</span></p>



<p class="wp-block-paragraph"><strong>３．上位ISPによる強制遮断</strong><br><span class="fz-16px">・その後、香港の上位プロバイダ（PCCW）が事態を重く見て、パキスタン・テレコムからの不正な広告を強制的に削除（Withdraw）したことで、約2時間越しに完全に幕を閉じた。</span></p>



<h3 class="wp-block-heading"><span id="toc8">Q.プレフィックスを大きくするとどうなるの？</span></h3>



<figure class="wp-block-image size-large wp-duotone-333333-f3fafe-2"><img decoding="async" width="1024" height="175" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-46-1024x175.png" alt="" class="wp-image-8182" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-46-1024x175.png 1024w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-46-300x51.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-46-763x130.png 763w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-46.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">プレフィックスを大きくするとどうなるのか。。。大きくして対応できるなら、なぜ最初から/25で広告しなかったのか？<br>A.プレフィックスを大きくすると、広告するエントリー数が増大する。そのため可能な限りプレフィックスは小さめにして広告したいが、そうするとパキスタン側に負けてしまうので、ウルトラCとしてプレフィックスを大きくした</p>



<h4 class="wp-block-heading"><span id="toc9">▼具体例</span></h4>



<p class="wp-block-paragraph">例えば、10.0.0.0/8という１つの広告を10.0.0.0/9にする場合は何個のプレフィックスになるのか？</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="10.0.0.0/8 →①10.0.0.0 ~ 10.255.255.255
00001010.00000000.00000000.00000000 ~ 00001010.11111111.11111111.11111111


10.0.0.0/9 →①10.0.0.0 ~ 10.127.255.255 / ②10.128.0.0 ~ 10.255.255.255
00001010.00000000.00000000.00000000 ~ 00001010.01111111.11111111.11111111
00001010.10000000.00000000.00000000 ~ 00001010.11111111.11111111.11111111


10.0.0.0/10 →①10.0.0.0 ~ 10.63.255.255 / ②10.64.0.0 ~ 10.127.255.255 / ③10.128.0.0 ~ 10.191.255.255 / ④10.192.0.0 ~ 10.255.255.255
00001010.00000000.00000000.00000000 ~ 00001010.00111111.11111111.11111111
00001010.00000000.00000000.00000000 ~ 00001010.01111111.11111111.11111111
00001010.10000000.00000000.00000000 ~ 00001010.10111111.11111111.11111111
00001010.11000000.00000000.00000000 ~ 00001010.11111111.11111111.11111111" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">10.0.0.0/8</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">→①10.0.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.255</span><span style="color: #E6DB74">.255.255</span></span>
<span class="line"><span style="color: #A6E22E">00001010.00000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.11111111.11111111.11111111</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">10.0.0.0/9</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">→①10.0.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.127</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">②10.128.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.255</span><span style="color: #E6DB74">.255.255</span></span>
<span class="line"><span style="color: #A6E22E">00001010.00000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.01111111.11111111.11111111</span></span>
<span class="line"><span style="color: #A6E22E">00001010.10000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.11111111.11111111.11111111</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">10.0.0.0/10</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">→①10.0.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.63</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">②10.64.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.127</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">③10.128.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.191</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">④10.192.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.255</span><span style="color: #E6DB74">.255.255</span></span>
<span class="line"><span style="color: #A6E22E">00001010.00000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.00111111.11111111.11111111</span></span>
<span class="line"><span style="color: #A6E22E">00001010.00000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.01111111.11111111.11111111</span></span>
<span class="line"><span style="color: #A6E22E">00001010.10000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.10111111.11111111.11111111</span></span>
<span class="line"><span style="color: #A6E22E">00001010.11000000.00000000.00000000</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00001010</span><span style="color: #E6DB74">.11111111.11111111.11111111</span></span></code></pre></div>



<p class="wp-block-paragraph">以上のように、プレフィックスが小さくなるほど、集約できるアドレス数も減ってしまう。その結果より多くのエントリーを登録することになる。</p>



<h4 class="wp-block-heading"><span id="toc10">▼プレフィックスが増大した時のエントリ数が何個になるかの計算方法</span></h4>



<p class="wp-block-paragraph"><span class="fz-22px"><strong>増えた分のエントリ数＝２<sup>（変更後のプレフィックス長-変更前のプレフックス長）</sup></strong></span></p>



<p class="wp-block-paragraph">例１：/8 から /10 にした場合<br>2<sup>(10-8)</sup>=4<br><br>例２：22/ から /25 にした場合<br>2(25-22)=8</p>



<h3 class="wp-block-heading"><span id="toc11">Q.RPKI（ResourcePublicKeyInfrastracture）とは？</span></h3>



<p class="wp-block-paragraph">RPKIを一言で言うと「このIPアドレスは、本当に<span class="blue">このプロバイダ（AS）が名乗っていいものか？</span>」を暗号学的な<span class="blue">デジタル証明書</span>で証明・検証する仕組み。従来のBGPには「身分証の確認プロセス」がなかったため、誰でも「うちはYouTubeの経路を持っているぞ！」と嘘（あるいは間違い）を言えてしまう。そこに「身分証（証明書）」を導入するのがRPKI。</p>



<h4 class="wp-block-heading"><span id="toc12">▼RPKIの全体フロー（証明書はどうなっていて、動検証するのか？）</span></h4>



<p class="wp-block-paragraph"><strong>1. 事前準備：ROA（証明書）の登録と保管</strong><br><span class="fz-16px">・<strong>誰が作るの？</strong>：IPアドレスの正当な持ち主（例：YouTube）が、地域インターネットレジストリ（APNICなど）を通じて「我が社はこのAS番号でこのプレフィックスを広告してよい」という証明書（<span class="bold-blue"><span class="blue">ROA</span>：RouteOriginAuthorization</span>）を発行してもらう。<br>・<strong>どこに保管されるの？</strong>：このROA（証明書データ）は、インターネット上にある「<span class="bold-blue"><span class="blue">RPKIリポジトリ</span>（公開サーバー）</span>」という専用のデータベースに、常に誰でもダウンロードできる状態で保管されます。</span></p>



<p class="wp-block-paragraph"><strong>2. ルーター側の準備：キャッシュサーバーとの連携（ここがポイント！）</strong><br><span class="fz-16px">・個々のルーターが直接インターネット上のリポジトリから1つずつ証明書を都度ダウンロード・検証しているわけではない！<br>・<span class="blue">キャッシュサーバー</span>（RPKI Validatorなど）と呼ばれる専用のサーバーが、インターネット上のRPKIリポジトリからすべての正当なROA（証明書の一覧）をあらかじめ一括でダウンロードし、手元にキャッシュ（保存）しておく。</span><br><span class="fz-16px">・ルーターは、そのキャッシュサーバーから定期的に「正当な証明書のリスト」を受け取って手元に持っておく</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#キャッシュサーバとの接続設定社内に置いたキャッシュサーバー（例: 10.0.0.50）とポート323（または3323など）で接続する
router bgp 65001
  bgp rpki server tcp 10.0.0.50 port 3323 refresh 300
  
#ルーターがちゃんとキャッシュサーバーから証明書を受け取れているか確認
Router# show ip bgp rpki servers" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#キャッシュサーバとの接続設定社内に置いたキャッシュサーバー（例: 10.0.0.50）とポート323（または3323など）で接続する</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65001</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">rpki</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">server</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">tcp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.50</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">port</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">3323</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">refresh</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">300</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #88846F">#ルーターがちゃんとキャッシュサーバーから証明書を受け取れているか確認</span></span>
<span class="line"><span style="color: #A6E22E">Router#</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">rpki</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">servers</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px">＊キャッシュサーバは基本的に社内に配置する。で、ルータはそのキャッシュからROIを検索する<br>＊キャッシュサーバーが世界中から複雑な証明書（ROA）を集めて複雑な暗号検証をすべて肩代わりし、「このIPとこのASの組み合わせは Valid（有効）」というシンプルな判定用リスト（軽量化されたデータ）だけを、定期的にルーターに配給（同期）している</span></p>



<p class="wp-block-paragraph"><strong>3. 実際のBGP受信と検証のフロー</strong><br>ここで、隣のルーター（ネイバー）からBGPの経路情報が流れてくる。<br>①<strong>BGP経路の受信</strong><br><span class="fz-16px">　・ネイバーから「このIPアドレス（<code>/24</code>など）を、このAS番号が持っているよ」という通常のBGP経路情報が届く。（※ここには証明書はくっついていない！ただの経路の文字情報）</span><br>②<strong>手元のリスト（キャッシュ）と突合する</strong><br><span class="fz-16px">　・ルーターは、受け取った経路情報の <strong>「IPプレフィックス」</strong> と <strong>「広告してきたAS番号」</strong> を取り出す。<br>　・そして、あらかじめ手元に持っているROA（証明書のリスト）と照らし合わせる。</span><br><strong>③暗号学的な検証（バリデーション）</strong><br><span class="fz-16px">　・「手元の証明書リストの中に、このAS番号がこのIPを広告してよいというデータ（電子署名付き）は存在するか？」をチェックする。<br>　・署名の正当性（改ざんされていないかなど）は、証明書を発行した上位機関の公開鍵を使って数学的に検証される。</span><br><span class="fz-16px">　＊なお、署名の正当性は事前にキャッシュサーバが肩代わりしてくれているので、ルータはリストへの有無を見ればいいだけ。<br></span><strong>④判定（Valid / NotFound / Invalid）</strong><br><span class="fz-16px">　・一致する正当な証明書があれば <strong>Valid（有効）</strong>。<br>　・リストになければ <strong>NotFound</strong>。<br>　・範囲やAS番号に矛盾があれば <strong>Invalid（無効：偽物・ミス）</strong> として、自動的にその場で破棄する。</span></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading"><span id="toc13">Q.ROA(RouteOriginAuthorization)の取得～検証のフローは？</span></h3>



<p class="wp-block-paragraph">ROAの取得では、WebのSSL/TLS証明書（Let&#8217;s Encryptなど）でよくある「その場しのぎのファイルを置く」のではなく、「インターネットの公的な階層構造（レジストリ）そのものを使って正当性を証明する」という仕組みになっている。<br><strong>▼取得～検証フロー</strong><br><span class="fz-20px"><strong>1. ROA（証明書）の取得・発行フロー</strong><br></span><span class="fz-16px">Webの証明書発行（CSRを生成して…という手順）とは異なり、ROAは「IPアドレスの割り当てを受けている公的な組織のポータルサイト」で直接作成・発行する。</span></p>



<ol start="1" class="wp-block-list">
<li><strong>IPアドレスの正規の割り当てを受けていることの証明</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">大前提として、そのIPアドレスブロックは、APNIC（アジア太平洋地域）やJPNICなどの上位レジストリから、正規にお金を払って割り当てを受けている自社のリソースである必要がある。</span></li>
</ul>
</li>



<li><strong>証明書発行機関（LIR / NIR）のポータルへログイン</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">自社が管理するIPアドレスを管理しているレジストリ（日本であればJPNIC経由、または上位のLIR/ISP）の<span class="bold-blue">専用管理ポータル</span>にログインする。</span><br><span class="fz-16px">＊管理ポータルにログインしたユーザとIPアドレスはバックエンドで対応づけられているので、このポータル内で偽のIPのROAを要求することはできない。</span></li>
</ul>
</li>



<li><strong>ROAの発行申請（パラメータの入力）</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">ポータル画面で、以下の情報を指定して「この内容で証明書を作ってくれ」と申請。</span>
<ul class="wp-block-list">
<li><span class="fz-16px"><span class="bold-blue">対象のIPプレフィックス</span>（例: <code>208.65.152.0/22</code>）</span></li>



<li><span class="fz-16px"><span class="bold-blue">許可する最大プレフィックス長</span>（例: <code>/24</code> までなら分割して広告してもいいよ、という上限）</span></li>



<li><span class="fz-16px"><span class="bold-blue">広告を許可するAS番号</span>（例: <code>AS15169</code>）</span></li>
</ul>
</li>
</ul>
</li>



<li><strong>RPKIリポジトリへの自動登録</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">申請ボタンを押すと、レジストリ側のシステムが電子署名（デジタル証明書＝ROA）を自動生成し、インターネット上に公開されている公式の <strong><span class="bold-blue">RPKIリポジトリ（公開サーバー群）</span></strong> に自動で登録されます。</span></li>



<li><span class="fz-16px">（※ここで「私たちがこのIPをこのASに広告させていいという証明書」が世の中に誕生する）</span></li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"><strong><span class="fz-20px">2. ルーター（キャッシュサーバー）側での検証フロー</span></strong><br><span class="fz-16px">世の中に公開されたROA（証明書）を、キャッシュサーバーがどうやって拾って検証するのか、おさらいも含めて全体の流れ</span>。</p>



<ol start="1" class="wp-block-list">
<li><strong>キャッシュサーバーが証明書を回収</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">社内のキャッシュサーバー（Validator）が、インターネット上の公的<span class="bold-blue">RPKIリポジトリ</span>から、世界中の正当な<span class="bold-blue">ROA</span>ファイルを定期的に一括ダウンロード。</span></li>
</ul>
</li>



<li><strong>暗号学的な検証（ここで公開鍵が使われる）</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">「公開鍵による検証」はまさにここで行われる。</span></li>



<li><span class="fz-16px">キャッシュサーバーは、ダウンロードしたROAに付いている「電子署名」を、上位のレジストリが持つ「<span class="bold-blue">公開鍵</span>」を使って数学的に検証する。「途中で改ざんされていないか」「有効期限内か」「本当に正当な機関が発行した証明書か」をここで厳しくチェックする。</span></li>
</ul>
</li>



<li><strong>安全なリスト（VRP）の作成</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">検証に合格した「安全な証明書データ」だけを綺麗に整理し、<span class="bold-blue">合格リスト（VRP：Valid ROA Payload）</span>としてキャッシュサーバー内に保持する。</span></li>
</ul>
</li>



<li><strong>ルーターでの突合判定</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">ルーターはキャッシュサーバーからその合格リストを受け取っておき、ネイバーから新しいBGP経路（IPとAS番号）が届くたびにリストと突合し、「Valid（合格）」か「Invalid（不合格・偽物）」かを一瞬で判断する。</span></li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和6年（2024年）ネスペ午後Ⅰ　問Ⅲ　解答解説</title>
		<link>https://ascend-beyond.com/study/network_specality/8153/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sat, 12 Sep 2026 03:34:55 +0000</pubDate>
				<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8153</guid>

					<description><![CDATA[目次 設問１（１）ア：ハブアンドスポーク（５）インタフェースにIPアドレス割り当てを行わない設定Q.ルーティング設定はどうなるの？Q.IP UnnumberedとNumberedの違いは？Q.Unnumberedだと障害 [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（１）ア：ハブアンドスポーク</a></li><li><a href="#toc3" tabindex="0">（５）インタフェースにIPアドレス割り当てを行わない設定</a><ol><li><a href="#toc4" tabindex="0">Q.ルーティング設定はどうなるの？</a></li><li><a href="#toc5" tabindex="0">Q.IP UnnumberedとNumberedの違いは？</a></li><li><a href="#toc6" tabindex="0">Q.Unnumberedだと障害切り分けが難しくなるというけどなぜ？</a></li></ol></li><li><a href="#toc7" tabindex="0">（6）転送負荷の増大</a></li></ol></li><li><a href="#toc8" tabindex="0">設問２</a><ol><li><a href="#toc9" tabindex="0">（５）　UTMプロキシサーバのFQDNがことなるから</a></li></ol></li><li><a href="#toc10" tabindex="0">設問３</a><ol><li><a href="#toc11" tabindex="0">（１）　イ：DHCP　ウ：DNS　エ：HTTP　オ：URL</a><ol><li><a href="#toc12" tabindex="0">Q.WPADのデメリットは？</a></li><li><a href="#toc13" tabindex="0">Q.URLではなくFQDNを指定するのはだめなの？</a></li></ol></li><li><a href="#toc14" tabindex="0">（２）　不正なプロキシサーバに中継される</a></li></ol></li><li><a href="#toc15" tabindex="0">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</a><ol><li><a href="#toc16" tabindex="0">p.16 UTMってなに？ｰｰｰｰｰｰｰｰｰｰｰｰｰｰ</a></li><li><a href="#toc17" tabindex="0">p.17 プロキシサーバのログ取得&#8212;&#8212;&#8212;-</a></li><li><a href="#toc18" tabindex="0">p.17 IP in IPってなに？</a><ol><li><a href="#toc19" tabindex="0">Q.何がメリット？</a></li><li><a href="#toc20" tabindex="0">Q.IP in IPではなく、NAT/NAPTを使ったら？</a></li><li><a href="#toc21" tabindex="0">Q.IP in IPとGREの違いは？</a></li></ol></li><li><a href="#toc22" tabindex="0">IP-IP over IPsecとは？</a></li><li><a href="#toc23" tabindex="0">Q. IPフラグメントって何？&#8212;&#8212;-</a><ol><li><a href="#toc24" tabindex="0">Q.IPフラグメントのデメリットは？</a></li><li><a href="#toc25" tabindex="0">Q.IPフラグメントを防ぐ方法は？</a></li></ol></li><li><a href="#toc26" tabindex="0">Q.WPADとは？&#8212;&#8211;</a></li><li><a href="#toc27" tabindex="0">Q.WPADのDNS方式とは？</a></li><li><a href="#toc28" tabindex="0">Q.WPADのDHCP方式とは？</a></li><li><a href="#toc29" tabindex="0">Q.ドメインとは？</a><ol><li><a href="#toc30" tabindex="0">Q.なんでADでもDNSと同じドメイン名（example.co.jp など）を使うの？ADのドメインとDNSのドメインってなに？</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）ア：ハブアンドスポーク</span></h3>



<p class="wp-block-paragraph">これは知識問題なので覚えておこう！</p>



<h3 class="wp-block-heading"><span id="toc3">（５）インタフェースにIPアドレス割り当てを行わない設定</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="684" height="66" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-35.png" alt="" class="wp-image-8161" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-35.png 684w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-35-300x29.png 300w" sizes="(max-width: 684px) 100vw, 684px" /></figure>



<p class="wp-block-paragraph">IP Unnumberedは、文字通り「番号（IPアドレス）を割り当てない（Unnumbered）」技術のこと。通常、ルーターのポートや仮想インターフェース（<code>Tunnel0</code> など）には、個別にIPアドレスを設定して通信を行う。しかし、1対1で直結されているトンネル接続などの場合、「わざわざトンネル専用のIPアドレスを消費するのはもったいない」という問題が生じる。そこで、既存のインターフェース（LAN側やWAN側など）のIPアドレスを流用することで、<span class="blue">トンネルインターフェース自体には個別のIPアドレスを割り当てずに通信を可能にする設定</span>が IP Unnumbered です。</p>



<h4 class="wp-block-heading"><span id="toc4">Q.ルーティング設定はどうなるの？</span></h4>



<p class="wp-block-paragraph">A.インタフェースを指定する。トンネルを通るルーティングをトンネルIPアドレスを指定するのではなく、トンネルインタフェースを指定する。そうすることによって、IPに依存したルーティングから脱却できる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#旧来（トンネルIPアドレスで指定）
ip route 相手WAN側IP 255.255.255.0 トンネルIP

#現在(トンネルインタフェースで指定）
ip route 相手WAN側IP 255.255.255.0 Tunnel 0" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#旧来（トンネルIPアドレスで指定）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">相手WAN側IP</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">トンネルIP</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#現在(トンネルインタフェースで指定）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">相手WAN側IP</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="interface Tunnel0
 ip unnumbered GigabitEthernet0/0  ! LAN側などのIPを流用し、Tunnel自体にはIPを割り当てない
 tunnel source GigabitEthernet0/0
 tunnel destination 200.2.2.2
 tunnel mode ipip" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">unnumbered</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">LAN側などのIPを流用し、Tunnel自体にはIPを割り当てない</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">200.2</span><span style="color: #E6DB74">.2.2</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipip</span></span></code></pre></div>



<h4 class="wp-block-heading"><span id="toc5">Q.IP UnnumberedとNumberedの違いは？</span></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>方式</strong></td><td><strong>メリット</strong></td><td><strong>デメリット（なぜ全員が使わないか）</strong></td></tr></thead><tbody><tr><td><strong>Numbered</strong><br>（IPアドレスを割り当てる）</td><td>・Pingによる<strong>障害切り分けが超簡単</strong><br>・動的ルーティング（OSPF等）が素直に動く</td><td>・トンネル用のIPアドレス空間（/30など）を消費する</td></tr><tr><td><strong>IP Unnumbered</strong><br>（IPアドレスを割り当てない）</td><td>・IPアドレスの無駄遣いをゼロにできる<br>・IP設計の手間が省ける</td><td>・<strong>Ping等での対向トンネル自体の監視・切り分けがしづらい</strong><br>・1対1の接続でしか使えない</td></tr><tr><td></td><td></td><td></td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc6">Q.Unnumberedだと障害切り分けが難しくなるというけどなぜ？</span></h4>



<p class="wp-block-paragraph">A.pingに応答する機器に制限があると絞り込みができないから。<br>正直、内部LANに配置されているPCやサーバすべてが常にpingを返す設定であれば、トンネルにIPを割り当てなくても、「<span class="blue">拠点A内部LAN機器→拠点B内部LAN機器</span>」の区間をpingすればトンネル障害であるか否かは判断できる。<br>しかし、pingを返す機器がサーバ１台だけの場合、もし「<span class="blue">拠点A内部LAN機器→拠点B内部LANサーバ</span>」をやって、通信失敗が起きてもそれがサーバ側の問題なのか、トンネルの問題なのか、拠点B内部LANルーティングの問題なのか切り分けられなくなる。<br>しかし、Numbered設定でトンネルIPも設定していれば「<span class="blue">拠点AルータトンネルIP→拠点BルータトンネルIP</span>」とピンポンとでトンネルを指定して、疎通を確認することができる。これによって、トンネル障害が否かを一発で判断できるようになる。<br><strong>▼具体的な切り分け手順</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>ステップ</strong></td><td><strong>実行するテスト（Ping等の対象）</strong></td><td><strong>成功（クリア）時に確定すること</strong></td><td><strong>失敗（NG）時の原因と次のアクション</strong></td></tr></thead><tbody><tr><td><strong>Step 1</strong></td><td><strong>WAN側IP ➔ 対向WAN側IP</strong></td><td><strong>インターネット回線（物理層〜L3）は正常</strong></td><td>・物理回線障害、プロバイダ障害<br>・WAN側のルーティングミス<br>➔ <strong>VPN以前の通信経路（WAN側）を復旧する</strong></td></tr><tr><td><strong>Step 2</strong></td><td><strong>トンネルIP ➔ 対向トンネルIP</strong><br><em>(※Numbered構成のみ可能)</em></td><td><strong>VPNトンネル（IPsec / カプセル化）は正常</strong></td><td>・IPsecの鍵不一致、SAセッション切れ<br>・トンネル設定ミス<br>➔ <strong>ルーターのVPN設定・ログを確認する</strong></td></tr><tr><td><strong>Step 3</strong></td><td><strong>LAN側IP ➔ 対向LAN側IP</strong><br><em>(Webサーバー宛て)</em></td><td><strong>ネットワーク全般（L1〜L3）は100%正常</strong></td><td>・Webサーバー自体のダウン<br>・WebサーバーのFWによる拒否<br>・拠点B内部のルーティング/L2障害<br>➔ <strong>サーバー本体・アプリケーション層を調査する</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">（6）転送負荷の増大</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="878" height="148" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-38.png" alt="" class="wp-image-8166" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-38.png 878w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-38-300x51.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-38-765x129.png 765w" sizes="(max-width: 878px) 100vw, 878px" /></figure>



<p class="wp-block-paragraph">UTMでIPフラグメント化を強いられるということは、「①パケットの分割②そのパケットに１つずつIPsec処理」といったように処理負荷が増大することが分かる。<br>もし、MSSクランピングなどを導入していたら「パケットにIPsec処理」のみで完結できるため処理負荷を抑えられる。</p>



<h2 class="wp-block-heading"><span id="toc8">設問２</span></h2>



<h3 id="3-1" class="wp-block-heading"><span id="toc9">（５）　UTMプロキシサーバのFQDNがことなるから</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="479" height="171" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-41.png" alt="" class="wp-image-8173" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-41.png 479w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-41-300x107.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></figure>



<p class="wp-block-paragraph">図４のPACファイルを見ると、proxy.osaka.a-sha.jp:8080と大阪支社特有のFQDNが指定されていることが分かる。そのため、ほかの支社でも正常に動作させるにはこの部分を各支社のFQDNに直す必要がある。つまり、UTMプロキシサーバのFQDNが支社ごとに異なるためPACファイルも支社ごとに作る必要があるということ。</p>



<h2 class="wp-block-heading"><span id="toc10">設問３</span></h2>



<h3 id="3-1" class="wp-block-heading"><span id="toc11">（１）　イ：DHCP　ウ：DNS　エ：HTTP　オ：URL</span></h3>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><strong>イ：DHCP　ウ：DNS</strong></span><br> WPADにはDHCPとDNS方式がある。（<a href="#wpad">詳しくはこちら</a>）</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">エ：HTTP</span></strong><br>　WPADではPACファイルの格納場所をDHCPやDNSを使って判明させる。そのサーバにはHTTPを使ってアクセスするのが基本なので、ここにはHTTPが入る。<br>また、HTTPサーバよりもWebサーバの方が聞き覚えがあるが、Webはプロトコルではないので空欄エにはHTTPが入る。</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">オ：URL</span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="932" height="152" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-43.png" alt="" class="wp-image-8175" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-43.png 932w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-43-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-43-766x125.png 766w" sizes="(max-width: 932px) 100vw, 932px" /></figure>



<p class="wp-block-paragraph">WPADを無効にした場合にはどのようにPACファイルを取得するかが問われている。まずは、WPADのデメリットを見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc12">Q.WPADのデメリットは？</span></h4>



<p class="wp-block-paragraph">A.WPADのメリットでもある動的な配布は一歩間違えるとデメリットにもなる。「動的」とういことは管理者が関与しない部分が生まれるということ。そのため、そこの隙をついた攻撃が生まれてしまう。<br>なので、今回の場合は、そのような隙を作るよりもあらかじめスタティックにURLを指定しておこうよねということである。</p>



<h4 class="wp-block-heading"><span id="toc13">Q.URLではなくFQDNを指定するのはだめなの？</span></h4>



<p class="wp-block-paragraph">FQDNをスタティックに指定しても一見動作しそうだが、実際は動作しない。まず、WPADのDNS方式では、WPADのプログラムが「ドメインに.wpad.datをつけて名前解決」したり「URLを動的に生成してhttp://[取得したIP]/wpad.datにアクセス」したりとプログラムがURLを作ってくれた。<br>一方WPADを使わないとプログラムは動作しないので、FQDNだけ指定しても、名前解決もしなければ、そこから<strong><span class="bold-blue">URL</span></strong>を作りだすということもできない。<br>なので、FQDNではなく<span class="bold-blue">URL</span>を最初からハードコーディングしている。</p>



<h3 id="3-1" class="wp-block-heading"><span id="toc14">（２）　不正なプロキシサーバに中継される</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="925" height="140" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-42.png" alt="" class="wp-image-8174" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-42.png 925w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-42-300x45.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-42-766x116.png 766w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p class="wp-block-paragraph">この問題は、悪意のあるDNSサーバやDHCPサーバがあるとどのような問題があるかを聞かれている。結論から言うと、偽のプロキシサーバに中継してしまい、内部情報の漏洩や通信障害を引き起こしてしまうことが発生する。では、以下で攻撃のフローを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼攻撃フロー</strong></p>



<ol start="1" class="wp-block-list">
<li><strong>攻撃の起点（偽DNS / 偽DHCP）</strong>
<ul class="wp-block-list">
<li>ネットワーク内に「悪意のあるDNSサーバー」や「悪意のあるDHCPサーバー」が存在すると、PCに対して偽のPACファイル置き場（URL）を掴ませることができる。</li>
</ul>
</li>



<li><strong>偽PACファイルの取得</strong>
<ul class="wp-block-list">
<li>PCは自動検出によって、攻撃者が用意した偽のPACファイルをダウンロードする。</li>
</ul>
</li>



<li><strong>攻撃者のプロキシへ誘導（Man-in-the-Middle / MITM攻撃）</strong>
<ul class="wp-block-list">
<li>偽PACファイルには「すべての通信は <code>proxy.attacker.example:8080</code>（攻撃者のプロキシ）を通せ」と書かれている。</li>
</ul>
</li>



<li><strong>被害（情報漏えい・盗聴・通信遮断）</strong>
<ul class="wp-block-list">
<li>PCの通信がすべて「不正なプロキシサーバーに中継される」状態になり、通信内容の盗聴・改ざん（中間者攻撃：Man-in-the-Middle）や、重要情報の漏えい、あるいは通信妨害といった重大なセキュリティ被害が発生する。</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc15">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></h2>



<h3 class="wp-block-heading"><span id="toc16">p.16 UTMってなに？ｰｰｰｰｰｰｰｰｰｰｰｰｰｰ</span></h3>



<p class="wp-block-paragraph">UTMはUnified Threat Management（統合脅威管理）の略。イメージとしては「セキュリティ機能満載の多機能オールインワンルーター（または多機能ファイアウォール）という感じ。昔は別々の専用機器（FW装置、IPS装置、VPNルーター、Webプロキシなど）で構築されていた機能を１台にまとめたものがUTM。</p>



<p class="wp-block-paragraph"><strong>▼UTMの機能</strong><br>・<strong>ファイアウォール</strong>（アクセス制限）<br>・<strong>NAT / NAPT</strong>（IPアドレス・ポート変換機能。ルーターとしての役割）<br>・<strong>IPS/IDS</strong>（不正侵入検知・防御）<br>・<strong>アンチウイルス / アンチスパム</strong>（通信内のウイルスチェック）<br>・<strong>Webフィルタリング</strong>（危険なサイトや業務無関係なサイトへのアクセスブロック）<br>・<strong>VPNゲートウェイ</strong>（拠点間を暗号化してつなぐ機能。今回の問題でも使われる）<br><strong>・Webプロキシ</strong>（プロキシサーバとして動作可能）</p>



<h3 class="wp-block-heading"><span id="toc17">p.17 プロキシサーバのログ取得&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="768" height="50" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-31.png" alt="" class="wp-image-8156" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-31.png 768w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-31-300x20.png 300w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p class="wp-block-paragraph"><strong>▼プロキシサーバが記録する情報</strong></p>



<ul class="wp-block-list">
<li><strong>アクセス日時</strong>（時刻）</li>



<li><strong>送信元IPアドレス</strong>（アクセスしてきたPCのIP）</li>



<li><strong>宛先情報</strong>（アクセス先のURLやFQDN、ポート番号など）</li>
</ul>



<p class="wp-block-paragraph">これだけで、よさそうだがプロキシサーバのログだけでは不十分なのでDHCPのログも取得しておく必要がある。なぜなら、IPアドレスは変動するものなので、その時間に誰がそのIPアドレスを使っていたかを特定する必要がある。</p>



<p class="wp-block-paragraph"><strong>▼DHCPサーバが記録する情報</strong></p>



<ul class="wp-block-list">
<li>DHCPサーバ側で「どのMACアドレス（端末）に、いつからいつまで、どのIPアドレスを割り当てたか」のログを保持。</li>



<li>プロキシログの「日時＋IPアドレス」と照合することで、後から「どの端末（誰）がアクセスしたか」を正確に特定する。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc18">p.17 IP in IPってなに？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="938" height="325" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-33.png" alt="" class="wp-image-8158" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-33.png 938w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-33-300x104.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-33-768x266.png 768w" sizes="(max-width: 938px) 100vw, 938px" /></figure>



<p class="wp-block-paragraph">IP in IPとは、通常のIPパケットに、新たなIPヘッダでカプセル化することにより、元のIPパケットをペイロードとして扱える技術。</p>



<h4 class="wp-block-heading"><span id="toc19">Q.何がメリット？</span></h4>



<p class="wp-block-paragraph">A.内部情報を変更せずに相手の内部LAN内の機器にアクセスできるようになる。</p>



<h4 class="wp-block-heading"><span id="toc20">Q.IP in IPではなく、NAT/NAPTを使ったら？</span></h4>



<p class="wp-block-paragraph">A.送信側がNAT/NAPTを使うと、送信元IPアドレスが外部IPに変わってしまう。NATすると、送信元IPがすべて「ルーターのIP」に上書きされる。受信側のサーバーは「社内のどの端末（誰）がアクセスしてきたのか」をログやアクセス制御（「営業部だけ許可」など）で判別・制御できなくなる。逆に、受信側がNAT/NAPTをすると、内部LAN内のサーバに対応した外部IPを公開することになるので、外部から簡単にアクセスできるようになってしまう。</p>



<h4 class="wp-block-heading"><span id="toc21">Q.IP in IPとGREの違いは？</span></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>IP-in-IP（IPIP）</strong></td><td><strong>GRE（Generic Routing Encapsulation）</strong></td></tr></thead><tbody><tr><td><strong>標準規格 (RFC)</strong></td><td>RFC 2003</td><td>RFC 2784 / RFC 2890</td></tr><tr><td><strong>プロトコル番号</strong></td><td><strong>4</strong> (IPv4-in-IPv4)</td><td><strong>47</strong></td></tr><tr><td><strong>運べるパケット（中身）</strong></td><td><strong>IPv4 のみ</strong></td><td><strong>IPv6、マルチキャスト、Ethernet（L2）等</strong></td></tr><tr><td><strong>ヘッダーサイズ</strong></td><td>外側IP（20B）のみで<strong>軽量</strong></td><td>外側IP（20B）＋ <strong>GREヘッダー（4〜16B）</strong></td></tr><tr><td><strong>データ整合性チェック</strong></td><td>なし（上層プロトコルに依存）</td><td><strong>あり</strong>（オプションのチェックサム機能）</td></tr><tr><td><strong>パケット順序制御</strong></td><td>なし</td><td><strong>あり</strong>（オプションのシーケンス番号）</td></tr><tr><td><strong>主な用途・メリット</strong></td><td>IPv4通信のオーバーヘッド最小化、IPsecとの組み合わせ</td><td>動的ルーティング（OSPF等）の通過、マルチプロトコルカプセル化</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">IP-IP over IPsecとは？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="915" height="152" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-34.png" alt="" class="wp-image-8160" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-34.png 915w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-34-300x50.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-34-765x127.png 765w" sizes="(max-width: 915px) 100vw, 915px" /></figure>



<p class="wp-block-paragraph">IP-IP over IPsecとは、IP-in-IPでパケットをカプセル化（トンネル化）し、それをIPsecで暗号化して安全に通信する拠点間VPN技術のこと。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#! 1. Phase 1 設定 (ISAKMP / IKEv1 ポリシー &amp; 事前共有鍵)
crypto isakmp policy 1
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 86400
exit

#対向ルーターのWAN IPと事前共有鍵（パスワード）を設定
crypto isakmp key secret123 address 200.2.2.2


#! 2. Phase 2 設定 (Transform Set &amp; モード指定)
crypto ipsec transform-set MY_TS esp-aes 256 esp-sha256-hmac
 mode transport
exit


#! 3. IPsec プロファイルの作成 (ここが疑問だった箇所です)
crypto ipsec profile MY_PROFILE
 set transform-set MY_TS
exit


#! 4. トンネルインターフェース作成 &amp; IPsec適用
interface Tunnel0
 ip address 172.16.0.1 255.255.255.252
 tunnel source GigabitEthernet0/0
 tunnel destination 200.2.2.2
 tunnel mode ipip   ! ※GREの場合は「tunnel mode gre ip」（デフォルト）
 
 #! 作成した IPsec プロファイルをトンネルに適用
 tunnel protection ipsec profile MY_PROFILE
exit" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#! 1. Phase 1 設定 (ISAKMP / IKEv1 ポリシー &amp; 事前共有鍵)</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">policy</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">encryption</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">hash</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pre-share</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">group</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">14</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">86400</span></span>
<span class="line"><span style="color: #66D9EF">exit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#対向ルーターのWAN IPと事前共有鍵（パスワード）を設定</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">secret123</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">200.2</span><span style="color: #E6DB74">.2.2</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#! 2. Phase 2 設定 (Transform Set &amp; モード指定)</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MY_TS</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-sha256-hmac</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span></span>
<span class="line"><span style="color: #66D9EF">exit</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#! 3. IPsec プロファイルの作成 (ここが疑問だった箇所です)</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">profile</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MY_PROFILE</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MY_TS</span></span>
<span class="line"><span style="color: #66D9EF">exit</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#! 4. トンネルインターフェース作成 &amp; IPsec適用</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">172.16</span><span style="color: #E6DB74">.0.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.252</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">200.2</span><span style="color: #E6DB74">.2.2</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipip</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">※GREの場合は「tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">gre</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip」（デフォルト）</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#! 作成した IPsec プロファイルをトンネルに適用</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">tunnel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">protection</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">profile</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MY_PROFILE</span></span>
<span class="line"><span style="color: #66D9EF">exit</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc23">Q. IPフラグメントって何？&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="950" height="141" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-37.png" alt="" class="wp-image-8165" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-37.png 950w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-37-300x45.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-37-761x113.png 761w" sizes="(max-width: 950px) 100vw, 950px" /></figure>



<p class="wp-block-paragraph">IPフラグメントとは、パケットのサイズ（IPヘッダーを含む全体の長さ）が、通過する経路の物理ポートの限界値（MTU：Maximum Transmission Unit）を超えたときに、途中のルーターがパケットを小さく分割して送出する処理のこと。</p>



<h4 class="wp-block-heading"><span id="toc24">Q.IPフラグメントのデメリットは？</span></h4>



<p class="wp-block-paragraph">A.大きく以下👇の３つがある。<br><strong>デメリット①：途中のルータに負荷がかかる。</strong><br><span class="fz-16px">　経路途中のルータでフラグメント処理を強いられると、負荷がかかる。</span><br><strong>デメリット②：1個でも破棄されると「全体が再送」になる（非効率）<br></strong><span class="fz-16px">　IPフラグメントで分割されたパケットは、受信側の端末（PCやサーバ）に届くまで元に戻せない。 もし分割された3つのうち1つでも途中でドロップ（パケットロスト）すると、受信端末は再構築できず、元の大きなパケット全体を最初から再送（TCP再送）させることになる。</span><br><strong>デメリット③：パケットの到着順序が入れ替わるとドロップしやすい<br></strong><span class="fz-16px">　分割されたパケットが別々のルートを通って到着順序がバラバラになると、受信側での復元処理（リアセンブル）が失敗しやすくなる。</span></p>



<h4 class="wp-block-heading"><span id="toc25">Q.IPフラグメントを防ぐ方法は？</span></h4>



<p class="wp-block-paragraph">A.MSSクランピングとPMTUDが代表的な解決方法。<br><strong>・MSSクランピング：<br></strong><span class="fz-16px">　TCP通信の開始時（3ウェイ・ハンドシェイク時）に、端末同士が「一度に送信できる最大データサイズ（MSS）」を宣言し合う。ルーターがその宣言をのぞき見して書き換える。「SYNパケット」を通過する際にMSSの値を勝手に小さく書き換える（クランプする）ことで、送信元PCに最初から小さいパケットを作らせる。</span><br><strong>・Path MTU Discovery：</strong><br>　端末自身が、宛先までの経路上で「最小のMTU」を自動で調べる仕組み。</p>



<h3 id="wpad" class="wp-block-heading"><span id="toc26">Q.WPADとは？&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="904" height="98" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-40.png" alt="" class="wp-image-8169" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-40.png 904w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-40-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-40-766x83.png 766w" sizes="(max-width: 904px) 100vw, 904px" /></figure>



<p class="wp-block-paragraph">WPADとはWebProxyAuto-Discovery Protocolの略。一言で言うと、「PC（ブラウザ）にPACファイルの置き場所を自動で見つけさせる仕組み」。</p>



<h3 class="wp-block-heading"><span id="toc27">Q.WPADのDNS方式とは？</span></h3>



<p class="wp-block-paragraph">A.WPADには主に２つの代表的な手法がある。DNS方式とDHCP方式。では、こここでは<span class="bold-blue">DNS方式</span>を見ていこう！</p>



<p class="wp-block-paragraph">WindowsなどのOSやブラウザ（EdgeやChromeなど）には「WPADによるプロキシ自動検出ルール」が最初から仕様として組み込まれている。</p>



<ol start="1" class="wp-block-list">
<li>PCがLANに接続すると、自分の所属するドメイン名（例: <code>branch.example.co.jp</code>）を確認</li>



<li>OS/ブラウザが自動的に <code>wpad</code> というホスト名を先頭に付け足し、以下の順番でDNSサーバーへ問い合わせ（名前解決）を行う。
<ul class="wp-block-list">
<li><code>wpad.branch.example.co.jp</code></li>



<li><code>wpad.example.co.jp</code></li>
</ul>
</li>



<li>見つかったIPアドレス（Webサーバー）のルート直下にある <strong><code>/wpad.dat</code></strong>（PACファイルの中身と同じ）を自動取得しに行く。</li>
</ol>



<p class="wp-block-paragraph">つまり、ユーザーが何も設定しなくても、OSやブラウザが「プロキシを探すときはとりあえず <code>wpad.ドメイン名/wpad.dat</code> を見に行こう」とあらかじめプログラムされている、ということ。</p>



<p class="wp-block-paragraph"><a href="#3-1">設問３（１）に戻る</a></p>



<h3 class="wp-block-heading"><span id="toc28">Q.WPADのDHCP方式とは？</span></h3>



<p class="wp-block-paragraph">DHCP方式は 「DHCPサーバーがIPアドレスを配るタイミングで、PACファイルの置き場（URL）を親切にPCに教えてあげる」 という仕組み。<br>（DHCPはDiscover→Offer→Request→ACKのフローである）</p>



<ol start="1" class="wp-block-list">
<li><strong>PCがIPアドレスを要求（DHCP Discover / Request）</strong>
<ul class="wp-block-list">
<li>PCがネットワークに接続した際、DHCPサーバーに対して「IPアドレスをください！」とリクエストを送る。</li>



<li>このとき、PCは「<span class="blue">オプション252</span>のデータ（WPADのURL）も欲しいです」というフラグを含めて送る。</li>
</ul>
</li>



<li><strong>DHCPサーバーがIPアドレスとURLを返答（DHCP Offer / Ack）</strong>
<ul class="wp-block-list">
<li>DHCPサーバーは、PCに割り当てるIPアドレスやサブネットマスクと一緒に、<strong>「オ</strong>プション252（Option 252）」 という項目の中にPACファイルのURLを書き込んで返す。</li>



<li><strong>送信されるデータの例</strong>：<code>(http://192.168.1.100/proxy.pac)</code> や <code>(http://wpad.example.co.jp/wpad.dat)</code></li>
</ul>
</li>



<li><strong>PCがURLを読み取る</strong>
<ul class="wp-block-list">
<li>PCは受け取ったDHCP応答の中からオプション252の文字列を取り出し、「あ、プロキシ設定ファイルは <code>http://192.168.1.100/proxy.pac</code> にあるんだな」と理解する。</li>
</ul>
</li>



<li><strong>HTTPでPACファイルをダウンロード</strong>
<ul class="wp-block-list">
<li>PCは教えてもらったURLに対してHTTPリクエスト（<code>GET /proxy.pac</code>）を送り、PACファイルをダウンロードしてブラウザに設定を適用する。</li>
</ul>
</li>
</ol>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>DHCP方式（オプション252）</strong></td><td><strong>DNS方式（wpad.ドメイン名）</strong></td></tr></thead><tbody><tr><td><strong>最大のメリット</strong></td><td><strong>拠点ごとに違うPACファイルを簡単に配り分けられる</strong><br>（URL・ポート・ファイル名を自由に指定できる）</td><td><strong>DHCPサーバーがない環境や静的IPのPCでも動作する</strong><br>（DNSさえいれば動く）</td></tr><tr><td><strong>デメリット</strong></td><td>・一部の端末やブラウザ（古いAndroidや特定ブラウザ等）でサポート外の場合がある<br>・DHCPサーバー側の設定変更が必要</td><td>・ファイル名が <code>wpad.dat</code> / ポート80（HTTP）に固定される<br>・全拠点に同じ設定が配られやすい</td></tr><tr><td><strong>得意なケース</strong></td><td><strong>拠点ごとにプロキシ（UTMプロキシなど）を使い分けたい場合</strong><br>（今回の問題のようなローカルブレイクアウト構成）</td><td><strong>全社で1つのプロキシ（本社プロキシ）しか使っていないシンプルな環境</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="#3-1">設問３（１）に戻る</a></p>



<h3 class="wp-block-heading"><span id="toc29">Q.ドメインとは？</span></h3>



<p class="wp-block-paragraph">先ほどのWPADのDNS方式では、「自分が所属しているドメインの配下にwpadをつけて名前解決を～」とあった。ここで出てきたドメイン。。。なんか、わかってそうだけど実は全然わかってないかも⁉では、見ていこう！</p>



<p class="wp-block-paragraph">A.ドメインは、「同じルール（ポリシー）で管理される1つの大きな部屋（組織）」のイメージ。<br>DNSのドメインと同じ考え方をするとしっくりくる。ユーザの所属ドメインさえわかれば、そのドメインを管理しているサーバに認証可否を依頼すれば、それで認証プロセスを進ませることができる。<br>これはDNSも一緒。そのドメインを管理しているサーバに情報を聞きに行けばそれに付随した情報が手に入る。ドメインと仕組みがあるからこそ、その情報の管理者を明確にでき一元的な管理・プロセスを可能にすることができる。</p>



<h4 class="wp-block-heading"><span id="toc30">Q.なんでADでもDNSと同じドメイン名（example.co.jp など）を使うの？ADのドメインとDNSのドメインってなに？</span></h4>



<p class="wp-block-paragraph">A.実は、AD（管理の仕組み）は、土台としてDNS（名前解決の仕組み）を全面採用して作られている。その結果、ネットワーク上の他の機器を探すとき（例：WPADを探すとき）に、自動的に自分のADドメイン名を後ろにくっつけて <strong><code>wpad.example.co.jp</code></strong> というDNS名を作り出し、DNSサーバーに名前解決を聞きにいけるようになる。</p>



<p class="wp-block-paragraph"><strong>ADが動くにはDNSが必須</strong>：<br>　・AD管理下のPCが「ログイン認証をしてくれるADサーバー（ドメインコントローラー）」を探すとき、裏側でDNSを使って検索する。<br>　・そのため、ADのグループ名をつくるときに、そのまま<strong>DNSのドメイン名（<code>example.co.jp</code>）をADのグループ名として兼用する設計</strong>になっている。</p>



<p class="wp-block-paragraph"><strong>共通の「苗字」として機能する</strong>：<br>　・PCが <code>example.co.jp</code> というADドメインに参加すると、PC自身も「自分は <code>example.co.jp</code> というグループの一員だ」と認識する。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和6年（2024年）ネスペ午後Ⅰ　問Ⅱ　解答解説</title>
		<link>https://ascend-beyond.com/study/8118/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 09 Sep 2026 02:55:03 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8118</guid>

					<description><![CDATA[目次 設問１（１）ア：カスタマー　イ：再配布　ウ：DMZ　エ：eBGP　オ：プライベート　カ：ポリシーベース設問２（１）a: 10.3.0.0/16　b:64500 64500設問３（２）タイプ：Type５　機器：ルータ [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（１）ア：カスタマー　イ：再配布　ウ：DMZ　エ：eBGP　オ：プライベート　カ：ポリシーベース</a></li></ol></li><li><a href="#toc3" tabindex="0">設問２</a><ol><li><a href="#toc4" tabindex="0">（１）a: 10.3.0.0/16　b:64500 64500</a></li></ol></li><li><a href="#toc5" tabindex="0">設問３</a><ol><li><a href="#toc6" tabindex="0">（２）タイプ：Type５　機器：ルータ３</a></li></ol></li><li><a href="#toc7" tabindex="0">設問４</a><ol><li><a href="#toc8" tabindex="0">（１）IPsecトンネル確立のためのIPアドレス、IPsecトンネル確立のための鍵情報</a></li><li><a href="#toc9" tabindex="0">（２）IPsecトンネルに障害があった場合の検出を高速にする</a></li></ol></li><li><a href="#toc10" tabindex="0">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</a><ol><li><a href="#toc11" tabindex="0">p.9 支店が追加されたら、どのような変更があるの？ｰｰｰｰｰｰｰｰｰｰｰｰｰｰ</a></li><li><a href="#toc12" tabindex="0">p.9 現行構成における課題と、SD-WAN導入による改善点</a></li><li><a href="#toc13" tabindex="0">Q.どうやってSD-WANはゼロタッチプロビジョニングを実現しているの？</a></li><li><a href="#toc14" tabindex="0">Q.従来のZTPとSD-WANのZTPの違いは？</a></li><li><a href="#toc15" tabindex="0">Q.ってか、、そもそもWANって何？</a></li><li><a href="#toc16" tabindex="0">Q.SD-WANのインターネット通信に対するアプローチはどういう感じ？</a></li><li><a href="#toc17" tabindex="0">Q.もし回線が1つしかなかったらSD-WANを導入する意味なくね？</a></li><li><a href="#toc18" tabindex="0">Q.では、回線1本でもSD-WANを入れるメリットとは何か？</a></li><li><a href="#toc19" tabindex="0">p.9 MPLSとは?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc20" tabindex="0">p.9 MPLSとMPLS VPNの違いは？</a></li><li><a href="#toc21" tabindex="0">Q.MPLS VPNのフローは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</a></li><li><a href="#toc22" tabindex="0">2. データプレーン（実際の通信フロー）</a></li><li><a href="#toc23" tabindex="0">LDPのメカニズム＆フロー</a><ol><li><a href="#toc24" tabindex="0">ステップ1：アンダーレイIGP（OSPF/IS-IS）の確立</a></li><li><a href="#toc25" tabindex="0">ステップ2：LDPによるトランスポートラベル（外側）の配布</a></li><li><a href="#toc26" tabindex="0">ステップ3：PEルータでのVRF・RD・RTの設定</a></li><li><a href="#toc27" tabindex="0">ステップ4：CE ➔ PE 間の経路学習</a></li><li><a href="#toc28" tabindex="0">ステップ5：PE1でのVPNラベル（内側）自動採番とMP-BGP広告</a></li></ol></li><li><a href="#toc29" tabindex="0">▼外側ラベルの配布メカニズム＆フロー</a></li><li><a href="#toc30" tabindex="0">▼内側ラベルの配布メカニズム＆フロー</a></li><li><a href="#toc31" tabindex="0">Q.なんでRDタグが必要なの？</a></li><li><a href="#toc32" tabindex="0">Q.もしRDがないと？</a></li><li><a href="#toc33" tabindex="0">Q.CEルータとPEルータはどうやってつながっているの？</a></li><li><a href="#toc34" tabindex="0">Q.再配布のループ防止方法は？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</a><ol><li><a href="#toc35" tabindex="0">手法1：ルートタグ（Route Tag）を使う方法【推奨・最もスマート】</a></li><li><a href="#toc36" tabindex="0">手法2：ディストリビューションリスト（Prefix-list）を使う方法</a></li></ol></li><li><a href="#toc37" tabindex="0">p.12 SD-WANコントローラとエッジルータのmTLS通信とは?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc38" tabindex="0">Q.OMPってなに?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc39" tabindex="0">Q.なんでわざわざOMPを使うの？</a></li><li><a href="#toc40" tabindex="0">Ｑ．OMPで配布する情報とそれ以外で配布する情報の違いは？</a></li><li><a href="#toc41" tabindex="0">Q.SD-WANにおけるIPsec構築フロー</a></li><li><a href="#toc42" tabindex="0">Q.なぜ DMVPN では IKE をやめられなかったのか？</a></li><li><a href="#toc43" tabindex="0">Q.なぜ SD-WAN では IKE を捨てられたのか？</a></li><li><a href="#toc44" tabindex="0">p.12 なぜSD-WANはVRFが必要なの？</a></li><li><a href="#toc45" tabindex="0">Q.もし、VRFを使わないと何が起きるの？</a><ol><li><a href="#toc46" tabindex="0">制御プレーンとデータプレーンのループ（矛盾）が生まれる</a></li></ol></li><li><a href="#toc47" tabindex="0">Q.なぜ普通のルーター（従来のIPsec）はVRFを使わずにループしないのか？</a></li><li><a href="#toc48" tabindex="0">Q.SD-WANにおけるBFDとは？&#8212;&#8212;-</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）ア：カスタマー　イ：再配布　ウ：DMZ　エ：eBGP　オ：プライベート　カ：ポリシーベース</span></h3>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">ア：カスタマー/イ：再配布/エ：eBGP/オ：プライベート<br></span></strong>　この空欄に関しては知識問題であるため説明は割愛</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">ウ：DMZ　</span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="899" height="148" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-25.png" alt="" class="wp-image-8140" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-25.png 899w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-25-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-25-765x126.png 765w" sizes="(max-width: 899px) 100vw, 899px" /></figure>



<p class="wp-block-paragraph">問題の雰囲気的に「インターネット・OSPF・配布」という単語から、つい「デフォルトルート」と回答してしまうかもしれない。しかし、その単語をいれると「デフォルトルートのサブネットを～」と書いてあり、文章として成立しなくなってしまう。<span class="blue">デフォルトルートは特定のサブネットではない</span>から！<br>文脈として可能性が最も高いのは「インターネットアクセス、特定のサブネット、HTTP/HTTPS」という単語からプロキシサーバが配置されている<strong>DMZ</strong>という回答になる。</p>



<p class="wp-block-paragraph"><strong>Q.DMZではなく、プロキシサーバ単体で広告すれば？<br></strong>DMZのプレフィックスよりもプロキシサーバ単体でよくね？<br>A.大抵の場合、DMZには複数の機器が収容されている。そのため、それらを一つずつ広告するとエントリー消費が無駄になる。なので、DMZのプレフィックスでまとめて広告している。</p>



<p class="wp-block-paragraph"><strong>Q.プロキシサーバまで行くのはPACファイルで登録すればいいのでは？<br></strong>PACファイルなどでPC内にデフォルトルートでプロキシサーバの場所を埋め込んじゃえば、プロキシサーバに関する広告は不要では？<br>A.PACファイルはプロキシのIPはわかるが、経路まではわからない。広告をすることで経路が明確になる。以下、フローで確認しよう。<br><strong>▼PCからプロキシまでのフロー<br></strong>① PCがPACファイル参照（宛先: プロキシIP）<br>② 最寄りのL3SWへ送信<br>③ L3SWはOSPFで学んだ「DMZサブネット宛て」の経路に従いルータへ<br>④ ルータからMPLS VPN（BGP）を渡ってデータセンターのPE1/ルータ1へ<br>⑤ 本社のL3SW1 ➔ FW ➔ DMZ内のプロキシサーバーに到着！<br>このように、宛先に届かすには経路広告の情報が必要となる。</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">カ：ポリシーベースルーティング</span></strong><br>　ポリシーベースルーティングとはルーティングプロトコルによって導きだされたSPFではなく、定義したポリシー（条件）ごとにルーティング経路や優先度を変更させること。逆を言えば、最適経路以外でも、余裕で使われるということ。</p>



<h2 class="wp-block-heading"><span id="toc3">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc4">（１）a: 10.3.0.0/16　b:64500 64500</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="922" height="112" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-23.png" alt="" class="wp-image-8137" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-23.png 922w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-23-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-23-766x93.png 766w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong></strong></td><td><strong>Prefix</strong></td><td><strong>AS PATH</strong></td></tr></thead><tbody><tr><td>as-override 設定無し</td><td>a:10.3.0.0/16</td><td>64500 65500</td></tr><tr><td>as-override 設定有り</td><td>a:10.3.0.0/16</td><td>b:64500 64500</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">a:10.3.0.0/16<br> これに関しては、支店Vの経路情報が届いているので、表２より支店Vのプレフィックスである<strong>10.3.0.0/16</strong>を書けばよい。</p>



<p class="wp-block-paragraph">b:64500 64500<br>　as-overrideを使うと、AS-PATHが上書きされる。G社のASは65500だとわかるので、64500がL社のAS番号であるとわかる。つまり、65500を64500で上書きするだけなので、<strong>64500 64500</strong>となる。<br>＊ちなみにAS-PATHは右側が発信源で、左にどんどん追加していく。なので、「50000 60000 70000」というようなAS-PAHTがあったら、70000が最も遠く50000が最も自分の近くにあるASであると判断できる。</p>



<h2 class="wp-block-heading"><span id="toc5">設問３</span></h2>



<h3 class="wp-block-heading"><span id="toc6">（２）タイプ：Type５　機器：ルータ３</span></h3>



<p class="wp-block-paragraph">まずは背景を整理しよう。<br>　背景：<br>　　・データセンターからのDMZに関する広告がBGPを経由して流れてくる<br>　　・で、その広告がOSPFに入るときにどのタイプになるか<br>　　・また、そのOSPF広告を流したのはだれか？<br>ということから答えを導いていこう。<br><br>まず、BGPからOSPFに経路が入るということは外部経路なので<strong>Type５</strong>であることが分かる。で、かつ、外部経路をOSPFに変換する機器はどこか？と考えると、BGPとOSPFの両方のプロトコルが稼働しているのはルータであることが分かる。で、問題では支店V社にフォーカスしているので、支店V社におけるルータはルータ３なので答えは<strong>ルータ３</strong>となる。</p>



<h2 class="wp-block-heading"><span id="toc7">設問４</span></h2>



<h3 class="wp-block-heading"><span id="toc8">（１）IPsecトンネル確立のためのIPアドレス、IPsecトンネル確立のための鍵情報</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="915" height="143" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-26.png" alt="" class="wp-image-8141" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-26.png 915w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-26-300x47.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-26-768x120.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>



<p class="wp-block-paragraph">では、まずはSD-WANとかは置いといてIPsecに必要な情報を整理していこう！<br>▼IPsecに必要な情報<br><span class="fz-16px">・相手のIPアドレス</span><br><span class="fz-16px">・認証用の鍵情報<br>・暗号化方法<br>・認証方法<br>・ハッシュ方法<br>・Diffie-Hellmanのグループ番号<br></span>・<span class="fz-16px">ライフタイム</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="crypto isakmp key パスワード address 相手のIPアドレス #相手のIPアドレス＆認証用の鍵情報
crypto isakmp policy ポリシー番号
 encryption aes #暗号化方法
 authentication pre-share #認証方法
 hash sha256 #ハッシュ方法
 group 14 #Diffie-Hellmanのグループ番号
 lifetime 3600 #ライフタイム" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">相手のIPアドレス</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#相手のIPアドレス＆認証用の鍵情報</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">policy</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ポリシー番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">encryption</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">aes</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#暗号化方法</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pre-share</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#認証方法</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">hash</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha256</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#ハッシュ方法</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">group</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">14</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#Diffie-Hellmanのグループ番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">3600</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#ライフタイム</span></span></code></pre></div>



<p class="wp-block-paragraph">以上の情報の中で、相手が変わっても変化がない情報は「暗号化方法・認証方法・ハッシュ方法・Diffie-Hellmanのグループ番号・ライフタイム」である。逆に相手に応じてかける必要がある情報は「<strong>相手のIPアドレス・認証用の鍵情報</strong>」である。<br>言い換えると、前者の相手が変わっても変化がない情報はSD-WANコントローラーがポリシーとして一括配布できる情報である。一方、後者はSD-WANルータ毎に配らなければならない情報である。</p>



<p class="wp-block-paragraph">上記の前提を念頭に置いたうえで、問題文を確認すると「SD-WAN装置ごとの～と、IPsecトンネルを構築するための情報」と書かれているので、SD-WAN装置毎に送らなければならない情報は<strong>相手のIPアドレス・認証用の鍵情報</strong>である。</p>



<h3 class="wp-block-heading"><span id="toc9">（２）IPsecトンネルに障害があった場合の検出を高速にする</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="808" height="43" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-30.png" alt="" class="wp-image-8150" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-30.png 808w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-30-300x16.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-30-752x40.png 752w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<p class="wp-block-paragraph">BFDとはBidirectional Forwarding Detection（双方向転送検出）の略。通信経路（トンネルや物理リンク）の障害を<span class="blue">ミリ秒単位</span>で超高速に検知する軽量プロトコル。<br>そのため、BFDを使うことで、<strong><span style="text-decoration: underline;">IPsecトンネルに障害があった場合の検出を高速にすることができる</span></strong>。</p>



<p class="wp-block-paragraph">また、障害検知だけでなく、以下のように👇より細かな情報も取得できる。<br><span class="fz-16px"><strong>レイテンシー（遅延）：</strong> パケットの往復にかかる時間<br><strong>パケットロス（欠損率）：</strong> 通信がどれくらい途切れているか<br><strong>ジッター（パケブレ）：</strong> 遅延の揺らぎ・ばらつき</span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc10">さらに深いVersion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></h2>



<h3 class="wp-block-heading"><span id="toc11">p.9 支店が追加されたら、どのような変更があるの？ｰｰｰｰｰｰｰｰｰｰｰｰｰｰ</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="852" height="299" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18.png" alt="" class="wp-image-8124" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18.png 852w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-300x105.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-767x269.png 767w" sizes="(max-width: 852px) 100vw, 852px" /></figure>



<p class="wp-block-paragraph">Q.視点を追加すると変更作業が起きると書かれている。が、実際にはどのような変更作業があるのか？</p>



<p class="wp-block-paragraph">A.結論から言うと、現行構成（MPLS VPN＋BGP/OSPF）のまま支店を増やす場合、「新規支店以外の既存拠点（データセンターや本社など）」でのルータ設定変更作業はほぼ発生しない。<br>新規拠点側ではルータのコンソールに接続し、IPアドレス、eBGP設定、OSPF再配布、ルートフィルタなどを1台ずつ手動でコマンド設定（CLI）する必要がある。しかし、新拠点のサブネット情報は、BGPとOSPFの再配布によって自動的にデータセンターや本社、他支店へ伝播する。そのため、既存ルータの設定をわざわざいじる必要はない。</p>



<h3 class="wp-block-heading"><span id="toc12">p.9 現行構成における課題と、SD-WAN導入による改善点</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>現行構成（MPLS VPN）</strong></td><td><strong>SD-WAN導入後</strong></td></tr></thead><tbody><tr><td><strong>現地作業</strong></td><td>専門技術者が現地へ行き、ルータにコマンドを打ち込んで設定</td><td>現地作業員は箱を開けてLAN/WANケーブルを挿すだけ（<strong>ゼロタッチプロビジョニング / ZTP</strong>）</td></tr><tr><td><strong>設定の管理</strong></td><td>拠点ごとにルータのコンソールに入って個別に設定・管理</td><td>クラウド上の<strong>SD-WANコントローラーで全拠点を一元管理</strong></td></tr><tr><td><strong>回線の追加</strong></td><td>MPLS回線の開通を待つ必要があり、導入に時間がかかる</td><td>安価な一般インターネット回線を引き、IPsecトンネルを全自動で網の目（メッシュ）状に張り巡らせることが可能</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc13">Q.どうやってSD-WANはゼロタッチプロビジョニングを実現しているの？</span></h3>



<p class="wp-block-paragraph">A.コントローラからポリシーを配布してもらっている。では、フローを見ながらSD-WANにおけるゼロタッチプロビジョニングを確認していこう！</p>



<p class="wp-block-paragraph">▼<strong>SD-WAN 起動〜設定完了までの詳細フロー</strong><br><strong>1：出荷および事前準備（ベンダーX社・クライアントA社）</strong></p>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>機器の出荷と登録（X社）：</strong> X社はSD-WANルータを工場から発送する際、そのルータの個体識別情報（<span class="blue">シリアル番号やMACアドレス等</span>）と「A社」の顧客情報を紐づけて、自社の「<span class="blue">中央集権型ZTPリダイレクトサーバー</span>」のデータベースに登録する。</span></li>



<li><span class="fz-16px"><strong>初期ハードコーディング（X社）：</strong> ルータのファームウェアには、無条件で「X社の中央集権型ZTPリダイレクトサーバー（例: <code>ztp.vendor-x.com</code>）」へアクセスする宛先情報が最初から組み込まれている。</span></li>



<li><span class="fz-16px"><strong>事前にコントローラーでのポリシー定義（A社）：</strong> A社のネットワーク管理者は、クラウド上の「A社専用SD-WANコントローラー」の管理画面にて、新規追加するルータのシリアル番号を指定し、適用させたいネットワーク設定（IPアドレス、BGP/OSPF、IPsecトンネル、VPNポリシーなど）を作成しておく。</span></li>
</ul>



<p class="wp-block-paragraph"><strong>2：現地設置および自動リダイレクト（現地・ZTPサーバー）</strong></p>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>現地設置と電源投入（現地）：</strong> 現地作業員（専門知識不要）がルータを箱から取り出し、LAN/WANケーブルを挿して電源を入れる。</span></li>



<li><span class="fz-16px"><strong>中央サーバーへのアクセス（ルータ ➔ X社ZTP）：</strong> ルータは起動後、<span class="blue">ハードコード</span>された宛先（<code>ztp.vendor-x.com</code>）へ自動で通信を行い、「私のシリアル番号は <code>SN12345</code> です。私の接続先コントローラーを教えてください」とリクエストを送信する。</span></li>



<li><span class="fz-16px"><strong>契約情報の照合と案内（X社ZTP ➔ ルータ）：</strong> X社ZTPサーバーは、受信したシリアル番号 <code>SN12345</code> をデータベースと照合し、「この機器はA社所有」であることを特定する。特定後、ルータに対して「A社専用コントローラーのFQDN/IPアドレス（例: <code>controller.a-company.com</code>）」を応答（リダイレクト案内）する。</span></li>
</ul>



<p class="wp-block-paragraph"><strong>3：認証および設定ファイルの適用（ルータ ➔ A社コントローラー）</strong></p>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>専用コントローラーへの接続（ルータ ➔ A社コントローラー）：</strong> ルータは案内された「A社専用コントローラー」へアクセスし、<span class="blue">証明書等</span>を用いて安全な暗号化通信（<span class="blue">TLSトンネル</span>）を確立する。</span></li>



<li><strong>設定データ（構成定義）の配布（A社コントローラー ➔ ルータ）：</strong> A社コントローラーは、接続してきたルータのシリアル番号を認証し、あらかじめ準備しておいた設定データ（JSON、XML、YANGモデル形式など）を<span class="blue">TLSトンネル経由で流し込む</span>。</li>



<li><strong>設定の自動反映（ルータ内部）：</strong> ルータ内のOS（エージェント）が受け取った設定データを解析し、<span class="blue">ルーティングテーブルの構築</span>、<span class="blue">IPsecトンネルの確立</span>、<span class="blue">OSPF/BGPプロセスの起動</span>などを自動で実行・適用する。</li>
</ul>



<p class="wp-block-paragraph"><strong>4：開通・運用開始</strong></p>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>オーバーレイ網の確立と開通：</strong> 設定完了後、他の拠点のSD-WANルータとの間で自動的にIPsecトンネルが立ち上がり、オーバーレイネットワークの通信がスタートする。</span></li>
</ul>



<h3 class="wp-block-heading"><span id="toc14">Q.従来のZTPとSD-WANのZTPの違いは？</span></h3>



<p class="wp-block-paragraph">正直、従来環境でもZTPはできていた。従来の普通のルータ（制御と転送が一体化している機器）でも、DHCP Option 66/67やTFTP/FTPサーバーを使って「電源を入れたら自動で設定ファイルをダウンロードして適用する」というZTP（自動構築）の仕組みは存在していた。しかし、それはあくまでも<span class="blue">静的なコマンド投入</span>である。<br>一方、SD-WANはコマンドではなく、ポリシーをZTPで配布している。そして、そのポリシーを解釈して実際に動作に落とし込むのはSD-WANルータ自体の仕事。つまり、<span class="blue">動的な設定を投入する</span>ことができるようになったということが従来とSD-WANでは違う。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>従来型ルータのZTP（制御・転送が一体）</strong></td><td><strong>SD-WANのZTP（制御・転送が分離）</strong></td></tr></thead><tbody><tr><td><strong>機器の役割</strong></td><td>1台ごとに自立した「脳（制御）」を持つ</td><td>機器は「体（転送）」のみ。脳はクラウド（コントローラー）</td></tr><tr><td><strong>流し込むデータ</strong></td><td>完成された<strong>個別の静的コンフィグ</strong>（CLIコマンドの塊）</td><td>ポリシー情報や識別情報などの<strong>動的なパラメータ</strong>（JSON/XML等）</td></tr><tr><td><strong>接続後の運用</strong></td><td>設定適用後は<strong>単体動作</strong>。変更時は再度個別に設定を書き換える</td><td>コントローラーと常に繋がり、<strong>集中制御・リアルタイム変更</strong>を受け続ける</td></tr><tr><td><strong>メッシュ接続</strong></td><td>全拠点とVPNを張る場合、事前またはZTPで巨大な設定を書き込む必要あり</td><td>コントローラーが仲介し、<strong>全拠点間のIPsecトンネルを動的・自動生成</strong>する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">Q.ってか、、そもそもWANって何？</span></h3>



<p class="wp-block-paragraph">A.「自社の敷地や所有設備を出た外側の領域全体」をWAN（Wide Area Network）という。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>区分</strong></td><td><strong>範囲と所有権</strong></td><td><strong>具体例</strong></td></tr></thead><tbody><tr><td><strong>LAN</strong></td><td>自社・自組織が<strong>所有・管理する敷地内</strong>のネットワーク</td><td>オフィスのLANケーブル、社内Wi-Fi、フロアスイッチ、自社ビル内のネットワーク</td></tr><tr><td><strong>WAN</strong></td><td>敷地外に出て、<strong>電気通信事業者（キャリア）の設備を借りて</strong>接続する広域ネットワーク</td><td>MPLS VPN、広域イーサネット、インターネット、IP-VPN</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">Q.SD-WANのインターネット通信に対するアプローチはどういう感じ？</span></h3>



<p class="wp-block-paragraph">SD-WANルータは基本的にSD-WANコントローラの制御に従う。これは当たり前だが、SD-WANコントローラ配下の拠点間だから成立する。しかし、インターネット接続（Google、Yahhoo、一般Webサーバ）の場合は、それらのサーバはSD-WANコントローラ配下にはない。なので、通常の拠点間通信とは異なるアプローチによって経路が選択される。</p>



<p class="wp-block-paragraph"><strong>▼拠点間通信とインターネット通信の違い</strong></p>



<p class="wp-block-paragraph"><strong>SD-WANコントローラー配下の拠点間通信（自社拠点 ⇔ 自社拠点）</strong></p>



<ul class="wp-block-list">
<li><strong>アプローチ:</strong> <strong>「双方向の協調制御」</strong></li>



<li><span class="fz-16px">送信側と受信側の両方にSD-WANルータ（CE機器）が存在。</span></li>



<li><span class="fz-16px">お互いに制御パケット（BFDなど）を送り合うことで、遅延・パケットロス・ジッターを<strong>双方向でリアルタイム測定</strong>し、コントローラーが定めたポリシーに従って最適なトンネル（IPsec）へパケットを動的に流す。</span></li>
</ul>



<p class="wp-block-paragraph"><strong>インターネット通信（自社拠点 ➔ 一般Webサーバ / SaaSなど）</strong></p>



<ul class="wp-block-list">
<li><span class="fz-16px"><strong>アプローチ:</strong> <strong>「片側（送信側ルータのみ）での単独制御」</strong></span></li>



<li><span class="fz-16px">相手（Google、Yahoo!、Microsoft 365など）は自社のSD-WANコントローラーの制御配下にはない。</span></li>



<li><span class="fz-16px">そのため、送信側のSD-WANルータが単独でアプリケーションを識別（DPI）したり、<strong>片道のレスポンス速度を測定</strong>したりして、「自社の出口回線（MPLS経由か、一般インターネット回線へのローカルブレイクアウトか）」をポリシーに基づいて判断・選択する。</span></li>
</ul>



<p class="wp-block-paragraph"><strong>▼取得できる情報の違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>拠点間通信（双方にSD-WANルータあり）</strong></td><td><strong>インターネット通信（相手は一般Web等）</strong></td></tr></thead><tbody><tr><td><strong>取得できる情報</strong></td><td>① <strong>リアルタイム片道/往復遅延（ミリ秒）</strong><br>② <strong>精密なパケットロス率（%）</strong><br>③ <strong>ジッター（遅延の揺らぎ・MS）</strong><br>④ <strong>対向ルータのCPU/帯域負荷状況</strong></td><td>① <strong>リンクの物理UP/DOWN状態</strong><br>② <strong>自社出口でのHTTP/DNS応答時間</strong><br>③ <strong>自社側回線の利用率（帯域使用率）</strong><br>④ <strong>アプリの種類（DPI識別：Teams, YouTube等）</strong></td></tr><tr><td><strong>情報の取得方法</strong></td><td>双方で専用の制御用プローブパケット（BFDなど）を<strong>高頻度（例：100ms周期）で直接打ち合う</strong>。</td><td>相手がプローブに応答しないため、<strong>自ルータを通過する通常のデータ通信のレスポンス</strong>を観測する。</td></tr><tr><td><strong>情報の正確性</strong></td><td><strong>極めて高い（双方向の完璧な数値）</strong><br>「行きは良いが帰りの回線が混んでいる」といった<strong>片道障害</strong>も正確に検知。</td><td><strong>限定的（片側・推定）</strong><br>相手サーバーや途中のインターネット網内の混雑か、自社の回線品質劣化かの切り分けが困難。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">Q.もし回線が1つしかなかったらSD-WANを導入する意味なくね？</span></h3>



<p class="wp-block-paragraph">Q1.そもそもSD-WANの目的はポリシーによって動的な経路制御をすることである。しかし、そもそもの回線が１つしかなかったら、動的に経路制御しようと思っても結局１つしか道がないんだからポリシーによる動的制御しても意味なくね？<br>Q2.また、ZTPに至っても、自社で初期の設定コマンドなどのコンフィグを自社サーバなどに配置して、起動時にそれを取得するようにハードコーディングしておけば、それによって一元的なポリシー割り当ても可能になるのでは？<br>ということから、回線が１つであればSD-WANを導入する意味ってなくね？</p>



<p class="wp-block-paragraph">A.では、疑問を一つずつ答えていこう！<br>A1.<strong>「回線が1本なら動的ルーティング（経路切替）の意味がない」</strong> ⇒ <strong>【100% 正解】</strong> 逃げ道の回線がない以上、どれだけリアルタイムに遅延やパケットロスを検知しても、その回線を通すしかない。</p>



<p class="wp-block-paragraph">A2.<strong>「ZTP（ゼロタッチ）や一括設定投入だけなら、SD-WANじゃなくてもできる」</strong> ⇒ <strong>【100% 正解】</strong> 従来のルータでもDHCP/TFTPやAnsible等の構成管理ツール、独自ZTPサーバーを使えば初期設定の一括配布は可能。</p>



<h3 class="wp-block-heading"><span id="toc18">Q.では、回線1本でもSD-WANを入れるメリットとは何か？</span></h3>



<p class="wp-block-paragraph">「回線が1本」という条件であっても、SD-WAN（クラウドコントローラーによる一元管理）を導入するメリットは主に<strong>3つ</strong>ある。</p>



<p class="wp-block-paragraph"><strong>① 「ZTPそのもの」ではなく「開通後の継続的な集中管理（Day 2 Operation）」</strong><br>　従来のZTP（TFTP等）は「最初の設定を入れる時（Day 1）」だけの仕組み。 開通後に「セキュリティポリシーを変更したい」「新しい通信を許可したい」となった場合、従来方式では全拠点のルータに個別ログイン（CLI）して設定変更を打ち込む必要がある。 SD-WANであれば、コントローラーのUI上でポリシーを1回変更するだけで、<strong>全国100拠点のルータへ一瞬で変更が波及・同期</strong>される。</p>



<p class="wp-block-paragraph"><strong>② 「アプリの可視化」と「優先度制御（QoS）」</strong><br>　回線が1本しかないからこそ、<strong>帯域の奪い合い</strong>が発生する。</p>



<ul class="wp-block-list">
<li><strong>状況：</strong> 1本しかない回線で、誰かが巨大なファイルをダウンロードして帯域を圧迫した。</li>



<li><strong>SD-WANの動作：</strong> アプリケーション識別（DPI）機能により、「Web会議（Teams等）」のパケットを最優先し、「ファイルダウンロードや動画視聴」の帯域を動的に制限（QoS）する。 経路変更はできなくても、「1本の回線の中でどのアプリを優先して通すか」という帯域制御（シェーピング）が強力に働く。</li>
</ul>



<p class="wp-block-paragraph"><strong>③ セキュリティ連携（SASE / SSE への発展性）</strong><br>　現在、1回線（インターネットVPN）の拠点でSD-WANを入れる最大の理由は<strong>クラウドプロキシ（ZscalerやPalo Alto Prisma Access等）との自動連携</strong>。</p>



<ul class="wp-block-list">
<li><strong>ローカルブレイクアウトの簡略化：</strong> クラウド型セキュリティ（SASE）へ通信を飛ばすための暗号化トンネルの設定や、IPアドレス変更への自動追従をコントローラーがすべて自動で行ってくれる。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc19">p.9 MPLSとは?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="831" height="143" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-19.png" alt="" class="wp-image-8129" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-19.png 831w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-19-300x52.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-19-767x132.png 767w" sizes="(max-width: 831px) 100vw, 831px" /></figure>



<p class="wp-block-paragraph">MPLS（Multi-Protocol Label Switching）とはIPヘッダの宛先IPアドレスを見る代わりに、パケットに付与した短い『ラベル』を見て超高速に転送（スイッチング）する技術。<br><span class="fz-18px"><span class="fz-20px"><strong>しかし</strong></span></span>、現在のルータではMPLSと同等レベルの転送処理が可能になってきているので、高速転送というメリットは薄くなってきている。</p>



<h3 class="wp-block-heading"><span id="toc20">p.9 MPLSとMPLS VPNの違いは？</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>普通のMPLS</strong></td><td><strong>MPLS VPN</strong></td></tr></thead><tbody><tr><td><strong>主な目的</strong></td><td>パケットの高速転送・特定経路への迂回</td><td><strong>複数企業の通信を絶対に混ざらないように完全分離（仮想化）</strong></td></tr><tr><td><strong>付与するラベルの数</strong></td><td><strong>1つ（シングルラベル）</strong></td><td><strong>2つ（ダブルラベル / 2重ラベル）</strong></td></tr><tr><td><strong>VRFの有無</strong></td><td>なし（テーブルは1つ）</td><td><strong>あり（企業ごとに独立したルーティングテーブルを作成）</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">Q.MPLS VPNのフローは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">G社の本社CEから支店CEへ「10.1.0.0/24（本社）」の経路を教える流れを見ていこう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[本社CE] ➔(eBGP/OSPF)➔ [PE-1] ➔=== (MP-BGP) ===➔ [PE-2] ➔(eBGP/OSPF)➔ [支店CE]" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[本社CE] ➔(</span><span style="color: #A6E22E">eBGP/OSPF</span><span style="color: #F8F8F2">)➔ [PE-1] ➔=== (</span><span style="color: #A6E22E">MP-BGP</span><span style="color: #F8F8F2">) ===➔ [PE-2] ➔(</span><span style="color: #A6E22E">eBGP/OSPF</span><span style="color: #F8F8F2">)➔ [支店CE]</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>1. コントロールプレーン（経路広告のフロー）</strong><br>①<strong>アンダーレイ構築：</strong> <br><span class="fz-16px">　PE-1、P（中継）、PE-2 間でOSPF/IS-ISとLDPを動かし、事業者網内の全ルータが「PE-1やPE-2のループバックIP」へ届く状態（トランスポートラベル）を作る。</span><br>②<strong>CE ➔ PE-1（経路の受領）：</strong> <br><span class="fz-16px">　本社CEがPE-1の「G社用VRF」へ <code>10.1.0.0/24</code> を広告。</span><br><strong>③PE-1 での加工（VPNv4化）：</strong> <br>　PE-1は受け取った <code>10.1.0.0/24</code> に以下を付与する。<br>　　・<strong>RD</strong>をくっつけて「一意なVPNv4アドレス（例: <code>65000:1:10.1.0.0/24</code>）」に変換。<br>　　・RT（エクスポートタグ）を付与。<br>　　・G社用VRF宛てであることを示す「VPNラベル（内側ラベル）」を自動採番。</p>



<p class="wp-block-paragraph">④<strong>PE-1 ➔ PE-2（MP-BGPで広告）：</strong> PE-1は対向のPE-2へ、MP-BGPを使って上記の情報を一括送信。</p>



<p class="wp-block-paragraph">⑤<strong>PE-2 での取り込み：</strong> PE-2は届いたRTタグを見て「G社用VRF」に合致することを確認。RDを外して元の <code>10.1.0.0/24</code> に戻し、G社用VRFのルーティングテーブルへ登録。</p>



<p class="wp-block-paragraph"><strong>⑥PE-2 ➔ 支店CE：</strong> 支店CEへ <code>10.1.0.0/24</code> を広告。</p>



<h3 class="wp-block-heading"><span id="toc22">2. データプレーン（実際の通信フロー）</span></h3>



<p class="wp-block-paragraph">支店CEから本社（<code>10.1.0.0/24</code>）へパケットを送る際の流れです。</p>



<ol start="1" class="wp-block-list">
<li><strong>支店CE ➔ PE-2：</strong> 普通のIPパケット（宛先: <code>10.1.0.1</code>）をPE-2のG社用VRF宛てに送信。</li>



<li><strong>PE-2 での2重ラベル付与：</strong>
<ul class="wp-block-list">
<li><strong>内側（VPNラベル）：</strong> MP-BGPでPE-1から教えてもらった「G社VRF識別用ラベル」を貼る。</li>



<li><strong>外側（トランスポートラベル）：</strong> LDPで知った「PE-1（目的地）まで運ぶためのラベル」を貼る。</li>
</ul>
</li>



<li><strong>Pルータ（中継）：</strong> <strong>外側ラベルだけ</strong>を見て、ラベルを付け替えながらPE-1へ超高速転送（内側ラベルやIPヘッダは見ない）。</li>



<li><strong>PE-1 到着：</strong>
<ul class="wp-block-list">
<li>外側ラベルが剥がれ（※直前のPルータで剥がれるPHP機能が一般的）、PE-1には「内側ラベル＋IPパケット」が届く。</li>



<li>PE-1は内側ラベルを見て「これはG社VRF行きだ」と判断し、<strong>ラベルを剥がして</strong>G社VRFのルーティングテーブルを参照。</li>
</ul>
</li>



<li><strong>PE-1 ➔ 本社CE：</strong> 生のIPパケットとして本社CEへ渡す。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc23">LDPのメカニズム＆フロー</span></h3>



<p class="wp-block-paragraph">OSPFで経路ができた後、LDP（Label Distribution Protocol）がどうやってラベルのバケツリレー表を作り上げるのか、そのメカニズムをステップ順に解説します。</p>



<p class="wp-block-paragraph"><strong>▼前提コンポーネント<br></strong>　CE1（本社） / CE2（支店）： 顧客（G社）のルータ<br>　PE1 / PE2： 事業者（L社）のエッジルータ（VRFを設定）<br>　P： 事業者（L社）のコア中継ルータ（VRFは存在しない）</p>



<h4 class="wp-block-heading"><span id="toc24">ステップ1：アンダーレイIGP（OSPF/IS-IS）の確立</span></h4>



<p class="wp-block-paragraph"><span class="fz-16px">　・事業者内のルータ（PE1, P, PE2）間でOSPFまたはIS-ISを起動。<br>　・これにより、事業者網内の全ルータが「互いのIPアドレス（Loopback等）」に届く状態を作る。</span></p>



<h4 id="label-step2" class="wp-block-heading"><span id="toc25">ステップ2：LDPによるトランスポートラベル（外側）の配布</span></h4>



<p class="wp-block-paragraph" id="label-step2"><span class="fz-16px">　・LDP（Label Distribution Protocol）が起動し、IGPで学習した宛先（特にPEのLoopback IP）に対してラベルを割り当てる。<br>　・動作： 下流（PE2）から上流（PE1）に向かって、「PE2宛てのパケットはラベルXで送ってくれ」とバケツリレー式にラベル情報（外側ラベル）を伝播し、全ルータにLFIB（ラベル転送表）を構築する。（このプロセスの<a href="#out-label">わかりやすい具体例はこちら</a>）</span></p>



<h4 class="wp-block-heading"><span id="toc26">ステップ3：PEルータでのVRF・RD・RTの設定</span></h4>



<p class="wp-block-paragraph"><span class="fz-16px">　・PE1およびPE2に顧客（G社）用の仮想ルータ（<strong>VRF</strong>）を作成する。<br>　・<strong>RD（Route Distinguisher）：</strong> 他社とIPが重複しても一意に識別できるよう、IPプレフレフィックスの先頭に付与する（例：<code>65000:1</code> + <code>10.1.0.0/24</code> ➔ <code>65000:1:10.1.0.0/24</code> という<strong>VPNv4アドレス</strong>を生成）。<br>　・<strong>RT（Route Target）：</strong> どのVRFに経路を取り込むかを制御するタグ（Export/Importルール）を設定する。</span></p>



<h4 class="wp-block-heading"><span id="toc27">ステップ4：CE ➔ PE 間の経路学習</span></h4>



<p class="wp-block-paragraph"><span class="fz-16px">　・CE1（顧客G社本社）が自身の持つ経路（<code>10.1.0.0/24</code>）をPE1へ広告する（eBGPやOSPF等を使用）。<br>　・PE1は届いた経路を「G社用VRF」のルーティングテーブルに登録する。</span></p>



<h4 id="label-step5" class="wp-block-heading"><span id="toc28">ステップ5：PE1でのVPNラベル（内側）自動採番とMP-BGP広告</span></h4>



<p class="wp-block-paragraph"><span class="fz-16px">　・PE1は、顧客G社VRF宛てを引き込むためのVPNラベル（内側ラベル、例: <code>1001</code>）を内部で自動生成する。<br>　・PE1はPE2に対して、MP-BGP（iBGP）を使って以下の情報をセットで広告します。<br>　　・<strong>VPNv4アドレス：</strong> <code>65000:1:10.1.0.0/24</code><br>　　・<strong>ネクストホップ：</strong> PE1のIPアドレス<br>　　・<strong>内側ラベル：</strong> <code>1001</code><br>　　<strong>・RTタグ：</strong> <code>Export RT</code>（例: <code>65000:100</code>）</span><br>　　・内側ラベルの<a href="#inside-label">わかりやすいプロセスはこちら</a></p>



<p class="wp-block-paragraph"><strong>ステップ6：PE2でのRT照合とVRFへの取り込み</strong></p>



<ul class="wp-block-list">
<li>PE2はMP-BGPで受信した経路のRTタグ（<code>65000:100</code>）を確認します。</li>



<li>自身のVRFに設定された<code>Import RT</code>と一致したため、RDを取り除いて普通のIPv4（<code>10.1.0.0/24</code>）に戻し、G社用VRFテーブルへ登録します。</li>



<li>PE2はG社VRFからCE2（支店）へこの経路を広告します。</li>
</ul>



<h3 id="out-label" class="wp-block-heading"><span id="toc29">▼外側ラベルの配布メカニズム＆フロー</span></h3>



<p class="wp-block-paragraph">直感的に理解できるように、ルータを1列に並べた超シンプルな具体例で解説していこう！<br>＊ルータが4台一直線に並んでいる場合</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="目的は、PE1からゴールである「PE2（IP: 2.2.2.2）」へパケットを届けること。
[PE1] ─── [P1] ─── [P2] ─── [PE2]" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">目的は、PE1からゴールである「PE2（IP:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2</span><span style="color: #E6DB74">.2.2）」へパケットを届けること。</span></span>
<span class="line"><span style="color: #F8F8F2">[PE1] ─── [P1] ─── [P2] ─── [PE2]</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>▼LDPのバケツリレー（ラベルの通知フロー）</strong><br>LDPはゴールのPE2から始まって、下流から上流へ向かってメッセージを送っていく。</p>



<p class="wp-block-paragraph"><strong>① PE2 ➔ P2 への通知</strong><br><span class="fz-16px">　・<strong>PE2の主張：</strong> 「P2さん、僕（<code>2.2.2.2</code>）宛ての荷物を持ってくるときは、<strong>ラベル10</strong>を貼って渡してね！」<br>　・<strong>P2の処理：</strong> P2はメモする。<br>　　<code>[メモ：PE2（2.2.2.2）に行くなら ➔ ラベル10を貼ってPE2へ投げる]</code></span></p>



<p class="wp-block-paragraph"><strong>② P2 ➔ P1 への通知</strong> <br><span class="fz-16px">　ここが疑問のコア！P2は「ラベル10」をそのままP1に教えるのではなく、<strong>P2自身が新しい番号（ラベル20）を勝手に決めて</strong>P1に伝える。<br>　・<strong>P2の主張：</strong> 「P1さん、PE2（<code>2.2.2.2</code>）宛ての荷物があるなら、僕には<strong>ラベル20</strong>を貼って渡してね！」<br>　・<strong>P1の処理：</strong> P1はメモする。<br>　　<code>[メモ：入力ラベル20が来たら ➔ ラベル10に付け替えてP2へ投げる]</code></span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[PE1] ーーーーーーーーーーー [P1] ーーーーーーーーーーー [P2] ーーーーーーーーーーー [PE2]
      ←2.2.2.2はラベル30　　　　　←2.2.2.2はラベル20　　　　←2.2.2.2はラベル10
                      " style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[PE1] ーーーーーーーーーーー [P1] ーーーーーーーーーーー [P2] ーーーーーーーーーーー [PE2]</span></span>
<span class="line"><span style="color: #F8F8F2">      </span><span style="color: #A6E22E">←2.2.2.2はラベル30　　　　　←2.2.2.2はラベル20　　　　←2.2.2.2はラベル10</span></span>
<span class="line"><span style="color: #F8F8F2">                      </span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>③ P1 ➔ PE1 への通知</strong> <br><span class="fz-16px">　P1も同じように、自分専用の新しい番号（ラベル30）を決めてPE1に伝える。<br>　・<strong>P1の主張：</strong> 「PE1さん、PE2（<code>2.2.2.2</code>）宛ての荷物は、僕には<strong>ラベル30</strong>を貼って渡してね！」　<br>　・<strong>PE1の処理：</strong> PE1はメモする。<br>　　<code>[メモ：PE2（2.2.2.2）行きパケット ➔ ラベル30を貼ってP1へ投げる]</code></span></p>



<p class="wp-block-paragraph">▼実際のデータ（パケット）が流れる<br>全ルータが「隣のルータから指定されたラベル」に貼り替えながら投げるので、パケットは無事に届きくようになる。</p>



<ol start="1" class="wp-block-list">
<li><strong>PE1：</strong> PE2行きのパケットに、P1から頼まれた「ラベル30」を貼ってP1に投げる。<br>＊<span class="fz-16px"><span class="blue">入り口部分のPEルータでは、IPアドレスも確認する</span>。そして、「あ、このIPアドレス宛はこのラベルだなと」判断してラベルを付与。以降のPルータはラベルのみで転送する。</span></li>



<li><strong>P1：</strong> 「30」が届いたので、P2から頼まれた「ラベル20」に貼り替えてP2に投げる。</li>



<li><strong>P2：</strong> 「20」が届いたので、PE2から頼まれた「ラベル10」に貼り替えてPE2に投げる。</li>



<li><strong>PE2：</strong> 「10」が届いたので、自分宛てだと分かって受領する。</li>
</ol>



<p class="wp-block-paragraph"><a href="#label-step2">👆ステップ２の解説に戻る</a></p>



<h3 id="inside-label" class="wp-block-heading"><span id="toc30">▼内側ラベルの配布メカニズム＆フロー</span></h3>



<p class="wp-block-paragraph" id="inside-label"><span class="fz-16px">出口側であるPE1（本社側）が顧客網（CE1）から経路を学習し、入口側であるPE2（支店側）へ内側ラベルを配るまでの流れを見ていこう。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[CE1] ーーーーーー [PE1] ーーーーーー [P1] ーーーーーー [P2] ーーーーーー [PE2]
              " style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[CE1] ーーーーーー [PE1] ーーーーーー [P1] ーーーーーー [P2] ーーーーーー [PE2]</span></span>
<span class="line"><span style="color: #F8F8F2">              </span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>1.PE1：CE1からIPv4経路を学習:</strong><br><span class="fz-16px">　VRF内での処理。<br>　・PE1は、接続されているCE1（顧客本社）から普通のIPv4経路（例: <code>10.1.0.0/24</code>）を学習し、顧客A用のVRF-Aに登録する。<br>　・<strong>検証:</strong> PE1の <code>show ip route vrf VRF-A</code> で <code>10.1.0.0/24</code> が見えれば成功。</span></p>



<p class="wp-block-paragraph"><strong>2.PE1：VPNv4アドレスへの変換と内側ラベルの採番:</strong><br><span class="fz-16px">　・MP-BGPでの処理。<br>　・PE1は、この経路を対向のPE2へ通知するために次のように加工。</span></p>



<ol start="1" class="wp-block-list">
<li><span class="fz-16px"><strong>RDの付与:</strong> IPv4経路の頭にRDを結合し、<strong>VPNv4アドレス</strong>に変換する（<code>65001:100 : 10.1.0.0/24</code>）。</span></li>



<li><span class="fz-16px"><strong>内側ラベルの採番:</strong> このVRF-A宛て専用の内側ラベル（例: <code>1001</code>）を自前で1つ割り当てる。</span></li>



<li><span class="fz-16px"><strong>RT（Export RT）の付与:</strong> 判定用のRTタグ（例: <code>65001:10</code>）を付与する。</span></li>
</ol>



<p class="wp-block-paragraph">　・<span class="fz-16px"><strong>検証:</strong> PE1のBGPテーブル（<code>show bgp vpnv4 unicast all</code>）で、VPNv4経路にラベル <code>1001</code> が紐付いていれば成功。</span></p>



<p class="wp-block-paragraph"><strong>3.PE1 ➔ PE2：MP-BGP UPDATEメッセージの送信:</strong><br><span class="fz-16px">　・PE間（iBGP）通信。<br>　・PE1は、MP-BGP（iBGP）を使ってPE2へアップデートメッセージを直接送信する。<br>　・途中のPルータはこの通信を単なるIPパケット（あるいはBGPパケット）として透過するだけで、中身は見ない。</span></p>



<ul class="wp-block-list">
<li><strong><span class="fz-16px">送信される内容:</span></strong>
<ul class="wp-block-list">
<li><span class="fz-16px"><strong>Destination (NLRI):</strong> <code>65001:100 : 10.1.0.0/24</code>（VPNv4アドレス）</span></li>



<li><span class="fz-16px"><strong>VPN Label:</strong> <code>1001</code>（内側ラベル）</span></li>



<li><span class="fz-16px"><strong>Route Target:</strong> <code>65001:10</code>（Export RT）</span></li>



<li><span class="fz-16px"><strong>BGP Next-Hop:</strong> <code>192.168.1.1</code>（PE1のLoopback IPアドレス）</span></li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"><strong>4.PE2：RT判定とVRFへの取り込み:</strong><br><span class="fz-16px">　Import処理。<br>　・メッセージを受け取ったPE2は、付与されているRT（<code>65001:10</code>）を確認する。<br>　・PE2の「VRF-A」に設定された <strong>Import RT</strong> と一致するか判定。<br>　・一致した場合、RDを取り除いて<strong>元のIPv4経路（<code>10.1.0.0/24</code>）に戻し、PE2の「VRF-A」のルーティングテーブルに登録</strong>します。<br>　・このとき、ネクストホップ <code>192.168.1.1</code>（PE1）へ向かうための<strong>内側ラベルとして <code>1001</code></strong> を内部テーブル（LFIB）に記憶します。<br>　・<strong>検証:</strong> PE2の <code>show ip route vrf VRF-A</code> に <code>10.1.0.0/24</code> が登録され、ネクストホップがPE1のIPになっていれば完了。</span></p>



<p class="wp-block-paragraph">▼実際のパケットが転送される<br>＊支店（CE2）から本社（CE1: <code>10.1.0.1</code>）宛てにパケットが送信されたときのラベル挙動。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[CE2] ──(生のIP)──&gt; [PE2 (入口)] ──(2重ラベル)──&gt; [Pルータ網] ──(内側のみ)──&gt; [PE1 (出口)] ──(生のIP)──&gt; [CE1]" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[CE2] ──(</span><span style="color: #A6E22E">生のIP</span><span style="color: #F8F8F2">)──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [PE2 (入口)] ──(</span><span style="color: #A6E22E">2重ラベル</span><span style="color: #F8F8F2">)──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [Pルータ網] ──(</span><span style="color: #A6E22E">内側のみ</span><span style="color: #F8F8F2">)──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [PE1 (出口)] ──(</span><span style="color: #A6E22E">生のIP</span><span style="color: #F8F8F2">)──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [CE1]</span></span></code></pre></div>



<ol start="1" class="wp-block-list">
<li><strong>PE2（入口ルータ）でのルックアップ:</strong> <br><span class="fz-16px">CE2から送られてきた生のIPパケット（宛先: <code>10.1.0.1</code>）を「VRF-A」で検索。</span></li>



<li><strong>2重ラベルの着せ替え（Push）:</strong>
<ul class="wp-block-list">
<li><span class="fz-16px"><strong>内側ラベル (<code>1001</code>):</strong> MP-BGPでPE1から教わった「VRF-A識別用ラベル <code>1001</code>」を貼る。</span></li>



<li><span class="fz-16px"><strong>外側ラベル (<code>30</code>):</strong> LDPで隣のPルータから教わった「PE1（<code>192.168.1.1</code>）へ運ぶ用のトランスポートラベル <code>30</code>」を上から重ねて貼る。</span></li>
</ul>
</li>



<li><strong>網内（Pルータ）の転送:</strong> <br><span class="fz-16px">Pルータ群は外側ラベル（<code>30</code>）だけを見てバケツリレー（Swap）を行います。内側ラベル <code>1001</code> は隠されたままで無視される。</span></li>



<li><strong>PE1（出口ルータ）でのカプセル解除（Pop）:</strong>
<ul class="wp-block-list">
<li><span class="fz-16px">外側ラベルが剥がされた状態でPE1に届く（※PHP機能により直前のPルータで外側が剥がされている場合もある）。</span></li>



<li><span class="fz-16px">PE1は<strong>残った内側ラベル <code>1001</code> だけを見て</strong>、「あ！これはVRF-A向けの荷物だ！」と一瞬で判断する。</span></li>



<li><span class="fz-16px">内側ラベル <code>1001</code> を剥がし、生のIPパケットに戻してCE1（本社）へ送信する。</span></li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"><a href="#label-step5">step5に戻る👆</a></p>



<h3 class="wp-block-heading"><span id="toc31">Q.なんでRDタグが必要なの？</span></h3>



<p class="wp-block-paragraph">Q.RTタグがあるなら、RDっていらなくね？だって、複数の会社で同一のプレフィックスを使っていても、RTで分ければ、問題なくね？<br>A.RDが必要になる理由はPEルータ内のBGPプロセス内で経路を識別するため。参考書に乗っているRDの説明を聞くと「コアネットワーク内で経路を一意に識別するため」と書かれてミスリーディングをされることがある。そもそも、RDの内容をコアルータは見ないので、これは完全なミスリーディングとなる。<br>実際は、PEルータ内のBGPプロセスにおいて、同じプレフィックスがあると属性などから最適な経路のみが登録されることになって、それ以外が破棄されてしまうから。</p>



<h3 class="wp-block-heading"><span id="toc32">Q.もしRDがないと？</span></h3>



<p class="wp-block-paragraph">・パターン１：<br>　PEルータが複数の会社から同一プレフィックスを広告するときに、BGPプロセス内で「あ、これ同一プレフィックスだから１番いい経路だけ広告して他は破棄しよ」となってしまい、広告されなくなる。<br><br>・パターン２：<br>　PEルータが複数の同一プレフィックスから経路を受信しても、その中から最も良い経路のみがテーブルに登録される。たとえ、RTで別々のVRFに登録してね！と明示してあったとしても、それを確認する前にBGPプロセスで最良経路が選択されて、最良経路のみのVRFに登録される。ほかのVRFには登録されなくなる。</p>



<h3 class="wp-block-heading"><span id="toc33">Q.CEルータとPEルータはどうやってつながっているの？</span></h3>



<p class="wp-block-paragraph">CEルータとPEルータはどのようにつながっているのか？専用線のようなものを施設しているのか。それとも、なにか別の接続方法でつながっているのか。それを紐解いていこう！<br>A.「顧客ビルから通信事業者の設備（PEルータ）まで物理的なアクセス回線（光ファイバーなど）を直接引き込んで接続する」のが一般的。<br>インターネット経由で自宅のルータからVPNを張る（IPsec VPN等）のとは異なり、MPLS VPNは「暗号化を使わない代わりに、<span class="blue">物理・論理的にインターネットから完全に孤立させた閉域網</span>を使う。拠点（CE）からPEルータまでの間に「何が存在し、どう繋がっているのか」を以下で詳細を記す。</p>



<p class="wp-block-paragraph"><strong>▼MPLS VPNにおけるCEとPEのフロー</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[顧客ビル]                                 [通信事業者（L社）の拠点]
┌───────┐      ┌────────┐                  ┌────────┐      ┌────────┐
│  CE   │ ───&gt; │ ONU /  │ ═══════════════&gt; │ L2/L3  │ ───&gt; │   PE   │
│ルータ │ (LAN)│ ONU(ONU)│   アクセス回線   │ 網装置 │ (LAN)│ルータ  │
└───────┘      └────────┘  (光ファイバー)   └────────┘      └────────┘
                           └───────────────┘
                              ↑ 中間にNTTなどの
                                ダークファイバや
                                網内スイッチが存在" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[顧客ビル]                                 [通信事業者（L社）の拠点]</span></span>
<span class="line"><span style="color: #A6E22E">┌───────┐</span><span style="color: #F8F8F2">      </span><span style="color: #E6DB74">┌────────┐</span><span style="color: #F8F8F2">                  </span><span style="color: #E6DB74">┌────────┐</span><span style="color: #F8F8F2">      </span><span style="color: #E6DB74">┌────────┐</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">CE</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">──</span><span style="color: #F8F8F2">─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ONU</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">══════════════</span><span style="color: #F8F8F2">═</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">L2/L3</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">──</span><span style="color: #F8F8F2">─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">PE</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">│</span></span>
<span class="line"><span style="color: #A6E22E">│ルータ</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">│</span><span style="color: #F8F8F2"> (LAN)│ ONU(</span><span style="color: #A6E22E">ONU</span><span style="color: #F8F8F2">)│   アクセス回線   │ 網装置 │ (</span><span style="color: #A6E22E">LAN</span><span style="color: #F8F8F2">)│ルータ  │</span></span>
<span class="line"><span style="color: #A6E22E">└───────┘</span><span style="color: #F8F8F2">      </span><span style="color: #E6DB74">└────────┘</span><span style="color: #F8F8F2">  (光ファイバー)   └────────┘      └────────┘</span></span>
<span class="line"><span style="color: #F8F8F2">                           </span><span style="color: #A6E22E">└───────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2">                              </span><span style="color: #A6E22E">↑</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">中間にNTTなどの</span></span>
<span class="line"><span style="color: #F8F8F2">                                </span><span style="color: #A6E22E">ダークファイバや</span></span>
<span class="line"><span style="color: #F8F8F2">                                </span><span style="color: #A6E22E">網内スイッチが存在</span></span></code></pre></div>



<p class="wp-block-paragraph">物理的なアクセス回線（光ファイバーやONU）の仕組み自体は、個人宅の光回線（フレッツ光など）と全く同じ。<br>特別な「MPLS専用の魔法の光ファイバー」が地中に埋まっているわけではない。違いは物理回線ではなく、「集約局（基地局/収容局）でどの網へ振り分けるか（スイッチング）」という論理的な出口（VLANやポート）の話。</p>



<h3 class="wp-block-heading"><span id="toc34">Q.再配布のループ防止方法は？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="936" height="234" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-24.png" alt="" class="wp-image-8138" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-24.png 936w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-24-300x75.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-24-768x192.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



<p class="wp-block-paragraph">本文中では「ループ防止のため経路フィルターを設定」としか書かれていないため具体的なイメージがわかない。なので、ここでは再配布時に発生するループを防ぐ方法を具体的に見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc35">手法1：ルートタグ（Route Tag）を使う方法【推奨・最もスマート】</span></h4>



<p class="wp-block-paragraph"><span class="fz-16px">再配布するときに経路へ「目印（数字のタグ）」を貼り付け、そのタグが付いた経路が入ってきたら再配布を拒否する手法。<br><strong>仕組み：</strong><br>　・OSPFからBGPへ渡すとき：「タグ <code>100</code>」 を貼って再配布する<br>　・BGPからOSPFへ渡すとき：「タグ <code>100</code>」が付いている経路は再配布をブロックする。<br>Cisco IOSでの設定コマンド例👇</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#① タグを定義するルール（Route-map）を作成
route-map OSPF-TO-BGP permit 10
 set tag 100      #再配布する経路に「100」のタグを貼り付ける

route-map BGP-TO-OSPF deny 10
 match tag 100    #「100」のタグが付いた経路は拒否（再配布しない）
route-map BGP-TO-OSPF permit 20
                  #その他の経路は許可

#② BGPプロセス側で再配布を設定
router bgp 65001
 redistribute ospf 1 route-map OSPF-TO-BGP  #タグ100を貼ってBGPへ入れる

#③ OSPFプロセス側で再配布を設定
router ospf 1
 redistribute bgp 64512 subnets route-map BGP-TO-OSPF  #タグ100付きを拒否してOSPFへ入れる" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#① タグを定義するルール（Route-map）を作成</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">OSPF-TO-BGP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">tag</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2">      </span><span style="color: #88846F">#再配布する経路に「100」のタグを貼り付ける</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">BGP-TO-OSPF</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">deny</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">tag</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2">    </span><span style="color: #88846F">#「100」のタグが付いた経路は拒否（再配布しない）</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">BGP-TO-OSPF</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">20</span></span>
<span class="line"><span style="color: #F8F8F2">                  </span><span style="color: #88846F">#その他の経路は許可</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#② BGPプロセス側で再配布を設定</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65001</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">redistribute</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">OSPF-TO-BGP</span><span style="color: #F8F8F2">  </span><span style="color: #88846F">#タグ100を貼ってBGPへ入れる</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#③ OSPFプロセス側で再配布を設定</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">redistribute</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">64512</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">subnets</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">BGP-TO-OSPF</span><span style="color: #F8F8F2">  </span><span style="color: #88846F">#タグ100付きを拒否してOSPFへ入れる</span></span></code></pre></div>



<h4 class="wp-block-heading"><span id="toc36">手法2：ディストリビューションリスト（Prefix-list）を使う方法</span></h4>



<p class="wp-block-paragraph">自拠点のIPプレフィックスを明示的に指定してフィルタリングする手法。<br>　<strong>仕組み：</strong> <br>　　「自社のIPアドレス範囲（例: <code>10.0.0.0/8</code>）はBGPからOSPFへ絶対に再配布しない」というフィルターを直書きする。<br>　<strong>デメリット：</strong> <br>　　拠点やネットワークが増えるたびにルータのリストを手動で更新する必要がある（タグ方式の方が自動化できるため実務では好まれる）。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#プレフィックスリストの場合
ip prefix-list prefix_リスト seq 10 deny 10.0.0.0/16
ip prefix-list prefix_リスト seq 20 permit 0.0.0.0/0 le 32

#ACLの場合
access-list ACL名 deny 10.0.0.0 0.0.255.255
access-list ACL名 permit any

router ospf プロセス番号
 distribute-list prefix prefix_リスト名 in #プレフィックスリストの場合
 distribute-list ACL名 in #ACLの場合
 area 1 filter-list prefix prefix_リスト in #エリア1に入ってくるSAを制限
 
*filter-listはprefix-listしか対応していない。
また、BGPのfilter-listはas-pathリストにしか対応していない。" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#プレフィックスリストの場合</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix_リスト</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">seq</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">deny</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0/16</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix_リスト</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">seq</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">20</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0/0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">le</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">32</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ACLの場合</span></span>
<span class="line"><span style="color: #A6E22E">access-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ACL名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">deny</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span></span>
<span class="line"><span style="color: #A6E22E">access-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ACL名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">any</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">distribute-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix_リスト名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#プレフィックスリストの場合</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">distribute-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ACL名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#ACLの場合</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">filter-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix_リスト</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#エリア1に入ってくるSAを制限</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F92672">*</span><span style="color: #F8F8F2">filter-listはprefix-listしか対応していない。</span></span>
<span class="line"><span style="color: #A6E22E">また、BGPのfilter-listはas-pathリストにしか対応していない。</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc37">p.12 SD-WANコントローラとエッジルータのmTLS通信とは?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="780" height="59" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-27.png" alt="" class="wp-image-8142" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-27.png 780w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-27-300x23.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-27-767x58.png 767w" sizes="(max-width: 780px) 100vw, 780px" /></figure>



<p class="wp-block-paragraph">mTLS通信とは、Mutual TLS（相互TLS認証）の略でクライアントとサーバーの「双方が」お互いにデジタル証明書を提示し合い、「お前は誰だ？」「お前こそ誰だ？」と互いの身元を確認する通信方式のこと。一般的なWebアクセスではクライアント側が証明書を提供しない、いわば片方向のTLSであることが多い。しかし、クライアント側も証明しなければならないときは、双方向のTLS、つまりmTLSが必要となる。</p>



<p class="wp-block-paragraph"><strong>Q.証明書はだれが？いつ？発行してくれるの？<br></strong>誰が発行したかをわかっていないと、事前にどのルートCAの証明書をインストールしておくかわからない<br>A.SD-WAN機器の製造ベンダー（Cisco等）が運営する認証局（ベンダー独自CA）が、工場出荷時（製造工程）に機器固有の<span class="blue">クライアント証明書</span>を発行する。 機器側には、このクライアント証明書および<span class="blue">秘密鍵</span>、そして検証用のベンダーの<span class="blue">ルートCA証明書</span>が、TPM等の耐タンパー性を持つ暗号チップ内（ハードウェア領域）にあらかじめプリインストール（組み込み）される。</p>



<h3 class="wp-block-heading"><span id="toc38">Q.OMPってなに?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">Q.SD-WANを勉強していると必ずと言っていいほど、OMPが出てくる。何かの情報を運ぶんだろうなぁという解釈はあるが、いまいちわかっていない。。。なので、ここですっきりしていこう！</p>



<p class="wp-block-paragraph">A.OMPとは<span class="blue">Overlay Management Protocol</span>の略でCisco SD-WAN（旧Viptela）独自で動作するコントロールプレーン用プロトコル。コントローラーとSD-WANルーター間で、<span class="blue">オーバーレイ網の構築に必要な各種情報</span>を一括してやり取りする「司令塔通信の言葉」。<br>一言で言うと、OMPは「拠点同士が直接IPsecトンネルを張るための仲介役（ルーティング＆鍵情報・IP情報の動的交換プロトコル）」。</p>



<p class="wp-block-paragraph">mTLSでコントロールプレーンが確立された後、コントローラーとルータの間でこの「OMP」という独自ルーティングプロトコルが動き出す。具体的には、以下の3つの情報をOMPでやり取りしている。</p>



<p class="wp-block-paragraph"><strong>１<span style="background-color: rgba(51, 51, 51, 0.2);">. 相手のIPアドレスや暗号鍵の交換（TLOC情報）</span><br></strong><span class="fz-16px">　・ルータAは「自分の今のWAN側IP」や「IPsec用公開鍵」を、OMPに乗せてコントローラーへ送る（収集）。<br>　・コントローラーは、「対向ルータBのWAN側IP」や「対向ルータBの公開鍵」をOMPに乗せてルータAに配る（配布）。<br>　・これによって、ルータAとルータBが手動設定なしで直接IPsecトンネルを全自動で張れるようになる。</span></p>



<p class="wp-block-paragraph"><strong>2. 各拠点配下のLANのルーティング情報（OMP Routes）</strong><br><span class="fz-16px">　・「拠点Aの配下には <code>192.168.10.0/24</code> があるよ」「拠点Bの配下には <code>192.168.20.0/24</code> があるよ」というLAN側のルート情報をOMPでコントローラーへ送る。<br>　・コントローラーがこれを全拠点のルータへ配ることで、各拠点ルータのルーティングテーブルに自動的に相手拠点のルートが追加される。</span></p>



<p class="wp-block-paragraph"><strong>3. サービスやセキュリティポリシー情報（Service Routes / Policies）</strong><br><span class="fz-16px">　・「ファイアウォールはデータセンターを通せ」「Teams通信は各拠点から直出し（ブレイクアウト）しろ」といった動的な経路変更指示をOMPで配る。</span></p>



<h3 class="wp-block-heading"><span id="toc39">Q.なんでわざわざOMPを使うの？</span></h3>



<p class="wp-block-paragraph">OMPを使わずにHTTPやmGRE/NHRPなどの既存の技術を使っても実現できそうなのに、なんでわざわざ、面倒くさそうなOMPを導入しているの？決められたフォーマットを使えばまとめて情報を送れるから？でもそれも、JSONとか使えばHTTPでもフォーマット作ってまとめて送れるよね？あと、HTTPはステートレスっていうけど、セッションの保持時間を長くすればたとえNAT環境とかでもコントローラからの通信を受け取れるよね？</p>



<p class="wp-block-paragraph">A.既存技術（HTTPやmGRE/NHRP）では、数千台規模の大規模企業網の制御、多重回線の集約、複雑なポリシー制御に耐えられないから。</p>



<p class="wp-block-paragraph"><strong>▼OMPとHTTPの違い<br></strong><span class="blue">OMPはルーティングプロトコルそのもの</span>。つまり受け取ったポリシーからスムーズにルーティングに落とし込むことができる。一方HTTPはただデータを運ぶだけなので、受け取った後に再度、プログラムを稼働させてからでなければルーティングに落とし込むことができない。いわば無駄なオーバーヘッドが生まれてしまうということ。なので、OMPを使うべき。</p>



<h3 class="wp-block-heading"><span id="toc40">Ｑ．OMPで配布する情報とそれ以外で配布する情報の違いは？</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>パラメータの種類</strong></td><td><strong>具体例</strong></td><td><strong>配布元・プロトコル</strong></td><td><strong>なぜそこから渡されるのか？</strong></td></tr></thead><tbody><tr><td><strong>共通ポリシー（静的）</strong></td><td>AES-256、SHA-256、DHグループ14、IKE/IPsecライフタイム</td><td><strong>SD-WAN Manager</strong><br>(HTTPS / NETCONF)</td><td>全拠点共通のセキュリティ基準（テンプレート）なので、初期設定（ZTP直後）として配れば十分だから。</td></tr><tr><td><strong>接続識別情報（動的）</strong></td><td>WAN側IPアドレス、UDPポート番号、TLOCカラー</td><td><strong>SD-WAN Controller</strong><br>(OMP)</td><td>プロバイダのIP変動やマルチ回線（フレッツ、5G等）のポート番号など、常に変わり得る値だから。</td></tr><tr><td><strong>暗号化鍵データ（動的）</strong></td><td>IPsecの鍵（SPI、AES encryption keyなど）</td><td><strong>SD-WAN Controller</strong><br>(OMP)</td><td>定期的に鍵を自動更新（Re-key）するため、リアルタイム同期が必要だから。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">要は、拠点に依存しない設定であればZTP直後に配布する。逆に拠点依存の設定はOMPで動的に配布するという棲み分けがある。</p>



<h3 class="wp-block-heading"><span id="toc41">Q.SD-WANにおけるIPsec構築フロー</span></h3>



<ol start="1" class="wp-block-list">
<li>初期生成（ローカル）：各エッジルーターは起動時、内部でDH鍵ペア（秘密鍵 a, 公開鍵 A）を生成する。
<ul class="wp-block-list">
<li>公開鍵 A の計算式: A＝ g<sup>a</sup> mod p (g と p は共通ポリシーで固定指定された値）</li>
</ul>
</li>



<li>OMPによる集約と配布（制御プレーン）：ルーターは自身の「WAN側IP」「UDPポート」「公開鍵 A」などをセット（TLOC Route）にして、OMPでコントローラーへ送信。コントローラーはこれを全拠点へ一括配布する。</li>



<li>共通鍵の自動導出（ローカル）：拠点1は、OMPで届いた「拠点2の公開鍵 B」と「自分の秘密鍵 a」を掛け合わせ、共通鍵 K を計算する。
<ul class="wp-block-list">
<li>拠点1の計算: B<sup>a</sup> mod p = (g<sup>b</sup>)<sup>a</sup> mod p = g<sup>ab</sup> mod p</li>



<li>拠点2の計算: A<sup>b</sup> mod p = (g<sup>a</sup>)<sup>b</sup> mod p = g<sup>ab</sup> mod p<br>双方の手元で交渉なしに全く同じ共通鍵 K が完成する。</li>
</ul>
</li>



<li>事前確立とデータ通信（データプレーン）：通信が発生する前にバックグラウンドでIPsecトンネルを開通。実際のデータ通信時には、導き出した共通鍵 K（AES）で高速に暗号化・復号を行う。</li>
</ol>



<p class="wp-block-paragraph">以上のようなフローになる。また、上記より、SD-WANではIKEが不要であることが分かる。</p>



<h3 class="wp-block-heading"><span id="toc42">Q.なぜ DMVPN では IKE をやめられなかったのか？</span></h3>



<ol start="1" class="wp-block-list">
<li><strong>理論的には可能だった</strong><br>NHRP を拡張して「IPアドレス」と一緒に「各拠点ルータの公開鍵」もハブから配れば、理論上は IKE を排除できる。</li>



<li><strong>ハードウェアと役割の限界（現実の壁）</strong><br>当時のハブは単なる 1 台の物理ルーターであり、パケット転送処理でスペックがカツカツ。全拠点の鍵の最新状態や Re-key（更新）までハブで一元管理すると莫大なメモリ領域、CPUが必要で処理が破綻するため、<strong>「鍵交渉や認証（IKE）は拠点同士で直接やってくれ」</strong> という設計（割り切り）にせざるを得ない。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc43">Q.なぜ SD-WAN では IKE を捨てられたのか？</span></h3>



<ol start="1" class="wp-block-list">
<li><strong>制御（Control）と転送（Data）の分離</strong><br>パケット転送を行わない「制御専用」のコントローラー（vSmart等）を分離独立させた。</li>



<li><strong>クラウド・サーバのハイスペック化</strong><br>クラウド上の強力な CPU/メモリ を背景に、中央コントローラーが「全拠点の認証」「暗号ルールの統一」「安全なパイプ（mTLS/OMP）での鍵配布」をすべて一括処理できるようになった。</li>



<li><strong>結果</strong><br>IKE がやってくれていた泥臭い事前交渉を<strong>すべてコントローラーが完了させておいてくれる</strong>ため、エッジルーター同士は IKE 交渉をスキップしていきなり IPsec トンネルを開通できるようになった。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc44">p.12 なぜSD-WANはVRFが必要なの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="920" height="141" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-28.png" alt="" class="wp-image-8146" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-28.png 920w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-28-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-28-763x117.png 763w" sizes="(max-width: 920px) 100vw, 920px" /></figure>



<p class="wp-block-paragraph">Q.「MPLS-VPNのPEルータみたいに複数の企業と接続するためにVRFでルーティングを分ける」という理由ならVRFの必要性にうなずける。しかし、SD-WANの場合は１つの会社の拠点間で運用されているので、ルーティングが混ざっても問題ないのではないか？それなのになぜVRFを使うの？</p>



<p class="wp-block-paragraph">A.SD-WANにおけるVRFは「ルーター内部で『アンダーレイ（制御用通信）』と『オーバーレイ（社内データ通信）』を分けるためのセキュリティ壁として利用されている。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>VRF（RI）の名称</strong></td><td><strong>割り振られる役割</strong></td><td><strong>どんな通信が流れるか？</strong></td></tr></thead><tbody><tr><td><strong>トランスポートVRF</strong><br>（コントロールプレーン）</td><td><strong>アンダーレイ</strong><br>（WAN回線そのもの）</td><td>コントローラー（vSmart/vManage）との<strong>mTLS/OMP通信</strong>、拠点間の<strong>IPsecトンネル自体の通信</strong>（WAN側IP）</td></tr><tr><td><strong>サービスVRF</strong><br>（データプレーン）</td><td><strong>オーバーレイ</strong><br>（社内ネットワーク）</td><td>社員が使うパソコン、社内サーバー、業務データ（プライベートIP：192.168.x.xなど）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ループの構成を簡単にすると👇<br><span class="bold-blue">①わからない宛先があった、0.0.0.0は本社IPsecだな！よし、IPsecに入れよう！<br>②よし、カプセル化できたからインターネット経由で流そう！インターネットのルーティングはわからないから0.0.0.0のデフォルトルートで流そう！<br>③ん？デフォルトルートはIPsecに入れるの？<br></span>というように、ループが発生する。<br>なので、そもそも、１つのデフォルトルートを参照し続けるのではなく、ルーティングテーブルを２つ持って、それぞれのデフォルトルートを持てば解決するよねっていう単純な話だったのである。</p>



<h3 class="wp-block-heading"><span id="toc45">Q.もし、VRFを使わないと何が起きるの？</span></h3>



<p class="wp-block-paragraph">SD-WANでVRFが使われるのは制御プレーンとデータプレーンを分けるためという理解はできたが、もし、分けなかったら具体的に何が起きるのかがいまいちイメージできない。なので、それをはっきりさせていこう！</p>



<h4 class="wp-block-heading"><span id="toc46">制御プレーンとデータプレーンのループ（矛盾）が生まれる</span></h4>



<p class="wp-block-paragraph">ルーティングテーブルが1つ（単一のVRF）しかない場合、「トンネルを作るための外側のパケット」<strong>と</strong>「トンネルを通すための内側のパケット」の宛先判断が混ざり、ルーティングの無限ループ（再帰的ルーティングループ）が発生する。具体的には、センタートラフィック集約で、わからないルートはすべて本社のIPsecに流すとい設定をした場合に発生する。ローカルブレイクアウトではこれは起きない。<br>▼具体的な発生メカニズムとフロー<br>前提：<br>　<strong>拠点Aの物理WAN IP：</strong> <code>203.0.113.1</code>（アンダーレイ）<br>　<strong>拠点Bの物理WAN IP：</strong> <code>198.51.100.2</code>（アンダーレイ）<br>　<strong>IPsecトンネル（データプレーン）：</strong> 拠点Aと拠点Bの間に張り、デフォルトルート（<code>0.0.0.0/0</code>）または他拠点宛の経路をトンネル向けに向ける。</p>



<p class="wp-block-paragraph"><strong>①.拠点AのPCから通信が発生:</strong><br><span class="fz-16px">　拠点Aの社内PCが、拠点B宛にデータ（例: <code>10.2.0.5</code>）を送信<br></span><strong>②.IPsecトンネルへルーティング:<br></strong><span class="fz-16px">　拠点Aのエッジルーターはルーティングテーブルを参照<br>　「<code>10.2.0.0/24</code> 宛は IPsecトンネル（<code>ipsec0</code>） に送る」というルールに従い、パケットをトンネルに送る<br></span><strong>③.暗号化と外側ヘッダー（ESP）の付与:<br></strong><span class="fz-16px">　ルーターは元のパケットを暗号化し、対向の物理WAN IP（拠点B: <code>198.51.100.2</code>）へ届けるため、新しいIPヘッダー（送信元: <code>203.0.113.1</code> / 宛先: <code>198.51.100.2</code>）を包み込むように付与（カプセル化）する。<br></span><strong>④.【障害発生】外側パケットの再ルーティング:</strong><br><span class="fz-16px">　カプセル化した「新しいパケット（宛先: <code>198.51.100.2</code>）」を実際にWANポートから物理送信するため、ルーターはもう一度同じルーティングテーブルを参照する。<br>　ここで、OMPや動的ルーティングにより「<code>0.0.0.0/0</code>（全通信）は IPsecトンネル（<code>ipsec0</code>） に送る」という集約ルートや過剰な経路が入っていると、ルーターはこう判断する。<br></span><strong>「<code>198.51.100.2</code> 宛のパケットも、IPsecトンネル（<code>ipsec0</code>）の中に送らなきゃ！」</strong><br><strong>⑤.無限ループ（カプセル化の再帰）:</strong><br><span class="fz-16px">　「暗号化パケット」をさらにIPsecトンネルに送り込むため、ルーターはもう一度暗号化し、さらに外側に新しいIPヘッダーを付与。</span><br>以上👆より、要は、<br><span class="bold-blue">①わからない宛先があった、0.0.0.0は本社IPsecだな！よし、IPsecに入れよう！<br>②よし、カプセル化できたからインターネット経由で流そう！インターネットのルーティングはわからないから0.0.0.0のデフォルトルートで流そう！<br>③ん？デフォルトルートはIPsecに入れるの？<br>というように、ループが発生する。</span></p>



<p class="wp-block-paragraph">結果として「カプセル化されたパケットを、さらにカプセル化してトンネルに投げる」という処理がメモリやCPUの限界まで無限に繰り返され（またはTTL切れで廃棄され）、通信が完全に破綻する。<br>しかし、これはあくまでもデフォルトルート（0.0.0.0/0）をIPsecにすべて流すような<span class="blue">センタートラフィック集約</span>を意図した場合である。ローカルブレイクアウトであれば、パケットがカプセル化（IPsec化）されないため、<span class="blue">「暗号化された外側パケットがもう一度トンネルに吸い込まれる」という現象自体が起こり得ない</span>。</p>



<h3 class="wp-block-heading"><span id="toc47">Q.なぜ普通のルーター（従来のIPsec）はVRFを使わずにループしないのか？</span></h3>



<p class="wp-block-paragraph">ループのメカニズムを確認すると、SD-WANに限った話ではないように感じる。しかし、旧来のIPsecルータはVRFをデフォルトで必要としない。でもループは起きない。ではなぜか？？</p>



<p class="wp-block-paragraph">A.普通のルーター（CiscoのIOSなど）で「全通信（<code>0.0.0.0/0</code>）をIPsecトンネルに投げる」設定をした場合、ルーター内部では特殊な処理（ローカル配送の例外処理）が働いている。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="【従来のルーター内部の例外処理】
1. PCから通信が来る ➔ ルーティングテーブルを見て「0.0.0.0/0 宛てだから Tunnel0（IPsec）へ投げる」
2. ルーターが暗号化して「対向物理IP（200.200.200.200）」を外側に貼り付ける。
3. ★ここがポイント！★
   従来のIPsec（GRE/VTIなど）機能は、「自分自身が生成した暗号化後の物理パケット（宛先: 200.200.200.200）」を、もう一度ルーティングテーブルに通すのではなく、物理WANポート（Ge0/0）へ直接吐き出す特殊なマーク（ソケットバインド）を内部で自動的に行う。" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">【従来のルーター内部の例外処理】</span></span>
<span class="line"><span style="color: #A6E22E">1.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">PCから通信が来る</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">➔</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルーティングテーブルを見て「0.0.0.0/0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">宛てだから</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Tunnel0（IPsec）へ投げる」</span></span>
<span class="line"><span style="color: #A6E22E">2.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルーターが暗号化して「対向物理IP（200.200.200.200）」を外側に貼り付ける。</span></span>
<span class="line"><span style="color: #A6E22E">3.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">★ここがポイント！★</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">従来のIPsec（GRE/VTIなど）機能は、「自分自身が生成した暗号化後の物理パケット（宛先:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">200.200</span><span style="color: #E6DB74">.200.200）」を、もう一度ルーティングテーブルに通すのではなく、物理WANポート（Ge0/0）へ直接吐き出す特殊なマーク（ソケットバインド）を内部で自動的に行う。</span></span></code></pre></div>



<p class="wp-block-paragraph">従来のルーターは「暗号化したパケットは例外的にループ判定から外して物理WANに出す」というOS<span class="blue">内部の泥臭いハードコード（内部実装）</span>によって、単一VRFでもギリギリでループを防いでいた。</p>



<h3 class="wp-block-heading"><span id="toc48">Q.SD-WANにおけるBFDとは？&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="908" height="98" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-29.png" alt="" class="wp-image-8149" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-29.png 908w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-29-300x32.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-29-760x82.png 760w" sizes="(max-width: 908px) 100vw, 908px" /></figure>



<p class="wp-block-paragraph"><strong>Q.どの区間でBFDが実施されるの？</strong><br>A.BFDが実施されるのは拠点間。コントローラとの通信はOMPのKeepAliveを使う。</p>



<p class="wp-block-paragraph"><strong>Q.なんで拠点間はBFDを使うの？<br></strong>A.コントローラとの通信はリアルタイム性がそれほど求められないため、OMPのKeepAliveで十分。一方、拠点間の通信は実際のデータパケットが流れるため、より障害に敏感にならなければならないから。なので、ミリ秒単位で障害を検知できるBFDを使う</p>



<p class="wp-block-paragraph"><strong>Q.IPsecのKeepAlive機能じゃダメなの？<br></strong>A.IPsecにも障害を検知するための機能がある。それがDPD（DeadPeerDetection）である。しかし、それはBFDに比べ、検知が遅く品質も判断できないという粗い精度なので、より高性能なBFDを使っている。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>DPD (Dead Peer Detection)</strong></td><td><strong>BFD (Bidirectional Forwarding Detection)</strong></td></tr></thead><tbody><tr><td><strong>主な目的</strong></td><td><strong>相手機器の生存確認</strong>（切れていればクリーンアップ）</td><td><strong>リンクの超高速障害検知＆回線品質の測定</strong></td></tr><tr><td><strong>検知速度</strong></td><td><strong>遅い</strong>（数秒 〜 30秒程度）</td><td><strong>超爆速</strong>（数十 〜 数百ミリ秒）</td></tr><tr><td><strong>得られる情報</strong></td><td><strong>「生きてる」か「死んでる」かのみ</strong></td><td><strong>生死 ＋ 遅延、パケットロス、ジッター（品質）</strong></td></tr><tr><td><strong>パケットサイズ</strong></td><td>やや大きい（IKE制御用ヘッダー等を含む）</td><td><strong>極小</strong>（約 24〜52 バイト程度の軽量固定長）</td></tr><tr><td><strong>送受信の頻度</strong></td><td>数秒〜数分に1回（またはトラフィック停止時のみ）</td><td><strong>1秒間に数回〜十数回（ミリ秒単位）</strong></td></tr><tr><td><strong>帯域・負荷の合計</strong></td><td>合計パケット数は極小（ミリ秒単位ではないため）</td><td>送信数は多いが、<strong>パケットが小さく専用処理のため負荷は無視できるレベル</strong></td></tr><tr><td><strong>処理エンジン</strong></td><td>コントロールプレーン（CPU処理）</td><td><strong>データプレーン（ASIC/ハードウェア高速処理）</strong></td></tr><tr><td><strong>サイレント障害の検知</strong></td><td><strong>不可能</strong>（パケロス50%でも生きていれば正常判定）</td><td><strong>可能</strong>（パケロスや遅延を測定して劣化を検知）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和6年（2024年）ネスペ午後Ⅰ　問Ⅰ　解答解説</title>
		<link>https://ascend-beyond.com/study/8076/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Fri, 04 Sep 2026 02:48:36 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8076</guid>

					<description><![CDATA[目次 設問２（１）ウ： 大きい　エ： 小さい（３）不正なBGP接続（４）不正な経路に含まれるアドレスブロックへのコンテンツ配信ができなくなる。設問３（１）攻撃パケットを攻撃もとに近いところで遮断できる。（２）より細かい条 [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問２</a><ol><li><a href="#toc2" tabindex="0">（１）ウ： 大きい　エ： 小さい</a></li><li><a href="#toc3" tabindex="0">（３）不正なBGP接続</a></li><li><a href="#toc4" tabindex="0">（４）不正な経路に含まれるアドレスブロックへのコンテンツ配信ができなくなる。</a></li></ol></li><li><a href="#toc5" tabindex="0">設問３</a><ol><li><a href="#toc6" tabindex="0">（１）攻撃パケットを攻撃もとに近いところで遮断できる。</a></li><li><a href="#toc7" tabindex="0">（２）より細かい条件で選別して破棄することができる</a></li></ol></li><li><a href="#toc8" tabindex="0">さらに深いVersion&#8230;.</a><ol><li><a href="#toc9" tabindex="0">p.3 なぜ端末内のデータを暗号化するの？ｰｰｰ</a></li><li><a href="#toc10" tabindex="0">p.3 ロードバランサーの処理フロー（DNSや振り分けなど..）</a></li><li><a href="#toc11" tabindex="0">p.4 CDNを採用する理由は？&#8212;</a></li><li><a href="#toc12" tabindex="0">CDNのフロー</a></li><li><a href="#toc13" tabindex="0">p.4 POPって何？&#8212;</a></li><li><a href="#toc14" tabindex="0">どうやってPOP内部の多数のキャッシュサーバに割り振るの？&#8211;</a></li><li><a href="#toc15" tabindex="0">Q.どうやって最寄りのPOPに引き込むの？DNS設定とかで工夫するの？</a><ol><li><a href="#toc16" tabindex="0">BGP Anycast方式</a><ol><li><a href="#toc17" tabindex="0">BGP Anycastフロー</a></li></ol></li></ol></li><li><a href="#toc18" tabindex="0">Q.BGP Anycastは複数のPOPが同一のIPアドレスを広告している。それが許可されるなら、誰でも偽ったIPを広告できちゃうんじゃないの？（BGPハイジャック）</a><ol><li><a href="#toc19" tabindex="0">① RPKI（Resource Public Key Infrastructure）による暗号署名</a></li><li><a href="#toc20" tabindex="0">② IRR（Internet Routing Registry）での事前登録 </a></li><li><a href="#toc21" tabindex="0">③ 隣接ASでの経路フィルタリング</a></li></ol></li><li><a href="#toc22" tabindex="0">CDNはどうやって大容量通信をさばいているの？&#8212;</a></li><li><a href="#toc23" tabindex="0">p.5 IXとは？&#8212;</a></li><li><a href="#toc24" tabindex="0">いろいろな認証コマンド</a></li><li><a href="#toc25" tabindex="0">p.5 BGPで経路フィルタリングをするには？</a></li><li><a href="#toc26" tabindex="0">p.6 DDoS攻撃とは？&#8212;</a></li><li><a href="#toc27" tabindex="0">p.6 Destination Address RTBH Filteringとは？&#8212;</a><ol><li><a href="#toc28" tabindex="0">▼RTBHのフロー</a></li></ol></li><li><a href="#toc29" tabindex="0">Q.NetFlowはCisco独自？</a></li><li><a href="#toc30" tabindex="0">Q.サーバってBGPを動作できるの？</a></li><li><a href="#toc31" tabindex="0">Q.NetFlowコマンドにすると？&#8212;</a></li><li><a href="#toc32" tabindex="0">p.7 BGPコミュニティ属性ってなに？&#8212;</a><ol><li><a href="#toc33" tabindex="0">▼RTBHフロー</a></li></ol></li><li><a href="#toc34" tabindex="0">Q.NLRI（Network Layer Reachability Information）とは？</a></li><li><a href="#toc35" tabindex="0">p.7 BGP Flowspecとは？&#8212;</a><ol><li><a href="#toc36" tabindex="0">▼BGP Flowspecのフロー</a></li><li><a href="#toc37" tabindex="0">▼RTBHとBGP Flowspecの違い</a></li></ol></li><li><a href="#toc38" tabindex="0">p.6 図３の構成について疑問をいろいろ解消したい&#8230;</a><ol><li><a href="#toc39" tabindex="0">Q.どうやって適切なLBまで運ぶの？FWとかルータが記憶しておかなきゃダメなの？</a></li></ol></li><li><a href="#toc40" tabindex="0">Q.なんでLBが複数あるの？</a></li><li><a href="#toc41" tabindex="0">Q.インターネット→ルータ→FW→LB→キャッシュサーバのパケットフロー</a></li><li><a href="#toc42" tabindex="0">Q.ルータ、FW、LBを冗長化しても必ず同じキャッシュサーバに到達するのはなぜ？</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）ウ： 大きい　エ： 小さい</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="932" height="106" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-7.png" alt="" class="wp-image-8088" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-7.png 932w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-7-300x34.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-7-765x87.png 765w" sizes="(max-width: 932px) 100vw, 932px" /></figure>



<p class="wp-block-paragraph">これは知識問題。LOCAL＿PREFは大きな値が優先され、MEDは小さな値が優先される。</p>



<p class="wp-block-paragraph"><strong>▼設定方法</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#Local-Preference
route-map ルートマップ名 permit シーケンス番号
 set local-preference 値　#デフォルト値は100

router bgp AS番号
 neighbor ネイバーIP route-map ルートマップ名　in
 
 
 
#MED
route-map ルートマップ名 permit シーケンス番号
 set metric 値　#デフォルト値は0
 
router bgp AS番号
 neighbor ネイバーIP route-map ルートマップ名　out" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#Local-Preference</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">local-preference</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">値　#デフォルト値は100</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名　in</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#MED</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">metric</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">値　#デフォルト値は0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルートマップ名　out</span></span></code></pre></div>



<h3 id="husei" class="wp-block-heading"><span id="toc3">（３）不正なBGP接続</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="927" height="113" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-8.png" alt="" class="wp-image-8089" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-8.png 927w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-8-300x37.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-8-763x93.png 763w" sizes="(max-width: 927px) 100vw, 927px" /></figure>



<p class="wp-block-paragraph">隣接ASのBGPルータとMD５認証のための共通のパスワードを設定することで、「不正なBGP接続」を防ぐことができる。</p>



<p class="wp-block-paragraph">Q.なんで不正なBGP接続を防ぎたいの？<br>A.「不正な経路の混入（Route Hijacking）」<strong>や</strong>「誤った経路の流出・漏洩（Route Leak）」を防ぐため。</p>



<p class="wp-block-paragraph"><strong>▼設定方法</strong><br>*OSPFやEIGRPの認証方法が気になる場合は<a href="#authentication" data-type="internal" data-id="#authentication">こちら</a></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#認証設定方法（シンプルバージョン）-------------------------------
router bgp AS番号
neighbor 192.0.2.2 password MySecretPassword123

#認証設定方法（キーチェーンを使うバージョン）-----------------------
key chain キーチェイン名
 key キー番号
  key-string パスワード
  send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026

 key キー番号
  key-string パスワード
  send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  
router bgp 65001
 neighbor 192.0.2.2 password encrypted-key-chain キーチェイン名
  
#send-lif：このカギを送信時に使う期間
#accept-lifetime:このカギを受信時に使う期間" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#認証設定方法（シンプルバージョン）-------------------------------</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.2</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MySecretPassword123</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#認証設定方法（キーチェーンを使うバージョン）-----------------------</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キー番号</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">send-life</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">accept-lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キー番号</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">send-life</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">accept-lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65001</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.2</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">encrypted-key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #88846F">#send-lif：このカギを送信時に使う期間</span></span>
<span class="line"><span style="color: #88846F">#accept-lifetime:このカギを受信時に使う期間</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc4">（４）不正な経路に含まれるアドレスブロックへのコンテンツ配信ができなくなる。</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="924" height="106" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-9.png" alt="" class="wp-image-8092" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-9.png 924w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-9-300x34.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-9-767x88.png 767w" sizes="(max-width: 924px) 100vw, 924px" /></figure>



<p class="wp-block-paragraph">Q.不正な経路が混入するとネットワークではどのようなことが起きてしまうのか？<br>A.以下のメカニズムを見ていこう！<br><strong>１．不正な経路の受取： <br></strong>　悪意あるAS（あるいは設定ミスのAS）から、「このIPアドレスブロック（例：<code>203.0.113.0/24</code>）宛ての通信は俺のところ（不正なAS）に送れ！」というBGP UPDATEメッセージが届きます。<br><strong>２．ルーティングテーブルの汚染： <br></strong>　E社のBGPルーターがフィルタリングせずにそれを受け取ってしまうと、正しい行き先ではなく、不正なAS宛ての経路を「正解」として登録してしまいます。<br><strong>３．トラフィックの迷子（ブラックホール化 / 盗聴）：<br></strong>　 E社（PoP）からゲーム端末（ユーザー）へコンテンツデータ（ゲーム配信等）を送ろうとした際、不正な経路に従って送信されるため、データは本物のユーザーへ届かず、途中で破棄（Null）されるか、攻撃者のルーターへ吸い込まれて到達不可になります。</p>



<h2 class="wp-block-heading"><span id="toc5">設問３</span></h2>



<h3 class="wp-block-heading"><span id="toc6">（１）攻撃パケットを攻撃もとに近いところで遮断できる。</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="785" height="530" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-3.jpg" alt="" class="wp-image-8114" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-3.jpg 785w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-3-300x203.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-3-767x518.png 767w" sizes="(max-width: 785px) 100vw, 785px" /></figure>



<p class="wp-block-paragraph">RTBHを使うとBGPルータ（エッジルータ）でパケットをドロップさせることができる。以下のような特徴があるので、見てみよう。</p>



<ul class="wp-block-list">
<li><strong>「ファイアウォール（FW1）に届く前」</strong> ➔  FW1でフィルタリング（ACL等）をする場合、攻撃パケットは「BGPルータ1 ➔ 中間ルータ ➔ FW1」まで届いてしまう。RTBHを使えば、FW1どころか中間ルータや内部回線を圧迫する前に破棄できる。</li>



<li><strong>「エッジルーター（BGPルータ1）で破棄できる」</strong> ➔  POPの最前線（インターネットとの境界）にある <strong>BGPルータ1</strong> の段階で <code>Null0</code>（ペイツー/廃棄）に送るため、内部ネットワークへ侵入することを防止できる。</li>



<li><strong>「攻撃元に近いところで遮断できる」の意味：</strong> FW1という「システムの奥側（内部）」と比較した時に、インターネットとの境界線である「入口（BGPルータ1）」という<strong>より攻撃元（インターネット側）に近い最前線で遮断できる</strong>という意味。</li>
</ul>



<p class="wp-block-paragraph">要は「FW1まで届かせることなく、入口であるBGPルータ1（エッジ）で即座に破棄できるため、FW1や内部帯域への負荷を防げる」という理解でOK！</p>



<h3 class="wp-block-heading"><span id="toc7">（２）より細かい条件で選別して破棄することができる</span></h3>



<p class="wp-block-paragraph">BGP FlowspecはRTBHよりも細かなフィルタリングが可能。以下、RTBHの限界とFlowspecの進化を見ていこう！<br>▼<strong>RTBH（Remotely Triggered Black Hole）の限界</strong><br><span class="fz-16px">従来のBGP（NLRI）は「IPプレフィックス（宛先IP）」しか広報できなかった。そのため、特定の宛先IP宛ての通信を丸ごと <code>Null0</code> へ引き込んで破棄するしかなく、正常なユーザーの通信まで巻き添えで遮断（共倒れ）してしまうという弱点があった。</span><br><br>▼<strong>BGP Flowspec（Flow Specification）の進化</strong><br><span class="fz-16px">・<strong>MP-BGP（拡張NLRI）の利用:</strong> 宛先IPだけでなく、「送信元IP」「プロトコル（TCP/UDP等）」「送信元/宛先ポート番号」「ICMPタイプ」といったL3/L4の複数条件（フロー情報）をNLRIに乗せて送信可能になった。<br>・<strong>BGP拡張コミュニティ属性（Extended Community）の利用:</strong> そのフローに対してどのような処理を行うかという「アクション（Discard/破棄、Rate-limit/帯域制限など）」を一緒に伝達できる。<br>・<strong>動的ACLの生成:</strong> ルータ（BGPルータ）はこれを受け取ると、内部で<strong>動的にACL（アクセスリスト）をインストール</strong>し、ピンポイントなトラフィックだけをフィルタリングする。</span></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">さらに深いVersion&#8230;.</span></h2>



<h3 class="wp-block-heading"><span id="toc9">p.3 なぜ端末内のデータを暗号化するの？ｰｰｰ</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="89" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image.png" alt="" class="wp-image-8077" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-300x32.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-761x81.png 761w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">Q.正直、端末内にあるデータを暗号化する必要性が分からない。。<br>別にプライバシー情報が入力されていたりするわけじゃないのに。。。<br>A.データの改ざんを防ぐため。平文で保存するとユーザがテキストエディタや専用ツールでセーブファイルを開き、「所持金：999999」「スコア：999999」のように簡単に書き換えられてしまいます。暗号化しておくことで、ファイルの直接編集を困難にする。</p>



<h3 class="wp-block-heading"><span id="toc10">p.3 ロードバランサーの処理フロー（DNSや振り分けなど..）</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="731" height="439" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-2.png" alt="" class="wp-image-8079" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-2.png 731w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-2-300x180.png 300w" sizes="(max-width: 731px) 100vw, 731px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="838" height="239" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-3.png" alt="" class="wp-image-8080" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-3.png 838w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-3-300x86.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-3-768x219.png 768w" sizes="(max-width: 838px) 100vw, 838px" /></figure>



<p class="wp-block-paragraph">１．クライアントは203.x.11.21へアクセスする<br>２．LBはURLをもとに適切な内部サーバへ割り振る<br><span class="fz-16px">１つのIPアドレスで３つのサービスを運用する場合は、Hostヘッダフィールドを確認することで適切な宛先をLBが判断できるようになる。</span><br>３．内部サーバが処理</p>



<p class="wp-block-paragraph">このような流れでLBはサービス提供の通信を支えている。</p>



<h3 class="wp-block-heading"><span id="toc11">p.4 CDNを採用する理由は？&#8212;</span></h3>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="836" height="117" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-4.png" alt="" class="wp-image-8081" style="width:836px;height:auto" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-4.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-4-300x42.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-4-765x107.png 765w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">Q.グローバル化と大容量化するとCDNを導入した方がいいの？なんで？<br>A.👇<br><strong>グローバル化への効果：</strong> 世界各地の最寄りPOPから配信し、「物理的な距離による遅延（レイテンシー）」を減らす。<br><strong>大容量化への効果：</strong> キャッシュサーバーが配信を肩代わりし、自社インフラの「回線帯域とサーバー負荷のパンク」を防ぐ。</p>



<h3 class="wp-block-heading"><span id="toc12">CDNのフロー</span></h3>



<p class="wp-block-paragraph">１．企業AとCDN事業者Bが契約する<br>２．企業A側がDNS設定で、当該サービスのIPアドレスをCDN事業者宛てのIPに変える<br>３．最初の1人目が東京のPOPにアクセスする。<br>４．東京POPは「あれ？このファイル（ゲームα）持ってないな」となり、D社のデータセンター（オリジン）へ1回だけ取りに行く（ここで1回だけD社〜POP間で大容量通信が発生）。<br>５．東京POPは受け取ったデータをキャッシュ（保存）しつつ、1人目のユーザーに渡す。<br>６．2人目〜10万人目のユーザーが東京POPにアクセスする。<br>７．東京POPは自分の手元にあるキャッシュを渡すだけ。D社のデータセンターへは1回もアクセスがいかない。<br>８．もしシンガポールからの要求があった場合はシンガポールPOPが対応する。シンガポールPOPに情報がない場合は、オリジンへの大容量通信が１度だけ発生する。</p>



<h3 class="wp-block-heading"><span id="toc13">p.4 POPって何？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="892" height="82" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-6.png" alt="" class="wp-image-8087" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-6.png 892w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-6-300x28.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-6-761x70.png 761w" sizes="(max-width: 892px) 100vw, 892px" /></figure>



<p class="wp-block-paragraph">Q.POPってなに？CDNを勉強すると、必ずと言っていいほど頻出するこの単語。なんとなくは理解しているつもりだけど、詳細はいまいちわかっていない。。。<br>A.POP（Point Of Presence）の略。PoPは単一の物理サーバーではなく、「CDN事業者が各地のデータセンター内に置いている<span class="blue">設備一式</span>（物理的な拠点・ラック群）」のこと。<br>PoPの中身は、大きく分けて<strong>2つの役割の機器</strong>で構成されている。<br>　<strong>・ロードバランサー（LB）：</strong> 拠点（PoP）の入り口に立つ交通整理役<br>　・<strong>多数のキャッシュサーバー：</strong> 実際にWebページやゲームファイルを保存して配信するサーバー群（数十〜数百台）</p>



<h3 class="wp-block-heading"><span id="toc14">どうやってPOP内部の多数のキャッシュサーバに割り振るの？&#8211;</span></h3>



<p class="wp-block-paragraph">Q.POP内部には多数のキャッシュサーバが配置されている。多数のキャッシュサーバーがある中で、どうやって目的のサーバーまで辿り着き、複数の会社（マルチテナント）のデータを区別しているの？<br>A.結論から言うと、「特定の会社専用のキャッシュサーバーがあるわけではなく、どのキャッシュサーバーも全会社のデータを扱える」のがカラクリ。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="[ ユーザーのリクエスト ]
  │  HTTP Header ──&gt;  Host: alpha.example.net (D社のゲーム)
  ▼
【 1. LB (ロードバランサー) の処理 】
  │  ・Hostヘッダーを見る必要は必ずしもない（単に「暇なサーバー」を選ぶだけ）
  │  ・IPレベル/TCPレベルで、一番負荷が低い「キャッシュサーバー3」へ丸投げ
  ▼
【 2. キャッシュサーバー3 の処理 】
  │  ・届いたHTTPリクエストの「Host: alpha.example.net」をチェック
  │  ・自機のディスク/メモリ内を検索：「D社のデータはあるか？」
  │
  ├─ [ パターンA：キャッシュ有り (Hit) ]
  │      保存してあるデータをそのままユーザーへ返却して終了！
  │
  └─ [ パターンB：キャッシュ無し (Miss) ]
         D社のオリジンサーバーへデータを取りに行き(同期)、
         自分のストレージに保存してからユーザーへ返却！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[ ユーザーのリクエスト ]</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">HTTP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Header</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">─</span><span style="color: #F8F8F2">─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">alpha.example.net</span><span style="color: #F8F8F2"> (D社のゲーム)</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">▼</span></span>
<span class="line"><span style="color: #A6E22E">【</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #E6DB74">.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">LB</span><span style="color: #F8F8F2"> (ロードバランサー) の処理 】</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">・Hostヘッダーを見る必要は必ずしもない（単に「暇なサーバー」を選ぶだけ）</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">・IPレベル/TCPレベルで、一番負荷が低い「キャッシュサーバー3」へ丸投げ</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">▼</span></span>
<span class="line"><span style="color: #A6E22E">【</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2</span><span style="color: #E6DB74">.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キャッシュサーバー3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">の処理</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">】</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">・届いたHTTPリクエストの「Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">alpha.example.net」をチェック</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">・自機のディスク/メモリ内を検索：「D社のデータはあるか？」</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">├─</span><span style="color: #F8F8F2"> [ </span><span style="color: #E6DB74">パターンA：キャッシュ有り</span><span style="color: #F8F8F2"> (Hit) ]</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span><span style="color: #F8F8F2">      </span><span style="color: #E6DB74">保存してあるデータをそのままユーザーへ返却して終了！</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">│</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">└─</span><span style="color: #F8F8F2"> [ </span><span style="color: #E6DB74">パターンB：キャッシュ無し</span><span style="color: #F8F8F2"> (Miss) ]</span></span>
<span class="line"><span style="color: #F8F8F2">         </span><span style="color: #A6E22E">D社のオリジンサーバーへデータを取りに行き(同期</span><span style="color: #F8F8F2">)、</span></span>
<span class="line"><span style="color: #F8F8F2">         </span><span style="color: #A6E22E">自分のストレージに保存してからユーザーへ返却！</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>ポイント：会社の特定は「キャッシュサーバー」がやるということ</strong><br>。。。ん？どうやって？<br>A.URL（ホスト名＋パス）をラベルにした巨大なメモ書き（データベース）をサーバ内に持っておく。初学者が持つイメージは「①あ、このURLってことは、②この会社で、この会社ってことはサーバ内の③この領域で、で、その領域の④ここにデータが配置されている！」みたいなステップをイメージする。しかし、実際は「あ、このURLね。データベースで検索して、あ、このデータね！」という極めて単純なステップで解決する。</p>



<h3 class="wp-block-heading"><span id="toc15">Q.どうやって最寄りのPOPに引き込むの？DNS設定とかで工夫するの？</span></h3>



<p class="wp-block-paragraph">A.POPを経由させるにはBGP Anycast方式がある。</p>



<h4 class="wp-block-heading"><span id="toc16">BGP Anycast方式</span></h4>



<p class="wp-block-paragraph">　仕組み：世界中にあるすべてのPoP（東京、シンガポールなど）が、<strong>全く同じIPアドレス</strong>をインターネット上にBGPで経路広告する。<br>　ルーティング：ユーザーがそのIPアドレスにアクセスすると、インターネット上のルーターがBGPの仕組み（経路長など）に基づき、<strong>自動的に物理的・ネットワーク的に最も近いPoPへパケットを誘導</strong>する。<br>　特徴：DNSでアクセス先を切り替える必要すらなく、IPアドレスレベルで自動的に最寄りのPoPに届く。</p>



<h5 class="wp-block-heading"><span id="toc17">BGP Anycastフロー</span></h5>



<p class="wp-block-paragraph">１．企業A社とCDN事業社Bが契約する<br>２．BがAにアドレスブロックを割り当てる<br>３．AがDNS設定で、オリジンサーバ宛てのIPをB社から割り当てられたIPに変更する<br>４．B社の複数POPがBGPで当該IPを広告する<br>５．BGPの経路選択によって最寄りもPOPが使われるようになる。</p>



<h3 class="wp-block-heading"><span id="toc18">Q.BGP Anycastは複数のPOPが同一のIPアドレスを広告している。それが許可されるなら、誰でも偽ったIPを広告できちゃうんじゃないの？（BGPハイジャック）</span></h3>



<p class="wp-block-paragraph">確かに、複数の拠点で同一のIPアドレスを広告できてしまうなら誰でも、例えばGoogleのIPを広告できたりとかしちゃえるのでは？と疑問が出る。そういった不正を防ぐ工夫がBGPには用意されている。では、見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc19">① RPKI（Resource Public Key Infrastructure）による暗号署名</span></h4>



<p class="wp-block-paragraph"> IPアドレスの所有者（例: E社）は、<span class="blue">レジストリ</span>（APNICやJPNICなど）に「このIPアドレスブロックは、AS-Eだけが広告できる」という<span class="blue">デジタル証明書</span>（ROA）を登録します。他のASが勝手に広告しても、暗号的に署名が一致しないため無効（Invalid）として世界中で破棄されます。</p>



<p class="wp-block-paragraph">＊レジストリ：世界中のIPアドレス、AS番号を割り振っている元締めのこと。「このIPアドレス範囲はこの組織に貸し出したものだ！」とかを一元管理している。</p>



<h4 class="wp-block-heading"><span id="toc20">② IRR（Internet Routing Registry）での事前登録 </span></h4>



<p class="wp-block-paragraph">プロバイダ同士がBGPで接続する際、「どのIPアドレスを広告する予定か」を<span class="blue">データベース（IRR）</span>に事前登録します。登録にないIPを勝手に広告しても、接続先のプロバイダでブロックされます。</p>



<h4 class="wp-block-heading"><span id="toc21">③ 隣接ASでの経路フィルタリング</span></h4>



<p class="wp-block-paragraph">BGPルーターは、受け取った経路情報が「事前契約された正規のIPアドレスとAS番号の組み合わせ」と一致するかを常にチェックし、一致しない不正な経路はフィルタリング（遮断）します。</p>



<h3 class="wp-block-heading"><span id="toc22">CDNはどうやって大容量通信をさばいているの？&#8212;</span></h3>



<p class="wp-block-paragraph">Q.CDNは企業側サーバに負担がかかるのを減らすために利用される。要は、企業側の負担がすべてCDNに降りかかることになる。そのような大容量をCDNではどうやってさばいているの？もし、それができるなら、企業側もその技術使っちゃえばいいじゃん？<br><strong>A.超大規模なインフラと帯域のバルク買い（スケールメリット）</strong><br>CDN事業者（CloudflareやAkamaiなど）は、世界中の主要な<span class="blue">IX</span>（インターネットエクスチェンジ：プロバイダ同士の交差点）や<span class="blue">大手ISP</span>（NTT、KDDI等）の<span class="blue">データセンター内部に直接自社のサーバー（PoP）を設置している</span>。テラビット級（Tbps）の超絶に太い回線と何千台ものサーバーを抱えており、個人企業とは桁違いのインフラ規模を持っている。</p>



<p class="wp-block-paragraph">Q.「<span class="blue">データセンター内部に直接自社のサーバー（PoP）を設置している</span>」とは？<br>A.CDN事業者が、ISPやデータセンター事業者の「コロケーションサービス（場所や電源を借りる仕組み）」を利用して、相手の建物内に自社のPoP（サーバー群）を設置しているということ。<br>特に大手ISPに対しては、お互いに通信コストを削減できるメリットがあるため、ISP側から「お願いだからうちの設備内にPoPを置いてください！」と連携を打診されるケースもある。</p>



<h3 class="wp-block-heading"><span id="toc23">p.5 IXとは？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="934" height="425" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-5.png" alt="" class="wp-image-8086" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-5.png 934w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-5-300x137.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-5-767x349.png 767w" sizes="(max-width: 934px) 100vw, 934px" /></figure>



<p class="wp-block-paragraph">各プロバイダ（A社、B社、C社…）やコンテンツ事業者（Google、Amazon、Cloudflare等）が、それぞれ1本ずつIXの設備（巨大なL2スイッチ）に回線を差し込む場所。これによって、高額な上位回線（トランジット）を経由しなくてもIXに参加している事業者同士で直接BGPの経路情報（「このIP宛てはうちへ送って！」）を交換できるようになった。</p>



<h3 id="authentication" class="wp-block-heading"><span id="toc24">いろいろな認証コマンド</span></h3>



<p class="wp-block-paragraph"><a href="#husei" data-type="internal" data-id="#husei">p.5でBGPに関する認証が出てきた</a>。なので、ついでにOSPFやEIGRPの認証方法も学んでおこう！</p>



<p class="wp-block-paragraph"><strong>▼OSPF設定方法</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#インタフェース単位のMD5認証
int g0/0
ip ospf authentication message-digest #MD5認証の有効化
ip ospf message-digest-key キーID md5 パスワード #キーIDとパスワードの設定

#インタフェース単位の平文認証
int g0/0
ip ospf authentication
ip ospf authentication-key パスワード

#エリア単位の認証
router ospf 1
 area 0 authentication message-digest #エリアでMD5認証を有効化する

int g0/0
 ip ospf message-digest-key キーID md5 パスワード
 
#キーチェインを使う場合
key chain キーチェイン名
 key キー番号
  key-string パスワード
  cryptographic-algorithm hmac-sha-256
  send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026

int g0/0
 ip ospf authentication key-chain キーチェイン名" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#インタフェース単位のMD5認証</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#MD5認証の有効化</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#キーIDとパスワードの設定</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#インタフェース単位の平文認証</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#エリア単位の認証</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#エリアでMD5認証を有効化する</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#キーチェインを使う場合</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キー番号</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">send-life</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">accept-lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>▼BGP設定方法</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#認証設定方法（シンプルバージョン）-------------------------------
router bgp AS番号
neighbor 192.0.2.2 password MySecretPassword123

#認証設定方法（キーチェーンを使うバージョン）-----------------------
key chain キーチェイン名
 key キー番号
  key-string パスワード
  send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026

 key キー番号
  key-string パスワード
  send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
  
router bgp 65001
 neighbor 192.0.2.2 password encrypted-key-chain キーチェイン名
  
#send-lif：このカギを送信時に使う期間
#accept-lifetime:このカギを受信時に使う期間" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#認証設定方法（シンプルバージョン）-------------------------------</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.2</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MySecretPassword123</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#認証設定方法（キーチェーンを使うバージョン）-----------------------</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キー番号</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">send-life</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">accept-lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キー番号</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">send-life</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">accept-lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">00</span><span style="color: #E6DB74">:00:00</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Jan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">23</span><span style="color: #E6DB74">:59:59</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Dec</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">31</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2026</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65001</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.2</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">encrypted-key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #88846F">#send-lif：このカギを送信時に使う期間</span></span>
<span class="line"><span style="color: #88846F">#accept-lifetime:このカギを受信時に使う期間</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>▼EIGRP設定方法</strong><br>＊EIGRPはキーチェインの設定が必須</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#HMAC-SHA-256バージョン
key chain キーチェイン名
 key 1
  key-string MyEigrpPassword123
  cryptographic-algorithm hmac-sha-256

int g0/0
 ip authentication mode eigrp 100 hmac-sha-256 キーチェイン名
 
#MD5バージョン
key chain キーチェイン名
 key 1
  key-string MyEigrpPassword123
  cryptographic-algorithm hmac-sha-256
  
int g0/0
 ip authentication mode eigrp 100 md5
 ip authentication key-chain eigrp 100 キーチェイン名" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#HMAC-SHA-256バージョン</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MyEigrpPassword123</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#MD5バージョン</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MyEigrpPassword123</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc25">p.5 BGPで経路フィルタリングをするには？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="927" height="94" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-10.png" alt="" class="wp-image-8093" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-10.png 927w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-10-300x30.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-10-759x77.png 759w" sizes="(max-width: 927px) 100vw, 927px" /></figure>



<p class="wp-block-paragraph">本文中に、不正経路の混入を防ぐためにフィルタリング設定を行っている旨の記述がある。これを実際にどうやっているのかを見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．アドレスブロックの偽装を防ぐ手法</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip prefix-list プレフィックス名 seq シーケンス番号 permit IPアドレス/数字

router bgp AS番号
 neighbor ピアIP prefix-list プレフィックス名 in" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プレフィックス名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">seq</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">IPアドレス/数字</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ピアIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プレフィックス名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span></span></code></pre></div>



<p class="wp-block-paragraph">上記のコマンドを実施することによって、接続先ASが持つプレフィックスのみを取得できる。これによって、対向ルータから8.8.8.8などの経路が送られてきてもdropできる。</p>



<p class="wp-block-paragraph"><strong>２．AS番号の偽装を防ぐ手法</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip as-path access-list ACL名 permit 正規表現

router bgp AS番号
 neighbor ピアIP filter-list ACL名 in" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">as-path</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">access-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ACL名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">正規表現</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ピアIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">filter-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ACL名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span></span></code></pre></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>記号</strong></td><td><strong>意味・役割</strong></td><td><strong>例と解説</strong></td></tr></thead><tbody><tr><td><strong><code>^</code></strong></td><td><strong>行の先頭</strong>（最初のAS）</td><td><code>^65002</code> ＝ 隣接（直前）のASが 65002 である</td></tr><tr><td><strong><code>$</code></strong></td><td><strong>行の末尾</strong>（起点・発生元のAS）</td><td><code>65002$</code> ＝ 経路を発生させた起点ASが 65002 である</td></tr><tr><td><strong><code>_</code></strong></td><td><strong>区切り文字</strong>（スペース、カンマ、行頭、行末など）</td><td><code>_65002_</code> ＝ 途中に AS 65002 が含まれている</td></tr><tr><td><strong><code>.</code></strong></td><td><strong>任意の1文字</strong></td><td><code>.</code> ＝ 数字や記号なんでも1文字</td></tr><tr><td><strong><code>*</code></strong></td><td><strong>直前の文字の0回以上の繰り返し</strong></td><td><code>.*</code> ＝ 任意の文字列（何があってもOK）</td></tr><tr><td><strong><code>+</code></strong></td><td><strong>直前の文字の1回以上の繰り返し</strong></td><td><code>65002+</code> ＝ 65002 が1回以上連続（AS PATH Prependの検知）</td></tr><tr><td>100 200 300</td><td>AS-PATHは左に追加されていく。つまり、300が発信源で200→100を経由して辿りついたルートだとわかる。</td><td></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>3. より高度な現代のフィルタリング（RPKI・ROA）</strong></p>



<p class="wp-block-paragraph">手動のリスト（Prefix-list）更新だと追いつかない大規模なインターネット（IX等）では、RPKI（Resource Public Key Infrastructure）という暗号署名データベースを使った自動フィルタリングも広く使われる。<br><strong>仕組み：</strong> 「このIPアドレスブロックは本当にこのAS番号の所有者か？」をIRR（Internet Routing Registry）やRPKIで自動照合し、偽装された不一致経路（Invalid）をルータが自動でドロップする。</p>



<h3 class="wp-block-heading"><span id="toc26">p.6 DDoS攻撃とは？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="516" height="54" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-11.png" alt="" class="wp-image-8097" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-11.png 516w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-11-300x31.png 300w" sizes="(max-width: 516px) 100vw, 516px" /></figure>



<p class="wp-block-paragraph">Q.キャッシュサーバーなどを勉強していると必ずと言っていいほど、DoS、DDoS攻撃を耳にする。なんとなく、サービスを妨害する攻撃なのかなぁというニュアンスはわかっても、いまいちピンとこない。。いったい何なの？<br>A.サービスの提供を妨害・停止させる攻撃全般をDoS、DDoS攻撃という。中にはアプリケーション層の攻撃のみをDoSとしてとらえてしまう人もいるが、<span class="blue">レイヤー（層）に関係なく、サービスの提供を妨害・停止させる攻撃全般をDoS/DDoS攻撃</span>という。アプリケーション層（L7）だけでなく、トランスポート層（L4）の SYN フラッディングや、ネットワーク層（L3）の ICMP フラッディングもすべて立派な DoS / DDoS 攻撃になる。<br><strong>▼DoSとDDoSの違い<br></strong>DoS（Denial of Service）： 1台の端末から攻撃を仕掛け、サービスを不能（拒否状態）にする。DDoS（Distributed Denial of Service）： 攻撃者がマルウェアなどで乗っ取った複数台（ボットネット）から一斉に攻撃を仕掛ける。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>レイヤー</strong></td><td><strong>攻撃手法の例</strong></td><td><strong>パンクさせる対象（リソース）</strong></td><td><strong>DoS / DDoSになるか？</strong></td></tr></thead><tbody><tr><td><strong>L3（ネットワーク層）</strong></td><td>ICMP フラッディング（Pingの大量送信）</td><td>ネットワーク回線の帯域、ルーターの処理能力</td><td><strong>なる</strong>（帯域圧迫型）</td></tr><tr><td><strong>L4（トランスポート層）</strong></td><td>SYN フラッディング、UDP フラッディング</td><td>サーバーのコネクションテーブル、メモリ</td><td><strong>なる</strong>（リソース枯渇型）</td></tr><tr><td><strong>L7（アプリケーション層）</strong></td><td>HTTP GET/POST フラッディング、DNSアンプ</td><td>Web/DBサーバーのCPU、アプリケーション</td><td><strong>なる</strong>（高負荷処理型）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">p.6 Destination Address RTBH Filteringとは？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="922" height="152" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-12.png" alt="" class="wp-image-8098" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-12.png 922w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-12-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-12-764x126.png 764w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<p class="wp-block-paragraph">Q.Destination Address RTBH Filteringってなに？<br>A.Destination Address RTBH Filteringは通常、RTBHやブラックホールルーティング、D-RTBHと呼ばれたりする。ちなみにRTBHはRemote Triggered Black Holeの略。<br><strong>目的：<br></strong>　DDoS攻撃の対象となっている「攻撃を受けているサーバー（被害者）」宛ての通信を、<span class="blue">ネットワークの入り口（エッジルーター）</span>で強制的に破棄（Null0へ転送）し、ISP全体の回線や内部ルーターがダウンする連鎖障害を防ぐことです。<br>＊自社でBGP運用している場合は、自社の最前線ルータでRTBHを動作させる。一方、ISPのアクセス回線を使っている場合は、ISP側が破棄してくれる。</p>



<h4 class="wp-block-heading"><span id="toc28">▼RTBHのフロー</span></h4>



<p class="wp-block-paragraph"><strong>０．事前準備（DoS/DDoS発生前）<br></strong>　ネットワーク内の全ルータで<span class="blue">ダミーIP（例：192.0.2.1）を同一</span>にして、かつそのネクストホップを<span class="blue">Nullに設定</span>したスタティックルートを作成する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip route 192.0.2.1 255.255.255.0 Null" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Null</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>１．DoS/DDoSの発生と検知</strong><br>　攻撃者が大量のボットを使って、自社の特定サーバー（例: <code>10.1.1.50/32</code>）へ一斉攻撃を仕掛けてくる。<br>　運用者（または自動検知システム）が「<code>10.1.1.50</code> が攻撃を受けている！」と特定する<br><strong>２．トリガールータからのBGP広告<br></strong>　運用者が<span class="blue">管理用（トリガー）ルーター</span>1台から、ピアに向けてBGPで更新情報を飛ばす。<br>　<strong>広報するメッセージ：</strong><br>　　・宛先（Prefix）：<code>10.1.1.50/32</code><br>　　・ネクストホップ（NEXT_HOP）：<code>192.0.2.1</code>（共通のダミーIP）</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#攻撃対象（203.0.113.50）宛てのネクストホップをダミーIP（192.0.2.1）にするスタティックルートを設定
ip route 203.0.113.50 255.255.255.255 192.0.2.1

#1. 該当のスタティックルートを引っかけるACLを作成
access-list 10 permit 203.0.113.50

#2. Route-map を定義し、NEXT_HOP 属性をダミーIPに書き換える
route-map RTBH-MAP permit 10
 match ip address 10
 set ip next-hop 192.0.2.1
 set community no-export        ! （任意）外部ASへ勝手に漏れないよう制限
 
#router bgp 65000
 bgp router-id 1.1.1.1
 neighbor 10.0.0.2 remote-as 65000
 #スタティックルートを Route-map を適用しながら BGP へ取り込む（再配送）
 redistribute static route-map RTBH-MAP
 
 #攻撃が収まったらルートを削除。これにより自動でwithdrawnが流れる
 no ip route 203.0.113.50 255.255.255.255 192.0.2.1" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#攻撃対象（203.0.113.50）宛てのネクストホップをダミーIP（192.0.2.1）にするスタティックルートを設定</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0</span><span style="color: #E6DB74">.113.50</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#1. 該当のスタティックルートを引っかけるACLを作成</span></span>
<span class="line"><span style="color: #A6E22E">access-list</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0</span><span style="color: #E6DB74">.113.50</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#2. Route-map を定義し、NEXT_HOP 属性をダミーIPに書き換える</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">RTBH-MAP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">next-hop</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">community</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">no-export</span><span style="color: #F8F8F2">        </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">（任意）外部ASへ勝手に漏れないよう制限</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#router bgp 65000</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">router-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1</span><span style="color: #E6DB74">.1.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.2</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">remote-as</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#スタティックルートを Route-map を適用しながら BGP へ取り込む（再配送）</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">redistribute</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">static</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">RTBH-MAP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#攻撃が収まったらルートを削除。これにより自動でwithdrawnが流れる</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">no</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0</span><span style="color: #E6DB74">.113.50</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.1</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．エッジルーターのテーブル更新</strong> <br>　BGPメッセージを受け取った各エッジルーターは、自身のBGPテーブル・ルーティングテーブルを自動更新する。<br>　<strong>書き換わったルール：</strong> 「<code>10.1.1.50</code> 宛てのパケットは、ネクストホップ <code>192.0.2.1</code> へ転送せよ」<br><strong>４．入り口での即時ブロック（再帰検索）<br></strong>　外部（インターネット）から <code>10.1.1.50</code> 宛ての攻撃パケットがエッジルーターに届く。<br>　エッジルーターの内部処理：<br>　　<strong>パケットをその場で破棄（Drop）。</strong><br>　　「宛先は <code>10.1.1.50</code> か。ネクストホップは <code>192.0.2.1</code>（ダミーIP）だな」<br>　　「<code>192.0.2.1</code> の行き先は……（事前設定を参照）……あ、Null0（ゴミ箱）だ！」</p>



<h3 class="wp-block-heading"><span id="toc29">Q.NetFlowはCisco独自？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="897" height="47" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-13.png" alt="" class="wp-image-8099" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-13.png 897w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-13-300x16.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-13-763x40.png 763w" sizes="(max-width: 897px) 100vw, 897px" /></figure>



<p class="wp-block-paragraph">Q.あれ？NetFlowってCisco独自のプロトコルじゃないの？<br>A.もともとはCisco独自だったが、RFC3954として公開・標準化され、さらにそれをベースにして完全な国際標準（IPFIX）へと発展したという経緯がある。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="configure terminal

! 1. Exporter（データの送信先・送信元を指定）
flow exporter EXPORTER-1
 destination 192.168.1.100            ! コレクター（分析サーバー）のIP
 source GigabitEthernet0/0            ! ルーター自身の送信元インターフェース
 transport udp 2055                   ! （任意）UDPポート番号指定（デフォルト2055）

! 2. Record（どんな情報を収集・集計するかを定義）
flow record RECORD-1
 match ipv4 source-address            ! 検索キー：送信元IP
 match ipv4 destination-address       ! 検索キー：宛先IP
 match ipv4 protocol                  ! 検索キー：プロトコル（TCP/UDP等）
 match transport source-port          ! 検索キー：送信元ポート
 match transport destination-port     ! 検索キー：宛先ポート
 collect counter packets              ! 付加情報：パケット数
 collect counter bytes                ! 付加情報：バイト数

! 3. Monitor（Record と Exporter を紐付け）
flow monitor MONITOR-1
 record RECORD-1
 exporter EXPORTER-1

! 4. インターフェースへの適用
interface GigabitEthernet0/0
 ip flow monitor MONITOR-1 input      ! イングレス（流入）トラフィックの監視
 ip flow monitor MONITOR-1 output     ! エグレス（流出）トラフィックの監視
 
#旧バージョン
ip flow ingress（旧：ip route-cache flow と同じ意味。入ってくる通信を計測）
ip flow egress

#確認コマンド
!ルーターが現在リアルタイムで収集・集計しているフロー情報（キャッシュ）を表示します。
show flow monitor &lt;モニター名&gt; cache

!ルーターが現在リアルタイムで収集・集計しているフロー情報（キャッシュ）を見やすく表示します。
show flow monitor &lt;モニター名&gt; cache format table

!どのインターフェースにどの Monitor が適用されているかの確認。
show flow interface [インターフェース名]" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">configure</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">terminal</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">1.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Exporter（データの送信先・送信元を指定）</span></span>
<span class="line"><span style="color: #A6E22E">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">exporter</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">EXPORTER-1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">destination</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168</span><span style="color: #E6DB74">.1.100</span><span style="color: #F8F8F2">            </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">コレクター（分析サーバー）のIP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">source</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span><span style="color: #F8F8F2">            </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ルーター自身の送信元インターフェース</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">transport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">udp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2055</span><span style="color: #F8F8F2">                   </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">（任意）UDPポート番号指定（デフォルト2055）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">2.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Record（どんな情報を収集・集計するかを定義）</span></span>
<span class="line"><span style="color: #A6E22E">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">record</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">RECORD-1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv4</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source-address</span><span style="color: #F8F8F2">            </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検索キー：送信元IP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv4</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination-address</span><span style="color: #F8F8F2">       </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検索キー：宛先IP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv4</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">protocol</span><span style="color: #F8F8F2">                  </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検索キー：プロトコル（TCP/UDP等）</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source-port</span><span style="color: #F8F8F2">          </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検索キー：送信元ポート</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination-port</span><span style="color: #F8F8F2">     </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検索キー：宛先ポート</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">collect</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">counter</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">packets</span><span style="color: #F8F8F2">              </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">付加情報：パケット数</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">collect</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">counter</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bytes</span><span style="color: #F8F8F2">                </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">付加情報：バイト数</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">3.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Monitor（Record</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">と</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Exporter</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">を紐付け）</span></span>
<span class="line"><span style="color: #A6E22E">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">monitor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MONITOR-1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">record</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">RECORD-1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">exporter</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">EXPORTER-1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">4.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">インターフェースへの適用</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">monitor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MONITOR-1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">input</span><span style="color: #F8F8F2">      </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">イングレス（流入）トラフィックの監視</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">monitor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MONITOR-1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">output</span><span style="color: #F8F8F2">     </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">エグレス（流出）トラフィックの監視</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#旧バージョン</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ingress（旧：ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-cache</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">と同じ意味。入ってくる通信を計測）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">egress</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#確認コマンド</span></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #A6E22E">ルーターが現在リアルタイムで収集・集計しているフロー情報（キャッシュ）を表示します。</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">monitor</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">モニター</span><span style="color: #F8F8F2">名</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">cache</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #A6E22E">ルーターが現在リアルタイムで収集・集計しているフロー情報（キャッシュ）を見やすく表示します。</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">monitor</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">モニター</span><span style="color: #F8F8F2">名</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">cache</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">format</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">table</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #A6E22E">どのインターフェースにどの</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Monitor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">が適用されているかの確認。</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">interface</span><span style="color: #F8F8F2"> [インターフェース名]</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc30">Q.サーバってBGPを動作できるの？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="945" height="115" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-14.png" alt="" class="wp-image-8102" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-14.png 945w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-14-300x37.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-14-764x93.png 764w" sizes="(max-width: 945px) 100vw, 945px" /></figure>



<p class="wp-block-paragraph">Q.検知サーバがBGPを～と書いてあって、「あれ？サーバがBGPを使う？どゆこと？」と感じる。。。どういうことなのか。見ていこう！<br>A.BGPは特殊なハードウェアを必要とするプロトコルではない。「TCP（ポート179）の上で制御用メッセージをやり取りする単なるソフトウェア（プログラム）」。Linuxなどの一般的なOSの上に、BGPを制御するオープンソースソフトウェア（例: FRRouting、GoBGP、BIRDなど）をインストールして起動するだけで、サーバーは立派な「BGPスピーカー（BGPを喋る機器）」に変身できる。つまり、Ciscoルーター専用のOSで行っているBGP処理と同じ処理を、通常のLinuxサーバー上のアプリとして実行しているだけ。</p>



<h3 class="wp-block-heading"><span id="toc31">Q.NetFlowコマンドにすると？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="925" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-15.png" alt="" class="wp-image-8104" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-15.png 925w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-15-300x30.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-15-762x75.png 762w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p class="wp-block-paragraph">コマンドで表現すると、以下のようになる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="flow recorder レコーダ名
 match ipv4 source-address
 match ipv4 destination-address
 match transport source-port
 match transport destination-port" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">flow</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">recorder</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">レコーダ名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv4</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source-address</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv4</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination-address</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">source-port</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">destination-port</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc32">p.7 BGPコミュニティ属性ってなに？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="906" height="66" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-16.png" alt="" class="wp-image-8105" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-16.png 906w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-16-300x22.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-16-755x55.png 755w" sizes="(max-width: 906px) 100vw, 906px" /></figure>



<p class="wp-block-paragraph">「BGPコミュニティ属性」を一言で表すと、BGPの経路情報にくっつける「自由なグループ分け用の付箋（メモ書き）」。ルーティングテーブルの「宛先IP」や「ネクストホップ」といった通信に必要な基本情報とは別に、運用者が自由に意味を決めてペタペタ貼れるタグのようなもの。</p>



<h4 class="wp-block-heading"><span id="toc33">▼RTBHフロー</span></h4>



<p class="wp-block-paragraph">もともとRTBH用のタグが固定で存在している」わけではなく、管理者が自分で番号を決めて（定義して）、その番号に対する処理ルール（Route-map）を事前にルーターへ設定・配布しておく</p>



<p class="wp-block-paragraph"><strong>１．【受信側】タグ（例：65000:666）の定義と一致条件の作成</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip bgp-cummunity-list standard コミュニティ名 permit 65000:666" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp-cummunity-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">standard</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">コミュニティ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span><span style="color: #E6DB74">:666</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>2. 【受信側】タグが来たときの動作（Route-map）の定義</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="route-map MAP-RTBH-IN permit 10
 match community コミュニティ名             ! 「65000:666」が付いていたら…
 set ip next-hop 192.0.2.1                ! ネクストホップをダミーIP（Null0行き）に変更" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MAP-RTBH-IN</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">community</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">コミュニティ名</span><span style="color: #F8F8F2">             </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">「65000:666」が付いていたら…</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">next-hop</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.0</span><span style="color: #E6DB74">.2.1</span><span style="color: #F8F8F2">                </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネクストホップをダミーIP（Null0行き）に変更</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>3. 【受信側】BGPプロセスへの適用（iBGPピアからの受信用）</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="router bgp 65000
 neighbor 10.1.1.100 remote-as 65000     ! 検知サーバー（トリガールーター）のIP
 neighbor 10.1.1.100 route-map MAP-RTBH-IN in" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.1</span><span style="color: #E6DB74">.1.100</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">remote-as</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span><span style="color: #F8F8F2">     </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">検知サーバー（トリガールーター）のIP</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.1</span><span style="color: #E6DB74">.1.100</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MAP-RTBH-IN</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">in</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．【送信側】DDoS検知サーバー（トリガールーター）側の発動コマンド</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="! 1. 攻撃対象IP（ホスト経路 /32）を定義
ip prefix-list PL-ATTACK-TARGET permit 203.0.113.50/32

! 2. タグと「外部広報禁止（no-export）」をセットで付与
route-map MAP-RTBH-OUT permit 10
 match ip address prefix-list PL-ATTACK-TARGET
 set community 65000:666 no-export        ! 自作タグとRFC標準の広報禁止タグをダブル付与！

! 3. BGPでネットワークを広告
router bgp 65000
 network 203.0.113.50 mask 255.255.255.255 route-map MAP-RTBH-OUT" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">1.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">攻撃対象IP（ホスト経路</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">/32）を定義</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">PL-ATTACK-TARGET</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0</span><span style="color: #E6DB74">.113.50/32</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">2.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">タグと「外部広報禁止（no-export）」をセットで付与</span></span>
<span class="line"><span style="color: #A6E22E">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MAP-RTBH-OUT</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">match</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prefix-list</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">PL-ATTACK-TARGET</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">community</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span><span style="color: #E6DB74">:666</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">no-export</span><span style="color: #F8F8F2">        </span><span style="color: #E6DB74">!</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自作タグとRFC標準の広報禁止タグをダブル付与！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">!</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">3.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">BGPでネットワークを広告</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65000</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0</span><span style="color: #E6DB74">.113.50</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mask</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">MAP-RTBH-OUT</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc34">Q.NLRI（Network Layer Reachability Information）とは？</span></h3>



<p class="wp-block-paragraph">Q.BGPを勉強していると必ずと言っていいほど、NLRIが出てくる。そのたびになんとなくわかった気で入るけど、再度出会うと、やっぱりよくわかっていないという感じになる。それをここで解消していこう！<br>A.NLRI（NetworkLayerReachabilityInformation）とはBGP Updateを構成する主要な要素である。BGP Updateは以下の２つで構成されている。</p>



<p class="wp-block-paragraph"><strong>1. NLRI（宛先のアドレス情報）<br></strong><span class="fz-16px">　役割： 「どのネットワーク（IPアドレス/サブネットマスク）へ通信を届けたいか」という<span class="blue">対象の宛先そのもの</span>です。<br>　<strong>例：</strong> <code>203.0.113.0/24</code> や <code>192.0.2.50/32</code></span><br><strong>2. パス属性（Path Attributes：通信条件やタグ）</strong><br><span class="fz-16px">　<strong>役割：</strong> NLRIで示した宛先に対して、「<span class="blue">どういう条件</span>でパケットを運ぶか」「どう処理すべきか」という付加情報です。<br>　<strong>含まれる主な属性：</strong><br>　NEXT_HOP： 次にどのルーターへ渡すか<br>　AS_PATH： どのAS（組織）を通ってきたか<br>　LOCAL_PREF： 社内（iBGP）での優先度はいくつか<br>　COMMUNITY（BGPコミュニティ）： コミュニティ属性もまさにここ（パス属性）に含まれる</span></p>



<h3 class="wp-block-heading"><span id="toc35">p.7 BGP Flowspecとは？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="915" height="143" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-17.png" alt="" class="wp-image-8106" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-17.png 915w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-17-300x47.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-17-768x120.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>



<p class="wp-block-paragraph">これまでのRTBH（Remotely Triggered Black Hole）にあった致命的な弱点を克服するために生まれた、より高度なDDoS対策技術。</p>



<p class="wp-block-paragraph"><strong>Q.なぜ BGP Flowspec が必要なのか？（RTBHの限界）</strong><br>RTBHには、運用上の大きな弱点がある。<br><span class="fz-16px">　<strong>RTBHの弱点（大ざっぱすぎる）：</strong> RTBHは「宛先IP（/32）」単位でしか通信をドロップできません。つまり、攻撃パケットだけでなく、サービスを利用したい一般ユーザーの正常な通信（Webアクセス等）まで一緒に遮断されてしまう（巻き添えを食らう）という問題がある。<br>　<strong>BGP Flowspecの解決策（ピンポイント遮断）：</strong> 「宛先IP」だけでなく、送信元IP、プロトコル（TCP/UDP）、ポート番号（80, 443など）、パケット長など細かな条件（L3/L4情報）を指定して、攻撃パケットだけをピンポイントでドロップできるようにしたのが Flowspec です。</span></p>



<p class="wp-block-paragraph"><strong>Q.どうやって、宛先IP以外の情報をNLRIに乗せるの？<br></strong>A.<strong>NLRI（宛先情報）を拡張する。</strong>本来のNLRIには「IPアドレス」しか入らない。しかし、Flowspec（RFC 8955）ではNLRIの枠組みを拡張し、送信元IP、TCP/UDPポート番号、ICMPタイプなどに加え、Discardなどの<span class="blue">動作指示</span>といった「フィルター条件（フロー定義）」をまるごと詰め込んで送れるようになった。なお受け取ったルータは<span class="blue">ルーティングテーブルではなく「アクセスリスト（ACL）」を内部で自動生成</span>する。ルーターがACLでパケットを直接ドロップするため、ダミーIPもNull0へのルーティング設定も一切不要。</p>



<h4 class="wp-block-heading"><span id="toc36">▼BGP Flowspecのフロー</span></h4>



<p class="wp-block-paragraph">「Webサーバー（<code>203.0.113.50</code>）の80番ポート宛てに、特定送信元からUDP 53の攻撃パケットが大量に届いている」ケースを例に理解していこう！</p>



<p class="wp-block-paragraph"><strong>① 【検知】DDoS検知サーバーが攻撃パターンを特定</strong><br><span class="fz-16px">　NetFlowなどのログから、攻撃のシグネチャ（宛先IP: <code>203.0.113.50</code> / プロトコル: <code>UDP</code> / 送信元Port: <code>53</code>）を判定。</span><br><strong>② 【広報】検知サーバーが BGP Flowspec（拡張NLRI）を発行<br></strong><span class="fz-16px">　※このメッセージ自体に「どう捨てるか」が入っているため、事前設定されたダミーIPなどは準備不要。<br>　以下のデータを入れたBGP UPDATEメッセージを生成してエッジルーターへ送る。<br>　　<strong>拡張NLRI（マッチ条件）：</strong> <code>宛先 203.0.113.50/32</code> ＋ <code>UDP</code> ＋ <code>送信元Port 53</code><br>　　<strong>拡張コミュニティ（動作指示）：</strong> <code>Action: Discard（破棄）</code></span><br><strong>③ 【変換】エッジルーターがBGPメッセージを「ACL」に自動変換</strong><br><span class="fz-16px">　<em>(内部イメージ: <code>deny udp any eq 53 host 203.0.113.50</code> をインターフェースのIN方向に自動適用)</em><br>　エッジルーター（<code>address-family ipv4 flowspec</code> が有効なルーター）がメッセージを受信。<br>　ルーターはBGPの指示を読み取り、内部のハードウェア（TCAM）上に動的なACL（フィルタールール）を自動で即座に作成・適用。</span><br><strong>④ 【遮断】攻撃パケットのみをピンポイントでドロップ</strong><br>　<strong>正常なパケット（TCP 80）：</strong> ACLの条件に合致しないためスルーされ、Webサーバーへ無事に届く（サービスが継続できる）。<br>　<strong>攻撃パケット（UDP 53）：</strong> 入口のエッジルーターで自動生成されたACLにヒットし、<strong>その場で即座にドロップ</strong>される。</p>



<h4 class="wp-block-heading"><span id="toc37">▼RTBHとBGP Flowspecの違い</span></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>RTBH 方式</strong></td><td><strong>BGP Flowspec 方式</strong></td></tr></thead><tbody><tr><td><strong>事前設定</strong></td><td><strong>必要</strong>（全ルーターにダミーIP ➔ Null0の静的ルート）</td><td><strong>不要</strong>（Flowspecを有効化しておくだけ）</td></tr><tr><td><strong>BGPで送るもの</strong></td><td>宛先IP ＋ 自作コミュニティタグ</td><td>L3/L4詳細条件 ＋ アクション（Discard等）</td></tr><tr><td><strong>ルーターの内部処理</strong></td><td>ルーティングテーブル（FIB）の書き換え</td><td><strong>アクセスリスト（ACL）の自動生成・適用</strong></td></tr><tr><td><strong>破棄の手段</strong></td><td>Null0 インターフェースへ引き込んで捨てる</td><td><strong>インターフェース入口のACLで直接ドロップ</strong></td></tr><tr><td><strong>正常通信への影響</strong></td><td>攻撃対象IP宛ては<strong>全遮断（巻き添え）</strong></td><td>攻撃条件以外の<strong>正常通信は許可</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc38">p.6 図３の構成について疑問をいろいろ解消したい&#8230;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="801" height="549" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-1.jpg" alt="" class="wp-image-8110" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-1.jpg 801w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-1-300x206.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-1-767x526.png 767w" sizes="(max-width: 801px) 100vw, 801px" /></figure>



<h4 class="wp-block-heading"><span id="toc39">Q.どうやって適切なLBまで運ぶの？FWとかルータが記憶しておかなきゃダメなの？</span></h4>



<p class="wp-block-paragraph">まず、LBの前には、FWとルータがある。で、あるデータを一度キャッシュサーバに覚えさせたら、以降の通信は同一のキャッシュサーバ、ないしはLBに振り分けたい。そうしないと非効率だから。ではどうやってそんなことをしているの？<br>A.答えはシンプル。そもそものパケットの宛先がLBのIP宛てに設定されている。そのため、中間のFWやルータはただ中継するだけでよい。一度、通ったパケットだからと言って、同じLBに割り振ろう！覚えておかなきゃ！と気合を入れる必要はない。なぜなら、そもそもLB宛だから。</p>



<h3 class="wp-block-heading"><span id="toc40">Q.なんでLBが複数あるの？</span></h3>



<p class="wp-block-paragraph">LBが何台もあったら複雑になってややこしくなるじゃん！<br>A.負荷分散のため。１台のLBで稼働させると単一障害点となってしまうので冗長化構成をとる必要がある。</p>



<h3 class="wp-block-heading"><span id="toc41">Q.インターネット→ルータ→FW→LB→キャッシュサーバのパケットフロー</span></h3>



<p class="wp-block-paragraph"><strong>【① クライアント ➔ ルーター ➔ FW ➔ LB1】</strong><br>・送信元IP: 1.1.1.1（クライアント）<br>・宛先IP : 10.0.0.1（LB1のVIP1）</p>



<p class="wp-block-paragraph"><strong>【② LB1 ➔ キャッシュサーバー】<br></strong>LB1は「送信元」と「宛先」の両方を書き換える（SNAT + DNAT）。<br>・送信元IP: 10.0.0.100（LB1の物理IP）※LB1へ戻すため<br>・宛先IP : 192.168.1.10（キャッシュサーバーの物理IP）</p>



<p class="wp-block-paragraph"><strong>【③ キャッシュサーバー ➔ LB1】<br></strong>・送信元IP: 192.168.1.10（キャッシュサーバーの物理IP）<br>・宛先IP : 10.0.0.100（LB1の物理IP）</p>



<p class="wp-block-paragraph"><strong>【④ LB1 ➔ FW ➔ ルーター ➔ クライアント】<br></strong>LB1が内部のセッションテーブルを参照し、クライアント向けに復元します。<br>・送信元IP: 10.0.0.1（VIP1）※クライアントが見ている宛先に戻す<br>・宛先IP : 1.1.1.1（クライアント）</p>



<h3 class="wp-block-heading"><span id="toc42">Q.ルータ、FW、LBを冗長化しても必ず同じキャッシュサーバに到達するのはなぜ？</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="799" height="542" src="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-2.jpg" alt="" class="wp-image-8113" srcset="https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-2.jpg 799w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-2-300x204.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/09/image-18-2-767x520.png 767w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<p class="wp-block-paragraph">Q.👆このような構成の場合、同じデータに対して同一のキャッシュサーバを使い続けることが可能なのかな？（同じキャッシュを使わないとキャッシュミスして毎回オリジンにアクセスしなくなるので）<br>だって、送信元が違ったらルータのアルゴリズムで振り分け先FWが変更したりするじゃん？で、FWも同じで、振り分け先LBが変わっちゃうのでは？そうなると、異なるキャッシュサーバにアクセスせざるを得ないのでは？</p>



<p class="wp-block-paragraph">A.すべてのLBはすべてのキャッシュサーバと疎通できる構成になっているのでOK！！<br>LBに到達するまでは、IPやポートによって振り分けアルゴリズムが動く。そのため、送信元が違えば、たとえ同じデータを要求していても、異なるFW、LBが選択される。しかし、それは全く問題ない。なぜなら、すべてのLBはすべてのキャッシュサーバと疎通ができるから。たとえ、LB１へ振り分けられようとLB2,LB5など様々なLBに振り分けられても、取得するデータが同じなら必ず同一のキャッシュサーバが宛先として選出されるのでまったくもって問題はない。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和6年（2024年）ネスペ午後Ⅱ　問２　解答解説</title>
		<link>https://ascend-beyond.com/study/8021/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Mon, 31 Aug 2026 06:39:42 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=8021</guid>

					<description><![CDATA[目次 設問１（１）mail.y-sha.lan（２）TTLを60秒という短い値に設定している（３）a: Preference　b: y-mail2　c: 逆引き（５）メールサーバのFQDNに詐称したメールアドレスのドメイ [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（１）mail.y-sha.lan</a></li><li><a href="#toc3" tabindex="0">（２）TTLを60秒という短い値に設定している</a></li><li><a href="#toc4" tabindex="0">（３）a: Preference　b: y-mail2　c: 逆引き</a></li><li><a href="#toc5" tabindex="0">（５）メールサーバのFQDNに詐称したメールアドレスのドメイン名を登録する</a></li></ol></li><li><a href="#toc6" tabindex="0">設問2</a><ol><li><a href="#toc7" tabindex="0">（2）d: SMTP　e: MAIL FROM　f: y-sha.com</a></li></ol></li><li><a href="#toc8" tabindex="0">設問３</a><ol><li><a href="#toc9" tabindex="0">（３）受信したメールが正規のメールサーバから送信されたものかどうかが分かるから</a></li><li><a href="#toc10" tabindex="0">（1）DNSサーバ名：外部DNSサーバY　登録する情報：メール中継サーバZのIPアドレス</a></li><li><a href="#toc11" tabindex="0">（２）j: y-sha.com</a></li><li><a href="#toc12" tabindex="0">（３）メール中継サーバZから鍵が漏洩しても、Y社で実施中のDKIMの処理は影響を受けない。</a></li><li><a href="#toc13" tabindex="0">（４）なりすましメールもメール中継サーバZから社外に転送されるから</a></li></ol></li><li><a href="#toc14" tabindex="0">設問５</a><ol><li><a href="#toc15" tabindex="0">（１）　送信者の秘密鍵でハッシュ値を暗号化する</a></li><li><a href="#toc16" tabindex="0">（２）　送信者の公開鍵で署名を復号する</a></li><li><a href="#toc17" tabindex="0">（３）　取り出したハッシュ値と生成した値が一致する</a></li><li><a href="#toc18" tabindex="0">p.3 図３ 社内DNSサーバYが管理するゾーン情報の見方ｰｰｰｰｰｰｰｰｰ</a></li><li><a href="#toc19" tabindex="0">SPF(Sender Policy Framework)とは？&#8212;&#8212;</a></li><li><a href="#toc20" tabindex="0">DKIM(DomainKeys Identified Mail)とは？&#8212;&#8211;</a></li><li><a href="#toc21" tabindex="0">p.19 Y社の運用ポリシーについて</a><ol><li><a href="#toc22" tabindex="0">(あ)　社内メールサーバYには、Y社に勤務する従業員以外のメールボックスは設定しないこと</a></li><li><a href="#toc23" tabindex="0">(い)　社内PCによるメール送受信は、社内メールサーバYを介して行うこと</a></li><li><a href="#toc24" tabindex="0">(う)　メール中継サーバY1及びY2にはメールボックスは設定せず、社内メールサーバYから社外宛て、及び社外から社内メールサーバY宛ての、メールだけを中継すること</a></li><li><a href="#toc25" tabindex="0">(え)　Y社のドメインを利用するメールには、なりすまし防止などの情報セキュリティ対策を講じること</a></li></ol></li><li><a href="#toc26" tabindex="0">p.20 Z社に委託するメールによるサポート方法</a></li><li><a href="#toc27" tabindex="0">p.21 S/MIMEとは？&#8212;&#8212;</a></li><li><a href="#toc28" tabindex="0">MUA,MAT,MDAとは？&#8212;-</a></li><li><a href="#toc29" tabindex="0">不備により設問５は成立しないとは？&#8212;</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）mail.y-sha.lan</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="855" height="131" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-58.png" alt="" class="wp-image-8029" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-58.png 855w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-58-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-58-764x117.png 764w" sizes="(max-width: 855px) 100vw, 855px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="740" height="267" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-59.png" alt="" class="wp-image-8030" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-59.png 740w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-59-300x108.png 300w" sizes="(max-width: 740px) 100vw, 740px" /></figure>



<p class="wp-block-paragraph">この問題は社内メールサーバYがどこに転送するかを聞いている。社内メールサーバが外部へ送る際のスマートホストとして、DMZの中継サーバを使用する。<br>なお、以上の画像の下線②から転送先は１つの固定ではなくラウンドロビンが使われることが分かる。それをベース考えると、図３で同一のFQDNが２つ存在するレコードがある。それがmail.y-sha.lanなので、答えもmail.y-sha.lanになる。</p>



<h3 class="wp-block-heading"><span id="toc3">（２）TTLを60秒という短い値に設定している</span></h3>



<p class="wp-block-paragraph">TTLを短くすることで、使用中のレコードがローテーションしやすくなる。そのため60秒おきに別の中継サーバを使えるようになる可能性が上がる。また、今回の構成で、mail.y-sha.lanの名前解決をするのはほぼ、社内メールサーバしか存在しない。つまり、１つのクライアントしかいないということ。<br>ということは、結局60秒間はずっと同じ中継メールサーバが使われるということである。<br>逆を言えば、もし、複数のクライアントがいたら、そもそものDNSラウンドロビンによって分散されるのでTTLをそこまで短くする必要はないし、リアルタイムで並列処理が行われる。</p>



<p class="wp-block-paragraph"><strong>Q.リアルタイム並列処理をするには？<br></strong>ラウンドロビンを使っても結局、クライアントは社内メールサーバYのみなので、60秒間はずっと同じ中継メールサーバが使われ続けてしまう。なので、一方が遊休に近い状態になってしまう。クライアントが少数でも、この問題を解消しする方法はあるのか。。<br>A.ロードバランサー（LB）を導入することによって、クライアントが少なくてもリアルタイムで分散処理が可能になる。<br>手順１：DNSにmail.y-sha.lanのIPアドレスをLBのIPアドレスとしたAレコードを設定する<br>手順２：内部メールサーバYが名前解決により、LBに転送する<br>手順３：LBが配下の中継メールサーバのリアルタイム情報から、適切な方へ転送する</p>



<h3 class="wp-block-heading"><span id="toc4">（３）a: Preference　b: y-mail2　c: 逆引き</span></h3>



<p class="wp-block-paragraph"><strong>a:Preference<br></strong>　優先度やPriorityと書かれることもたまにあるが、正式にはPreferenceが正しい。<br><br><strong>b: y-mail2<br></strong>　MXレコードはPreferenceが小さい方が優先度が高くなる。このことより、Preferenceが1であるy-mail2が正解である。<br><br><strong>c: 逆引き<br></strong>　逆引き（ReverseLookUP）とはIPアドレスからホスト名を導くことである。これを使うと送信元認証に使えるが、弱点もある。では、逆引きのフローを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼グローバルIP 200.100.50.1を逆引きする場合<br>１．逆引きアドレスを作成しDNSに問い合わせる<br></strong><span class="fz-16px">　オクテット単位で分割し、順番を逆にした値（200.100.50.1→1.50.100.200）の後ろに、in-addr.arpa.をつける。＝（1.50.100.200.in-addr.arpa.)<br></span><strong>２．DNSがその名前を辿る<br></strong><span class="fz-16px">　DNSサーバはin-addr.arpa.の世界から順に、その名前が登録されているPTRレコードを探す。<br></span><strong>３．ホスト名が返ってくる<br></strong><span class="fz-16px">　DNSから「そのIPのホスト名はmail.example.comだよ」と返ってくる</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#PTRレコード
1.50.100.200.in-addr.arpa.   IN   PTR   mail.y-sha.com." style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#PTRレコード</span></span>
<span class="line"><span style="color: #A6E22E">1.50.100.200.in-addr.arpa.</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">IN</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">PTR</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">mail.y-sha.com.</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．一致チェック<br></strong><span class="fz-16px">　メールの差出人アドレスのドメインとDNSから教えてもらったホスト名のドメインが一致するかを確かめる。</span></p>



<h3 class="wp-block-heading"><span id="toc5">（５）メールサーバのFQDNに詐称したメールアドレスのドメイン名を登録する</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="817" height="87" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-60.png" alt="" class="wp-image-8049" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-60.png 817w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-60-300x32.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-60-761x81.png 761w" sizes="(max-width: 817px) 100vw, 817px" /></figure>



<p class="wp-block-paragraph">この問題では、逆引きにフォーカスが当てられているが、正引きでも同じ現象は起こる。管理者であればDNSレコードは偽れるという弱点で見ると正引きも逆引きも同じ弱点を抱えている。では、逆引きがどのように詐称するのかを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼逆引きの詐称方法と効果<br></strong>１．200.100.50.1に対するPTRレコードを準備する<br><span class="fz-16px">　＊グローバルIP200.100.50.1を保持する管理者が、自身が管理するDNSサーバ（atteker.evil.com.)にホスト名を詐称したレコードを追加する</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#PTRレコード
1.50.100.200.in-addr.arpa.   IN   PTR   mail.gmail.com." style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#PTRレコード</span></span>
<span class="line"><span style="color: #A6E22E">1.50.100.200.in-addr.arpa.</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">IN</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">PTR</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">mail.gmail.com.</span></span></code></pre></div>



<p class="wp-block-paragraph">２．攻撃者は偽のメールを送信する<br><span class="fz-16px">　偽のメールは、送信元を1で偽造したホスト名のドメインと同一のドメインにして送信する。（xxxxx@gmail.com)<br></span>３．受信者は逆引きで正当性を確かめる<br><span class="fz-16px">　送信元のIPアドレスを逆引きしていくと、攻撃者のDNSまでたどり着き、そこからPTRレコードを取得する。すると、ホスト名がmail.gmail.com.であることが分かる。そのドメインとメール送信元のドメインxxxxx@gmail.comが同じなので整合性があると誤った判断をしてしまう。</span></p>



<h2 class="wp-block-heading"><span id="toc6">設問2</span></h2>



<h3 class="wp-block-heading"><span id="toc7">（2）d: SMTP　e: MAIL FROM　f: y-sha.com</span></h3>



<p class="wp-block-paragraph">この問題はSMTPの基本的なフローの理解ができているかを問われている。なので、SMTPフローを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼SMTPフロー<br>１．送信前の準備（DNSの引き方）<br></strong><span class="fz-16px">　メールを送り出す前に、送信側サーバーは「どこにコネクトすればいいか」を調べるためにDNSを引く。（＝<span class="blue">MXレコードとA/AAAAレコード</span>の取得）<br></span><strong>２．TCP接続とSMTPセッションの開始</strong><br><span class="fz-16px">　特定したIPアドレスの<span class="blue"> ポート25番</span> に向かってTCPのコネクションを張り、ここからSMTPの会話（セッション）を始める<br>　①送信側が接続すると、受信側サーバーがまず<span class="blue">ウェルカムメッセージ</span>（220応答）を返す<br>　②その後、送信側が挨拶のコマンド（EHLO/HELO）を送る</span><br><span class="fz-16px">　　<span class="blue">HELO</span>：ただ挨拶するだけ<br>　　<span class="blue">EHLO</span>：認証、拡張機能などの交渉・確認の役割も持つ</span><br><strong>３．エンベロープ（封筒）のやり取り</strong><br><span class="fz-16px">　ここから「誰から誰に送るのか」という宛先・差出人の情報を伝える（※ここで前述したSPFのチェックが裏で行われる）。<br>　①<span class="blue">MAIL FROM</span><br>　　「このメールの差出人は（エンベロープFROM）はこのアドレスですよ」と伝える。<br>　　例：MAIL FROM:&lt;tarouyamada@example.com&gt;<br>　②<span class="blue">RCPT TO</span><br>　　「このメールの宛先（エンベロープTo）はこの人です」と伝える。（複数の宛先がある場合はこのコマンドを繰り返す）。<br>　　例：RCPT TO:&lt;tarouyamada@example.com&gt;<br></span><strong>４．本文データの送信<br></strong><span class="fz-16px">　封筒の宛先が決まったら、いよいよ中身（便箋）を送り始める。<br>　①<span class="blue">DATA</span><br>　　「これより後ろはすべてメールのデータ（ヘッダーと本文）だよ」と受信側に伝える。受信側がOK（<span class="blue">354応答</span>）を返すと、データ送信モードに入る。<br>　②ヘッダーと本文の送信<br>　　From: 太郎 &lt;tarouyamada@example.com&gt;<br>　　To: 花子 &lt;recipient@example.com&gt;<br>　　Subject: 会議の件<br>　　（空行）<br>　　本文のテキスト</span><br><strong>５．切断<br></strong>　　<span class="blue">QUIT</span><br><span class="fz-16px">　　「もう用事は済んだので切断します」と伝え、お互いにコネクションを閉じます。</span></p>



<p class="wp-block-paragraph">以上の流れより、<strong>MAIL FROM</strong>コマンドで得られるドメインはメール送信元のメールアドレス。つまり、この場合だと、<strong>y-sha.com</strong>になる。</p>



<h2 class="wp-block-heading"><span id="toc8">設問３</span></h2>



<h3 class="wp-block-heading"><span id="toc9">（３）受信したメールが正規のメールサーバから送信されたものかどうかが分かるから</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="862" height="96" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-63.png" alt="" class="wp-image-8057" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-63.png 862w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-63-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-63-763x85.png 763w" sizes="(max-width: 862px) 100vw, 862px" /></figure>



<p class="wp-block-paragraph">DKIMでは受信者が送信者の公開鍵を使って署名を検証する。その検証が成功するということは、送信者が正しい秘密鍵を保持していることを意味する。つまり、送信者の正当性が保証できるということ。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問4</strong></span></span></span></p>



<h3 id="4-1" class="wp-block-heading"><span id="toc10">（1）DNSサーバ名：外部DNSサーバY　登録する情報：メール中継サーバZのIPアドレス</span></h3>



<p class="wp-block-paragraph">SPFの検証方法が頭に入っていれば、この問題は解けるようになっている(<a href="#spf" data-type="internal" data-id="#spf">SPFについてはこちら</a>）。<br>Z社はY社ドメインを使っているので、受信者はY社のDNSにSPFを要求する。しかし、実際の送信元はZ社の中継メールサーバである。そこで、不整合が起きてしまわないように、Y社側のSPFレコードにZ社の中継メールサーバのIPアドレスを登録しておけば整合性が取れる。</p>



<p class="wp-block-paragraph"><strong>Q.include使った方が効率よくね？<br></strong>A.Yes！！includeを使わないと、Z社の中継メールサーバのIPアドレスが変わるたびにY社のSPFレコードの更新をしなくてはならなくなる。それよりも、Z社側でドメインを管理した方が、Z社中継メールサーバのIPが変わったとしても、Y社には影響を与えずに運用を続けることができる。</p>



<h3 id="4-1" class="wp-block-heading"><span id="toc11">（２）j: y-sha.com</span></h3>



<p class="wp-block-paragraph">Q. d=をz社のドメインにした方が効率がいいのでは？<br>だって、実際に署名しているのはZ社サーバなんだから、なぜそこでわざわざd=をy-sha.comにするのかがよくわからない。。<br>A.本文をよく見ると、「外部DNSサーバYを使用してDKIMの検査を行うことができるように~」と記されている。つまり、Y社のDNSサーバを使わせたいので、必然的にY社ドメインを指定することになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="927" height="234" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-70.png" alt="" class="wp-image-8067" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-70.png 927w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-70-300x76.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-70-765x193.png 765w" sizes="(max-width: 927px) 100vw, 927px" /></figure>



<p class="wp-block-paragraph">また、現在のセキュリティにおいては、FromドメインとDKIMドメインが一致していないと正当なメールとして認められないこともある。そのため、Y社のDNSを使わせている。</p>



<h3 class="wp-block-heading"><span id="toc12">（３）メール中継サーバZから鍵が漏洩しても、Y社で実施中のDKIMの処理は影響を受けない。</span></h3>



<p class="wp-block-paragraph">Z社の秘密鍵（セレクター：<code>sel.zsha</code>）が漏洩した場合、攻撃者はZ社が担当するサポートメールなどを偽装できるリスクが生る。だけど、Y社自身が元々使っている本体のメールシステムは別の秘密鍵を使用しているため、その安全性は一切脅かされない。</p>



<h3 class="wp-block-heading"><span id="toc13">（４）なりすましメールもメール中継サーバZから社外に転送されるから</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="922" height="169" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-71.png" alt="" class="wp-image-8068" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-71.png 922w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-71-300x55.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-71-764x140.png 764w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<p class="wp-block-paragraph">これは何を意味しているかというと、Z社のメール中継サーバを使えるなら誰でもy-sha.comを送信元にできて、認証も通ってしまうということを意味する。そのため、Z社内からスパムメールを大量に送ったりなりすましをしたりできてしまうということ。<br>で、設問では、それがなぜか？と聞かれている。<br>A.メールが中継サーバを通りさえすれば、誰が書いたメールであってもサーバが勝手に認証を通れるように作動してしまう。つまり、DKIMはあくまでもサーバ単位の正当性を認証するものであるため、そのサーバを使えさえすれば誰でも認証を通過できてしまう。なので、ユーザ単位の認証が必要になる。</p>



<p class="wp-block-paragraph"><strong>Q.じゃあ、どうすればいいの？<br></strong>A.S/MIMEを使う。DKIMはサーバ単位の署名。S/MIMEは個人単位の署名なので不正なユーザであれば認証を通らせなくできる。</p>



<h2 class="wp-block-heading"><span id="toc14">設問５</span></h2>



<h3 class="wp-block-heading"><span id="toc15">（１）　送信者の秘密鍵でハッシュ値を暗号化する</span></h3>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="336" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-72-1024x336.png" alt="" class="wp-image-8070" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-72-1024x336.png 1024w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-72-300x98.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-72-768x252.png 768w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-72.jpg 1027w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">電子署名データの作成は、ハッシュ値を秘密鍵で暗号化することで作成できる。これはS/MIMEに限った話ではなく、署名を作るときの流れは大抵この方式で作られる。</p>



<h3 class="wp-block-heading"><span id="toc16">（２）　送信者の公開鍵で署名を復号する</span></h3>



<p class="wp-block-paragraph">署名は送信者の秘密鍵で暗号化されているので、それを復号すればハッシュ値を取り出すことができる。そして、秘密鍵で暗号化されたものを復号できる鍵は、そのペアの公開鍵なので、回答も送信者の公開鍵となる。</p>



<h3 class="wp-block-heading"><span id="toc17">（３）　取り出したハッシュ値と生成した値が一致する</span></h3>



<p class="wp-block-paragraph">送信側と受信側で生成したハッシュ値が一致することは、改ざんがされていないことの証明になる。　</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">p.3 図３ 社内DNSサーバYが管理するゾーン情報の見方ｰｰｰｰｰｰｰｰｰ</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="773" height="845" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-56.jpg" alt="" class="wp-image-8025" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-56.jpg 773w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-56-274x300.png 274w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-56-768x839.jpg 768w" sizes="(max-width: 773px) 100vw, 773px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="794" height="280" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-55.png" alt="" class="wp-image-8024" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-55.png 794w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-55-300x106.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-55-766x270.png 766w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



<p class="wp-block-paragraph"><strong>Q.急にドメイン「.lan」とかが出てきたり、同じIPアドレス（192.168.0.1,192.168.0.2）を持つレコードが出てきたりと、意味不明。。。。なので、１行ずつ冷静に見ていこう！<br></strong>A.以下を見ていこう！<br><span class="blue">①y-mail3.y-sha.lan. IN A 192.168.1.1<br></span><span class="fz-16px">図１サーバセグメント内の社内メールサーバYのホスト名とIPアドレスをあらわしている。<br></span><span class="blue"><code>②③mail.y-sha.lan. 60 IN A 192.168.0.1</code> （と <code>.2</code>）</span><br><span class="fz-16px">図１中のDMZにあるメール中継サーバY1とY2の代表エイリアス<br>２行あることでラウンドロビンが可能になる。</span><br><span class="blue">④⑤ <code>y-mail1.y-sha.lan. / y-mail2.y-sha.lan.</code></span> <span class="blue"><code>IN A 192.168.0.1</code> （と <code>.2</code>）</span><br><span class="fz-16px">管理目的で明示的に社内からDMZの中継サーバにアクセスしたいときに使う。②③だとラウンドロビンされてしまうので、意図した方のサーバにアクセスできないから。</span></p>



<p class="wp-block-paragraph"><strong>Q.どうゆう流れでDNSレコードが参照されているのかよくわからない。。。<br></strong>A.では、フロー（社内PC→外部ホスト）を参照しながら疑問を解消していこう！<br><strong>１．社内PCがメールを作成<br>２．PC内のメールソフトクライアントが社内メールサーバYへ送信<br></strong><span class="fz-16px">＊運用ルールで、本文中に社内メールサーバYを経由すると記されているので、Yを経由させる</span></p>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-3"><img decoding="async" width="757" height="52" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-57.png" alt="" class="wp-image-8028" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-57.png 757w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-57-300x21.png 300w" sizes="(max-width: 757px) 100vw, 757px" /><figcaption class="wp-element-caption">本文中に明示</figcaption></figure>



<p class="wp-block-paragraph"><span class="fz-16px">＊メールサーバYを経由させるには、メールソフトクライアントにメールサーバYのFQDN（<span class="blue">y-mail3.y-sha.lan. </span>）やIPアドレスをリレーサバ（スマートホスト）として設定しておく<br></span><span style="text-decoration: underline;">→この時に使われるレコードが①。これによってメールサーバYへ到達できる<br></span><strong>３．社内メールサーバYから中継メールサーバへ<br></strong><span class="fz-16px">社内メールサーバYにもスマートホスト（リレーサーバ）として中継メールサーバのFQDN（<span class="blue"><code>mail.y-sha.lan.</code></span>）を設定しておくことで転送処理がスムーズにできる。<br></span><strong><code>４．</code>中継メールサーバから外部ホストへ<br></strong><span class="fz-16px">中継メールサーバはアプリケーション層内の宛先ドメインを確認し、名前解決によってMXレコード、Aレコードを取得し当該メールサーバへ転送する。</span></p>



<h3 id="spf" class="wp-block-heading"><span id="toc19">SPF(Sender Policy Framework)とは？&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="852" height="94" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-61.png" alt="" class="wp-image-8050" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-61.png 852w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-61-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-61-761x84.png 761w" sizes="(max-width: 852px) 100vw, 852px" /></figure>



<p class="wp-block-paragraph">SPFは送信元のドメインの正当性を確認する仕組みのひとつ。では、そのフローを見ながら理解していこう！</p>



<p class="wp-block-paragraph"><strong>▼SPFフロー</strong><br><strong>１．接続とMAIL FROMの通知（送信側→受信側）<br></strong><span class="fz-16px">　送信側サーバーが受信側に接続し、<code>MAIL FROM: &lt;xxx@example.com&gt;</code>（エンベロープFrom）を送信する。<br></span><strong>２．IPとドメインの取得（受信側）<br></strong><span class="fz-16px">　受信側は、<strong>いま接続してきている送信元のIPアドレス</strong>と、<code>MAIL FROM</code> で指定された<strong>ドメイン名</strong>を保持する。<br></span><strong>３．SPFレコードの問い合わせ（受信側 ➔ DNS）<br></strong><span class="fz-16px">　受信側は、取得したドメインのDNSサーバーに対して、SPFレコード（TXTレコード）を自分から問い合わせに行く。<br></span><strong>４．照合と判定（受信側）<br></strong><span class="fz-16px">　DNSから返ってきたSPFレコードの中に、<strong>「いま接続してきている送信元IPアドレス」が許可されたものとして書かれているか</strong>を確認する。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="v=spf1 ip4:192.0.2.1 ip4:192.0.2.0/24 include:_spf.google.com ~all

#解説
v=
　SPFのバージョン
　
include:ドメイン名
　メール配信をクラウドサービスなどに委託している場合に、当該サービスのSPFを参照してもらうための仕組み。また、クラウドのIPは動的にころころ変わる。その度にSPFを修正するのは面倒くさいのでincludeにする。

▼許可リストにない時のルール
~all
 ソフトフェイル（怪しいけどブロックはせず迷惑フォルダやフラグを付ける）
-all
 ハードフェイル（受信拒否）
?all
 ニュートラル（何も判断しない、承認成功も失敗もしない。ただの保留＝事実上の無効化）
+all
 パス（誰であろうと全部認証成功！正しいユーザと承認する）
 " style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">v</span><span style="color: #F92672">=</span><span style="color: #E6DB74">spf1</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip4:192.0.2.1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip4:192.0.2.0/24</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">include:_spf.google.com</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">~all</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#解説</span></span>
<span class="line"><span style="color: #F8F8F2">v</span><span style="color: #F92672">=</span></span>
<span class="line"><span style="color: #A6E22E">　SPFのバージョン</span></span>
<span class="line"><span style="color: #A6E22E">　</span></span>
<span class="line"><span style="color: #A6E22E">include:ドメイン名</span></span>
<span class="line"><span style="color: #A6E22E">　メール配信をクラウドサービスなどに委託している場合に、当該サービスのSPFを参照してもらうための仕組み。また、クラウドのIPは動的にころころ変わる。その度にSPFを修正するのは面倒くさいのでincludeにする。</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼許可リストにない時のルール</span></span>
<span class="line"><span style="color: #F92672">~</span><span style="color: #F8F8F2">all</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ソフトフェイル（怪しいけどブロックはせず迷惑フォルダやフラグを付ける）</span></span>
<span class="line"><span style="color: #A6E22E">-all</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ハードフェイル（受信拒否）</span></span>
<span class="line"><span style="color: #F92672">?</span><span style="color: #F8F8F2">all</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ニュートラル（何も判断しない、承認成功も失敗もしない。ただの保留＝事実上の無効化）</span></span>
<span class="line"><span style="color: #A6E22E">+all</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">パス（誰であろうと全部認証成功！正しいユーザと承認する）</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span></code></pre></div>



<p class="wp-block-paragraph">５．<strong>結果に応じた処理</strong><br><span class="fz-16px">　<strong>含まれていた場合（合格）</strong>: そのまま通信を続け、後続の本文（DATAコマンド）を受け入れる。<br>　<strong>含まれていなかった場合（不合格）</strong>: 本文データを受け取る前に、その場でメールの受信を拒否する。</span></p>



<p class="wp-block-paragraph">以上！（<a href="#4-1" data-type="internal" data-id="#4-1">設問４(1)に戻る</a>）</p>



<h3 class="wp-block-heading"><span id="toc20">DKIM(DomainKeys Identified Mail)とは？&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="131" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-62.png" alt="" class="wp-image-8051" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-62.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-62-300x47.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-62-766x120.png 766w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">DKIMも送信元ドメイン認証の方法の一つ。では、フローを見ながら理解しよう！</p>



<p class="wp-block-paragraph"><strong>▼DKIMのフロー</strong><br><span class="fz-16px">＊前提：DKIMに使う鍵は第三者認証ではなく各サイトの管理者が生成する<br></span><strong>１．DKIM署名ヘッダーの読み取り<br></strong><span class="fz-16px">　受信したメールのヘッダーから <code>DKIM-Signature:</code> を見つけ出し、そこに書かれている以下の情報を抽出する。<br><strong><code>d=</code> （ドメイン名）</strong>：例 <code>example.com</code><br><strong><code>s=</code> （セレクター名）</strong>：例 <code>selector1</code></span><br><span class="fz-16px"><strong><code>a=</code> （アルゴリズム名）</strong>：例 <code>rsa-sha256</code></span>　<span class="fz-16px">暗号化にはRSAを、ハッシュにはsha256を利用している意<br><strong><code>b=</code> （署名データ）</strong>：送信側が付けた電子署名そのもの</span><br><strong>２．公開鍵の取得（DNS問い合わせ）<br></strong><span class="fz-16px">　抽出したドメインとセレクターを組み合わせて、DNSに公開鍵を要求する。<br>　<strong>問い合わせ先の形式</strong>: <code>selector1._domainkey.example.com</code> のTXTレコード</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="selector1._domainkey.example.com. IN TXT &quot;v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0v... (長い公開鍵文字列) ...&quot;


#詳細解説
selector1._domainkey.example.com.
　セレクタ：ただTXTレコードを取得するだけだとたくさんあって、どのTXTか判断できない。そこでセレクタという識別子を使うことで数あるTXTレコードから適切なレコードを取得できる
　
v=
 バージョン
 
k=
 暗号アルゴリズム
 
p=
　公開鍵の実データ" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">selector1._domainkey.example.com.</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">IN</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">TXT</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0v... (長い公開鍵文字列) ...&quot;</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#詳細解説</span></span>
<span class="line"><span style="color: #A6E22E">selector1._domainkey.example.com.</span></span>
<span class="line"><span style="color: #A6E22E">　セレクタ：ただTXTレコードを取得するだけだとたくさんあって、どのTXTか判断できない。そこでセレクタという識別子を使うことで数あるTXTレコードから適切なレコードを取得できる</span></span>
<span class="line"><span style="color: #A6E22E">　</span></span>
<span class="line"><span style="color: #F8F8F2">v</span><span style="color: #F92672">=</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">バージョン</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2">k</span><span style="color: #F92672">=</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">暗号アルゴリズム</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2">p</span><span style="color: #F92672">=</span></span>
<span class="line"><span style="color: #A6E22E">　公開鍵の実データ</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．署名の検証（復号とハッシュ比較）</strong><br><span class="fz-16px">取得した<strong>公開鍵</strong>を使って、メールに添付されていた電子署名（<code>b=</code>）を復号し、送信側が作った「元のハッシュ値」を取り出す。</span><br><span class="fz-16px">同時に、受信側自身でも手元に届いたメールの本文等を同じアルゴリズムでハッシュ化し、「受信側で計算したハッシュ値」を作る。</span><br><strong>４．署名の検証（復号とハッシュ比較）</strong><br><span class="fz-16px">　取得した<strong>公開鍵</strong>を使って、メールに添付されていた電子署名（<code>b=</code>）を復号し、送信側が作った「元のハッシュ値」を取り出す。<br>　同時に、受信側自身でも手元に届いたメールの本文等を同じアルゴリズムでハッシュ化し、「受信側で計算したハッシュ値」を作る。</span><br><strong>５．照合と判定</strong><br><span class="fz-16px">　「公開鍵で復号したハッシュ値」と「受信側で計算したハッシュ値」を比較する。<br>　<strong>一致した場合</strong>: 途中で改ざんされておらず、かつ、そのドメインの秘密鍵を持っている正当な送信者から送られたものであると証明されるため <strong>【合格（Pass）】</strong> となる。<br>　<strong>一致しなかった場合</strong>: 途中でデータが書き換えられている（改ざん）、あるいは偽の署名であるため <strong>【不合格（Fail）】</strong> となる。</span><br><br>以上がフロー。ただしこのフローからもわかる通り、Header Fromの確認はしないので、そこの偽造を検知するにはまた別の機能が必要となる。。。</p>



<h3 class="wp-block-heading"><span id="toc21">p.19 Y社の運用ポリシーについて</span></h3>



<p class="wp-block-paragraph">Y社ではメールを運用においてポリシーを制定している。この一つずつの意図を理解していこう！</p>



<h4 class="wp-block-heading"><span id="toc22">(あ)　社内メールサーバYには、Y社に勤務する従業員以外のメールボックスは設定しないこと</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="931" height="85" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-64.png" alt="" class="wp-image-8058" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-64.png 931w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-64-300x27.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-64-767x70.png 767w" sizes="(max-width: 931px) 100vw, 931px" /></figure>



<p class="wp-block-paragraph">Q.なんでY社以外のメールボックスは設置しないの？意図は？<br>A.無関係のアカウントが存在していると、そのアカウントを皮切りに社内への不正アクセスなどにつながってしまうから。社内ドメインのアカウントが不正に利用されると、同じドメインであるためチェックが緩くなったりして、通常の外部アカウントよりも不正にできることが増えてしまう。</p>



<h4 class="wp-block-heading"><span id="toc23">(い)　社内PCによるメール送受信は、社内メールサーバYを介して行うこと</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="862" height="57" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-65.png" alt="" class="wp-image-8059" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-65.png 862w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-65-300x20.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-65-756x50.png 756w" sizes="(max-width: 862px) 100vw, 862px" /></figure>



<p class="wp-block-paragraph">Q.なんで社内メールサーバYを介すの？直接、中継メールサーバに送っちゃダメなの？<br>A.社内からでるすべてのメールを一元管理・統制するため。これをすることによって、社内メールサーバYへのセキュリティ対策が社内メール全体に波及させることができるから。もし、一元化しないと、各PCが勝手に外部と直接メールをやり取りすると、会社側がウイルスチェックやログの監査、誤送信防止などのセキュリティ対策を一切コントロール（一元管理）できなくなる。</p>



<h4 class="wp-block-heading"><span id="toc24">(う)　メール中継サーバY1及びY2にはメールボックスは設定せず、社内メールサーバYから社外宛て、及び社外から社内メールサーバY宛ての、メールだけを中継すること</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="920" height="119" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-66.png" alt="" class="wp-image-8060" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-66.png 920w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-66-300x39.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-66-765x99.png 765w" sizes="(max-width: 920px) 100vw, 920px" /></figure>



<p class="wp-block-paragraph">Q.なんで中継メールサーバにメールボックスを置かないの？<br>A.中継メールサーバはDMZ、つまり外部からアクセス可能な領域に配置されている。この場所でメールボックスを置くと、外部からメールボックスの中身を覗かれてしまい情報漏洩などにつながってしまうから。そうならないように、DMZにはメールボックスは配置しない。</p>



<p class="wp-block-paragraph">Q.送信元と宛先を限定するのはなぜ？<br>A.踏み台サーバとして利用されることを防ぐため。中継サーバーが誰でもかれでも自由にメールを中継できる状態（<span class="blue">オープンリレー</span>）になっていると、世界中のスパム業者に悪用（踏み台に）されてしまう。これをしてしまうと、メールプロバイダのブラックリストに登録されてしまいY社自身のメール送受信が停止されてしまう。</p>



<h4 class="wp-block-heading"><span id="toc25">(え)　Y社のドメインを利用するメールには、なりすまし防止などの情報セキュリティ対策を講じること</span></h4>



<figure class="wp-block-image size-full"><img decoding="async" width="899" height="115" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-67.png" alt="" class="wp-image-8061" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-67.png 899w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-67-300x38.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-67-766x98.png 766w" sizes="(max-width: 899px) 100vw, 899px" /></figure>



<p class="wp-block-paragraph">A.これは疑問の入り込む余地すらないことだが、SPFやDKIMなどのセキュリティ対策をすることによって、正規の送信元であるお墨付きを作る。</p>



<h3 class="wp-block-heading"><span id="toc26">p.20 Z社に委託するメールによるサポート方法</span></h3>



<p class="wp-block-paragraph">Q.これはどういうこと？</p>



<figure class="wp-block-image size-full"><img decoding="async" width="644" height="71" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-68.png" alt="" class="wp-image-8062" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-68.png 644w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-68-300x33.png 300w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<p class="wp-block-paragraph"><span class="fz-16px">A.これは、Z社のサポートチームYにY社のsupport@y-sha.comを使用させるということ。送信元をsupport@y-sha.comとしてメールを送れるようにしている。</span></p>



<p class="wp-block-paragraph">Q1.抽出して転送ってどうやって？</p>



<figure class="wp-block-image size-full"><img decoding="async" width="644" height="92" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png" alt="" class="wp-image-8063" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png 644w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-69-300x43.png 300w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<p class="wp-block-paragraph">A1.Y社のメールサーバにフィルター付きのソフトを稼働させることで、Z社に依頼している製品にヒットしたメールを転送するという仕組みを構築する。</p>



<p class="wp-block-paragraph">Q2.転送時の送信元/宛先はどうなる？</p>



<figure class="wp-block-image size-full"><img decoding="async" width="644" height="92" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png" alt="" class="wp-image-8063" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png 644w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-69-300x43.png 300w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<p class="wp-block-paragraph">A2.送信元はY社のメール中継サーバになり、宛先はZ社のグループアドレスになる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#Z社に届くメール
--------------------------------------------------
【転送メールのヘッダー情報】
From: Y社メールサーバー &lt;mailer@y-sha.com&gt;  ← ここは転送元（Y社）になる
To: Z社グループアドレス &lt;support-team-y@z-sha.co.jp&gt;
Subject: 【転送】製品についての問い合わせ

【転送メールの本文（ここがポイント）】
---------- Forwarded message ----------
From: 困っている顧客 &lt;customer@example.com&gt;  ← ★ここに元々の顧客のアドレスが残っている
To: support@y-sha.com
Subject: 製品が動きません

はじめまして、〇〇の製品について質問なのですが...（顧客の問い合わせ内容）
--------------------------------------------------" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#Z社に届くメール</span></span>
<span class="line"><span style="color: #A6E22E">--------------------------------------------------</span></span>
<span class="line"><span style="color: #A6E22E">【転送メールのヘッダー情報】</span></span>
<span class="line"><span style="color: #A6E22E">From:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Y社メールサーバー</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">mailer@y-sha.co</span><span style="color: #F8F8F2">m</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">←</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ここは転送元（Y社）になる</span></span>
<span class="line"><span style="color: #A6E22E">To:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Z社グループアドレス</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">support-team-y@z-sha.co.j</span><span style="color: #F8F8F2">p</span><span style="color: #F92672">&gt;</span></span>
<span class="line"><span style="color: #A6E22E">Subject:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">【転送】製品についての問い合わせ</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">【転送メールの本文（ここがポイント）】</span></span>
<span class="line"><span style="color: #A6E22E">----------</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Forwarded</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">----------</span></span>
<span class="line"><span style="color: #A6E22E">From:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">困っている顧客</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">&lt;</span><span style="color: #E6DB74">customer@example.co</span><span style="color: #F8F8F2">m</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">←</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">★ここに元々の顧客のアドレスが残っている</span></span>
<span class="line"><span style="color: #A6E22E">To:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">support@y-sha.com</span></span>
<span class="line"><span style="color: #A6E22E">Subject:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">製品が動きません</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">はじめまして、〇〇の製品について質問なのですが...（顧客の問い合わせ内容）</span></span>
<span class="line"><span style="color: #A6E22E">--------------------------------------------------</span></span></code></pre></div>



<p class="wp-block-paragraph">で、Z社からクライアントに返信する時の送信元にはy-shaドメインを使う。</p>



<p class="wp-block-paragraph">Q3.Z社からの返信はどうなるの？なんか、送信元をy社ドメインにするときと、z社ドメインにするときの切り替えはどうやってるの？面倒くさくない？</p>



<figure class="wp-block-image size-full"><img decoding="async" width="644" height="92" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png" alt="" class="wp-image-8063" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-69.png 644w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-69-300x43.png 300w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<p class="wp-block-paragraph">A3.通常のOutlookなどのメールクライアントは使わずにServiceNowのようなITサービスマネジメントプラットフォームを導入することが多い。宛先ごとにメール送信元を手動で変更したりするのはとても手間がかかるので、メールクライアントで制御するよりも専用のシステムを利用する。</p>



<h3 class="wp-block-heading"><span id="toc27">p.21 S/MIMEとは？&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">DKIMはサーバ単位の認証。一方、S/MIME（Secure/Multipurpose Internet Mail Extensions）はユーザ単位の認証をサポートする。では、どのように実施するのか？フローとともに見ていこう！</p>



<p class="wp-block-paragraph">▼S/MIMEのフロー<br><strong>１．証明書の発行<br></strong><span class="fz-16px">サポート担当者（例：佐藤さん）は、信頼できる認証局（CA）から「佐藤さん本人＝ <code>support@y-sha.com</code> の持ち主」であることを証明する電子証明書と秘密鍵を発行してもらう。</span>（秘密鍵・公開鍵<br><span class="fz-16px">Q.どこのCAから発行するの？<br>A.証明書でやりたいことは、「Y社の一員ですよ！」とやりたい。なので、発行する主体のCAはY社のCAである。</span><br><strong>２．メール作成・送信<br></strong><span class="fz-16px">佐藤さんがパソコンのメールソフトでメールを書き、送信ボタンを押す。<br>この時、メールソフトが佐藤さんの「秘密鍵」を使って、メール本文にデジタル署名（電子的なハンコ）をペタッと貼り付ける。</span><br><strong>３．受信側で検証<br></strong><span class="fz-16px">顧客のメールソフトがメールを受信する。<br>受信側のソフトは、メールについている署名を見て、「これ本当に佐藤さん（<code>support@y-sha.com</code>）が書いたものか？」を、認証局の公開鍵を使ってチェックする。</span></p>



<h3 class="wp-block-heading"><span id="toc28">MUA,MAT,MDAとは？&#8212;-</span></h3>



<p class="wp-block-paragraph">メールのフローを勉強していると必ずと言っていいほど出てくる用語がある。それを見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>名称</strong></td><td><strong>正式名称</strong></td><td><strong>わかりやすい役割</strong></td><td><strong>具体例</strong></td></tr></thead><tbody><tr><td><strong>MUA</strong></td><td>Mail <strong>User</strong> Agent</td><td><strong>メールを書く・読むソフト</strong>（ユーザーの道具）</td><td>Outlook、Thunderbird、Gmailアプリ</td></tr><tr><td><strong>MTA</strong></td><td>Mail <strong>Transfer</strong> Agent</td><td><strong>メールを運ぶ・中継するサーバー</strong>（郵便局・トラック）</td><td>Postfix、Sendmail、今回の問題の「メール中継サーバZ」</td></tr><tr><td><strong>MDA</strong></td><td>Mail <strong>Delivery</strong> Agent</td><td><strong>メールを届けて保存するサーバー</strong>（各個人の郵便受け）</td><td>Dovecot、Cyrus（受信箱に格納する役割）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc29">不備により設問５は成立しないとは？&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="561" height="101" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-73.png" alt="" class="wp-image-8071" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-73.png 561w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-73-300x54.png 300w" sizes="(max-width: 561px) 100vw, 561px" /></figure>



<p class="wp-block-paragraph">Q.問題文を読んだいる限り目立った矛盾点はなさそう。。。。ではどこが不備なのか？<br>A.本文中に「秘密鍵を共有する」旨の記述がある。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="680" height="45" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-74.png" alt="" class="wp-image-8072" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-74.png 680w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-74-300x20.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></figure>



<p class="wp-block-paragraph">本来、秘密鍵とは共有するものではない。また、S/MIMEは個人の証明をするものなのに、その情報を共有するとなるとS/MIMEの根幹部分に矛盾を生じさせるようなものである。<br>。。といった理由で不備とされている可能性があるかもしれない。。</p>



<p class="wp-block-paragraph"><br>　</p>



<p class="wp-block-paragraph"><br><span class="fz-16px"><br></span></p>



<p class="wp-block-paragraph"><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和6年（2024年）ネスペ午後Ⅱ　問１　解答解説</title>
		<link>https://ascend-beyond.com/study/7992/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 26 Aug 2026 01:35:29 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7992</guid>

					<description><![CDATA[目次 設問１（３）同じレイヤー２のネットワークを持つすべてのリモートVTEPに転送するため▼EVPNを使わないときのアドレス解決設問２（1）d:LSDB　e:最短経路（３）複数ある経路のそれぞれの経路について、コストの合 [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（３）同じレイヤー２のネットワークを持つすべてのリモートVTEPに転送するため</a><ol><li><a href="#toc3" tabindex="0">▼EVPNを使わないときのアドレス解決</a></li></ol></li></ol></li><li><a href="#toc4" tabindex="0">設問２</a><ol><li><a href="#toc5" tabindex="0">（1）d:LSDB　e:最短経路</a></li><li><a href="#toc6" tabindex="0">（３）複数ある経路のそれぞれの経路について、コストの合計値を同じ値にする</a></li></ol></li><li><a href="#toc7" tabindex="0">設問４</a><ol><li><a href="#toc8" tabindex="0">（３）利点：iBGPピアの数を減らすことができる　IDの名称：クラスターID</a></li><li><a href="#toc9" tabindex="0">p.3 データセンターを所有する大手EC事業者とは？ｰｰｰｰｰｰｰｰｰ</a></li><li><a href="#toc10" tabindex="0">p.3 VXLANとは？&#8212;&#8212;-</a></li><li><a href="#toc11" tabindex="0">p.3 EVPNとは？&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc12" tabindex="0">AFI/SAFIとは？&#8212;&#8212;&#8212;&#8212;&#8211;</a></li><li><a href="#toc13" tabindex="0">p.3 VTEPとは？&#8212;&#8212;&#8212;-</a></li><li><a href="#toc14" tabindex="0">VXLANのパケット構成&#8212;&#8212;&#8212;&#8211;</a><ol><li><a href="#toc15" tabindex="0">▼VXLANパケットのフロー</a></li></ol></li><li><a href="#toc16" tabindex="0">p.5 タグVLANとは？&#8212;&#8211;</a></li><li><a href="#toc17" tabindex="0">p.5 PIM-SMとは？&#8212;&#8212;&#8212;</a></li><li><a href="#toc18" tabindex="0">そもそもマルチキャストとは？&#8212;&#8212;</a></li><li><a href="#toc19" tabindex="0">なぜ現行ネットワークではLAGができないのか？&#8212;&#8212;-</a></li><li><a href="#toc20" tabindex="0">なぜ新構成ネットワークだとLAGできるのか？&#8212;-</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（３）同じレイヤー２のネットワークを持つすべてのリモートVTEPに転送するため</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="905" height="148" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-45.png" alt="" class="wp-image-8001" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-45.png 905w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-45-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-45-764x125.png 764w" sizes="(max-width: 905px) 100vw, 905px" /></figure>



<p class="wp-block-paragraph">これは、要は、L2におけるフラッディングをL3上で再現するための仕組みである。なお、ここではEVPNを使っていないので、このような面倒くさいタスクが必要になる。</p>



<h4 class="wp-block-heading"><span id="toc3">▼EVPNを使わないときのアドレス解決</span></h4>



<p class="wp-block-paragraph"><strong>１．VTEP-A配下のVM１がIPアドレス10.0.0.100のMACアドレスを知りたいと思いARP要求<br>２．仮想L2スイッチはARPテーブルを持っていないので、適切なVLNAタグが付与してVTEP-Aに届ける<br>３．VTEP-AはVLANからVNIを割り出す。そしてVNIに対応するマルチキャストアドレスをセットしてL3ネットワークに送信する<br></strong><span class="fz-18px"><span class="fz-16px">＊EVPNがないと、以前にVM100と通信指定も保持できる情報は、「外側のリモートVTEPのIPアドレスとVMのMACアドレスのみ」であるため、過去にVTEP-AがVM100と通信していてもVTEP-Aが直接ARP応答を返すことはできない。</span></span><br><span class="fz-16px">＊VNIとVLAN IDのマッピングはEVPNがないと、管理者が手動で設定しなければならない。<br></span><strong>４．マルチキャストが当該グループに属するすべてのVTEPに届き、当該VNIに対応するVLAN IDに属するポートへ流す<br>５．物理サーバNICから仮想L2スイッチまで届き、当該VLANに属するVMに転送する<br>６．VMに届き、自分のIPであればARP応答を返し、自分のIPでなければ破棄をする<br></strong><span class="fz-16px">＊この流れからわかる通り、EVPNがない場合は関係のないパケットが下流のVMまで届いてしまうので無駄が多い。例えば、VM自体のCPU,仮想L2スイッチのCPU、物理サーバまでの帯域など、消費する必要のないものを消費してしまっているので非効率と言わざるを得ない。</span></p>



<h2 class="wp-block-heading"><span id="toc4">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc5">（1）d:LSDB　e:最短経路</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="953" height="202" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-47.png" alt="" class="wp-image-8006" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-47.png 953w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-47-300x64.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-47-764x162.png 764w" sizes="(max-width: 953px) 100vw, 953px" /></figure>



<p class="wp-block-paragraph"><strong>d:LSDB<br></strong>　同一エリア内で同一リンク情報を同期させたデータベース<br><strong>e:最短経路<br></strong>　最短経路ツリーの別解としてはSPF（ShortestPathFirst）ツリーも有効。</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<a href="https://ascend-beyond.com/study/network_specality/7900/" title="令和7年（2025年）ネスペ午後Ⅰ　問１　解答解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-160x90.jpg 160w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-300x169.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-1024x576.jpg 1024w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-768x432.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-120x68.jpg 120w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67-320x180.jpg 320w, https://ascend-beyond.com/wp-content/uploads/2026/08/34cb75a52c2d910eeb71a9eb8b21af67.jpg 1200w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">令和7年（2025年）ネスペ午後Ⅰ　問１　解答解説</div><div class="blogcard-snippet internal-blogcard-snippet">設問１（２）不正なOSPFルータと隣接関係になり経路交換してしまう問題不正なOSPFルータと経路交換をすると自分の内部アドレスの情報が漏れたり、逆に悪意のあるルートを注入されたりしてしまい正常な通信の妨害となる。なお、余談だがOS...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ascend-beyond.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">ascend-beyond.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.08.08</div></div></div></div></a>
</div><figcaption class="wp-element-caption">OSPFの流れ　「loading」でページ内検索</figcaption></figure>



<h3 class="wp-block-heading"><span id="toc6">（３）複数ある経路のそれぞれの経路について、コストの合計値を同じ値にする</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="814" height="72" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-48.png" alt="" class="wp-image-8008" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-48.png 814w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-48-300x27.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-48-757x67.png 757w" sizes="(max-width: 814px) 100vw, 814px" /></figure>



<p class="wp-block-paragraph">ECMP（Equal-Cost-Multi-Path）とは「宛先までの合計コストが同一<ruby>＆<rt>かつ</rt></ruby>複数のネクストホップがある」という２つの条件をみたした経路では、ルーティングテーブルに登録され、負荷分散が可能になる。<br>＊通常のルーティングテーブルには宛先に対して１つのネクストホップしか登録されないのが常。しかし、ECMPでは１つの宛先に複数のネクストホップが登録されるようになる。</p>



<h2 class="wp-block-heading"><span id="toc7">設問４</span></h2>



<h3 class="wp-block-heading"><span id="toc8">（３）利点：iBGPピアの数を減らすことができる　IDの名称：クラスターID</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="904" height="99" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-53.png" alt="" class="wp-image-8018" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-53.png 904w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-53-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-53-767x84.png 767w" sizes="(max-width: 904px) 100vw, 904px" /></figure>



<p class="wp-block-paragraph">iBGPには「iBGPから受け取った経路をほかのiBGPには流さない」というルールがある。つまり、フルメッシュ構成を強いられるのである。しかし、それではピアが増えれば増えるほど、CPU負荷、ネットワーク帯域負荷が発生してしまう。そこで出てきたのが<span class="blue">ルートリフレクター</span>である。ルートリフレクターとは、iBGPの経路をほかのiBGPへ流すことが許可されているルータである。つまり、<span style="text-decoration: underline;">これにピアを張りさえすれば、ピア関係にないiBGPの経路も受け取れるようになるのでフルメッシュ構成から解放される。</span></p>



<p class="wp-block-paragraph">クラスターIDとは&#8230;<br>　ルートリフレクター（RR）を冗長化した時にRR同士で経路情報がループするのを防ぐための識別番号。RRの導入はそもそも「iBGPから受け取った経路をほかのiBGPには流さない」というルールの抜け穴を作るためである。しかし、それが災いしてRR間でループを引き起こしてしまう。それを防ぐために、クラスターIDを使うことでRR間でループを検知できるようになる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#クラスターIDの設定
router bgp AS番号
　bgp cluster-id 1.1.1.1
　
#RRの設定
 neighbor 配下IP route-reflector-client" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#クラスターIDの設定</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">　bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">cluster-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1</span><span style="color: #E6DB74">.1.1</span></span>
<span class="line"><span style="color: #A6E22E">　</span></span>
<span class="line"><span style="color: #88846F">#RRの設定</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">配下IP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-reflector-client</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">p.3 データセンターを所有する大手EC事業者とは？ｰｰｰｰｰｰｰｰｰ</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="699" height="58" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-41.png" alt="" class="wp-image-7995" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-41.png 699w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-41-300x25.png 300w" sizes="(max-width: 699px) 100vw, 699px" /></figure>



<p class="wp-block-paragraph"><em><strong>Q.EC事業者がデータセンターを所有？どうゆうこと？ECはECだけやればいいじゃん？<br></strong></em>A.大量の物理サーバやネットワーク機器を設置するための施設がデータセンター。小規模であれば、自社内に配置できる。しかし、大規模・大量の場合は、強固な建屋、安定した電源、空調、高いセキュリティといった観点からデータセンターを自社で建てて/借りて、自社専用のデータセンターを丸ごと運用するというパターンがよくある。</p>



<p class="wp-block-paragraph"><strong><em>Q.そもそもECサイトとは？？<br></em></strong>A.ECはElectronicCommerce（電子商取引）の略。つまり、ウェブサイトやアプリなどのネットを介して取引を行うビジネスのこと。</p>



<h3 class="wp-block-heading"><span id="toc10">p.3 VXLANとは？&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="924" height="160" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-42.png" alt="" class="wp-image-7997" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-42.png 924w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-42-300x52.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-42-762x132.png 762w" sizes="(max-width: 924px) 100vw, 924px" /></figure>



<p class="wp-block-paragraph">Q.なんでVXLANが必要なの？ややこしくて複雑な仕組みだけど、メリットあるの？<br>A.従来のVLANでは実現できないことがVXLANでは実現可能なので、VXLANが使われている。</p>



<p class="wp-block-paragraph"><strong>メリット１：仮想ネットワークの拡大<br></strong>　VLANはVLAN IDが12ビットで構成されているため、4094(2<sup>12</sup>-2）個しか利用できない。一方、VXLANはVNIが24ビット、つまり約1677万（2<sup>24</sup>-1）個も利用できる。これによって大規模データセンター内で利用できるようになった。<br>＊VLANの場合は規格で0と4095が予約されているためマイナス２となる。一方、VXLANの場合は0のみの予約なのでマイナス１となる。</p>



<p class="wp-block-paragraph"><strong>メリット２：L3を跨いだL2延伸ができる</strong><br>　VXLANはイーサネットパケットをカプセル化することで、L3を跨いでも同一のL2として扱うことができる。一方VLANは同一VLAN内でL3を跨いだ通信はできない。<br><strong>Q.L2を延伸できたら何がいいの？？</strong><br>A.離れていても同一プレフィックスで構成できるため、ライブマイグレーションなどでIPアドレスを変更しなくてもよくなりサービス継続がスムーズになる。L2延伸ができない、＝プレフィックスが変わるとIPアドレスを変えざるをえないのでDNS設定などの各種設定変更が必要になる。<br><strong>Q.なんでVLANではL3跨げないの？<br></strong>A.ルータはL2を破壊して、つまりガン無視してL3による転送処理をする。また、ルータはブロードキャストを転送しない。ルータは同一プレフィックスを複数のポートに割り当てられない。<br>これらの特徴より、VLANのみではL3を跨げない。<br><strong>Q.ルータ・オン・ア・スティックではVLAN間通信できるじゃん⁉それと同じ感じでL3跨げばいいじゃん？<br></strong>A.ルータオンアスティックはあくまでも異なるVLAN間の通信を処理しているだけ。いわば、L2部分はガン無視してL3の宛先IPアドレスから出力ポートを決定し、そのポートに割り当てられたVLANを再度付与して転送しているだけ。一方、同一VLANでルータを越えようとしても、ルータには同一プレフィックスのポートは持てないので、IPによる転送をしてもそのプレフィックスは他のポートには割り当てられないので結局L3を跨げない。</p>



<h3 class="wp-block-heading"><span id="toc11">p.3 EVPNとは？&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="935" height="150" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-43.png" alt="" class="wp-image-7998" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-43.png 935w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-43-300x48.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-43-767x123.png 767w" sizes="(max-width: 935px) 100vw, 935px" /></figure>



<p class="wp-block-paragraph">EVPNはEthernetVPNの略で、MP-BGPの一種。本来BGPはIPv4にしか対応していないが、IPv6やVPNの情報も運びたいというニーズに答えた、様々な種類を運べるようにしたものがMP-BGP。そのMP-BGPの中でL2の情報も運べるものがEVPN。</p>



<p class="wp-block-paragraph">EVPNはBGPアップデートの中に<strong>NLRI</strong>というデータ枠を設けて、その中にVTEP情報やVM情報などを入れる。これによって、VTEP間で配下のVM情報を認識できるようになる。</p>



<p class="wp-block-paragraph"><span class="bold-blue">NLRI</span>（NetworkLayerReachabilityInformation）：BGPアップデート内のデータ枠。この中にType２，３，５などを格納する。また、NLRIはEVPNに限った用語ではなく、BGPでも普通に使われている。<br><span class="bold-blue">Type2</span>（MAC/IP広報）:配下のVM MAC＋配下のVM IP+VNI＋VTEP自身のIP<br><span class="bold-blue">Type3</span>（VTEPのIPアドレス）：BUMトラフィックを配信するためのVTEP一覧<br><span class="bold-blue">Type5</span>（IPプレフィックス）:デフォルトルートやサブネット単位のIP経路、経路集約など</p>



<h3 class="wp-block-heading"><span id="toc12">AFI/SAFIとは？&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph"><strong>Q.EVPNを勉強していると、AFIやSAFIという単語を耳にする。それらはいったい何なのだろうか。<br></strong>A.AFIとSAFIを一言で言うとMP-BGPで使われるタグ。MP-BGPではIPv4,IPv6,VPNなど様々アドレスファミリが利用されるため、内部で「これはこのアドレスファミリの広告ですよ！」と伝える必要がある。そのタグが、AFIとSAFIである。</p>



<p class="wp-block-paragraph"><strong>Q.AFIとSAFIを具体的に&#8230;.？<br></strong>A.AFIはAddressFamilyIdentifier（アドレスファミリ識別子）である。SAFIはSubsequentAddressFamilyIdentifierの略。MP-BGPで広告種類を表すタグとして、AFIとSAFIがある。AFIはその中でも大まかな種類を表したもの。SAFIはより具体的な種類を表したタグになる。具体的にはこんな感じ👇</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>やりたいこと</strong></td><td><strong>AFI</strong></td><td><strong>SAFI</strong></td><td><strong>ルータへの伝わり方</strong></td></tr></thead><tbody><tr><td><strong>普通のIPv4ルーティング</strong></td><td><code>1</code> (IPv4)</td><td><code>1</code> (Unicast)<br>2 (Multicast)</td><td>AFI=1,SAFI=2なら「IPv4のマルチキャストだよ」</td></tr><tr><td><strong>普通のIPv6ルーティング</strong></td><td><code>2</code> (IPv6)</td><td><code>1</code> (Unicast)<br>2 (Multicast)</td><td>AFI=2,SAFI=1なら「IPv6のユニキャスト経路（例: 2001:db8::/32）だよ」</td></tr><tr><td><strong>VXLANなどのEVPN</strong></td><td><code>25</code> (L2VPN)</td><td><code>70</code> (EVPN)</td><td>「EVPNのMAC/IPアドレスやVTEP位置の情報だよ」</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc13">p.3 VTEPとは？&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="933" height="106" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-44.png" alt="" class="wp-image-7999" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-44.png 933w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-44-300x34.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-44-766x87.png 766w" sizes="(max-width: 933px) 100vw, 933px" /></figure>



<p class="wp-block-paragraph">VTEP(VXLAN Tunnel End Point)は普通のルータやスイッチにVXLANカプセル化・解除を行う機能を追加した機器（またはソフトウェア）のこと。で、あとはシンプルにBGPを流すの同様の流れで、相手とネイバー関係を築いて、EVPNのやり取りをする。</p>



<h3 class="wp-block-heading"><span id="toc14">VXLANのパケット構成&#8212;&#8212;&#8212;&#8211;</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="┌─────────────────────────────────────────────────────────────┐
│ 外側L2ヘッダー   : 物理スイッチ宛てのMACアドレス               │
├─────────────────────────────────────────────────────────────┤
│ 外側L3ヘッダー   : 宛先VTEPのIPアドレス (IP)                  │
├─────────────────────────────────────────────────────────────┤
│ 外側L4ヘッダー   : 宛先ポート 4789 (UDP)                     │
├─────────────────────────────────────────────────────────────┤
│ VXLANヘッダー   : VNI (24bitのネットワーク識別子)             │
├─────────────────────────────────────────────────────────────┤
│ 元のL2フレーム   : サーバーが出した「元のMAC + IP + データ」   │
│ (ペイロード)                                                │
└─────────────────────────────────────────────────────────────┘" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">┌─────────────────────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">外側L2ヘッダー</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">物理スイッチ宛てのMACアドレス</span><span style="color: #F8F8F2">               </span><span style="color: #E6DB74">│</span></span>
<span class="line"><span style="color: #A6E22E">├─────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">外側L3ヘッダー</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">宛先VTEPのIPアドレス</span><span style="color: #F8F8F2"> (IP)                  │</span></span>
<span class="line"><span style="color: #A6E22E">├─────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">外側L4ヘッダー</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">宛先ポート</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">4789</span><span style="color: #F8F8F2"> (UDP)                     │</span></span>
<span class="line"><span style="color: #A6E22E">├─────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">VXLANヘッダー</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">VNI</span><span style="color: #F8F8F2"> (24bitのネットワーク識別子)             │</span></span>
<span class="line"><span style="color: #A6E22E">├─────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">元のL2フレーム</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">サーバーが出した「元のMAC</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">+</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">IP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">+</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">データ」</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">│</span></span>
<span class="line"><span style="color: #A6E22E">│</span><span style="color: #F8F8F2"> (ペイロード)                                                │</span></span>
<span class="line"><span style="color: #A6E22E">└─────────────────────────────────────────────────────────────┘</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>Q.VXLANのパケット構成では、UDP4789やVXLANヘッダーなどのいろいろなヘッダーを追加していく。では、それらがなぜ必要なのかを見ていこう！</strong><br>A.<span class="blue">VXLANヘッダー</span>はVNIを格納し、どのVNI、つまりVLANと対応ずいているのかを示すのに使われる。<span class="blue">UDP4789</span>はVTEPが受け取った時に、「あ、これはVXLANの処理をすればいいんだな」と理解できるようにするためのヘッダー。<br>では、フローを見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc15">▼VXLANパケットのフロー</span></h4>



<p class="wp-block-paragraph">VTEP-Aの配下にある物理サーバ内のVM10からVTEP-Ｂの配下にある物理サーバ内のVM100への通信を例に見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．VMがパケットを生成して送信<br></strong><span class="fz-16px">　＊この時点では通常のイーサネットパケット<br></span><strong>２．物理サーバ内の仮想スイッチに届くL2スイッチに届きフラッディングをする</strong><br><span class="fz-16px">　＊<span class="blue">VLANタグの付与</span>：仮想スイッチは受信ポートから「あ、このポートはVLAN○番だな！」と判断し、VLANタグをつける<br>　＊<span class="blue">フラッディング</span>：仮想スイッチが宛先を知らない場合、フラッディングをして、物理NICと他のVMにも転送する</span><br><strong>３．VTEPに届きL3ネットワークへ<br></strong><span class="fz-16px">　＊フラッディングにより物理NICを経由してVTEPに届く<br>▼VTEPの処理フロー<br>①<span class="blue">VNIの付与</span>：パケットのVLANタグをみて「あ、VLAN○番はVNI△番に対応しているからVNIは△番を設定しよう」と判断し、VLANタグを剥がしVXLANヘッダーを付与する<br>②<span class="blue">UDP4789の付与</span>：受信側が個のパケットはVXLANのパケットだと識別できるようにUDP4789番を付与する<br>③<span class="blue">外側IPヘッダーの付与</span>：EVPNで学習したテーブルを参照し、「あ、この宛先MACアドレスはこのVTEP配下にあるVMだな。では、宛先IPを当該VTEPに設定しよう」となる。</span><br><strong>４．L3ネットワーク<br></strong>　＊OSPFやIS-ISなどのIGPでL3ネットワークのアンダーレイを構築しておき、VTEP間の疎通を可能にさせる<br><strong>５．宛先VTEPに届く</strong><br><span class="fz-16px">▼VTEPの処理フロー<br>①L3処理：宛先IPが自分宛なのでL3を解体してL4の中身を確認する<br>②L4処理：L4はUDP4789が設定されているので、「あ、これはVXLANだ！」と判断しVXLANプロセスを待機させる<br>③VXLANヘッダー処理：VXLANヘッダー内のVNIを確認し、そのVNIにマッピングされているVLANを見つける。<br>④生パケットの送信：①～③のカプセル化を解除すると生のイーサネットパケットが出てくる。その生パケットに③で判明したVLAN情報タグをセットする。その後、生パケットの宛先IPから適切な出力ポートを判断し、出力する</span><br><strong>６．物理サーバに届く<br></strong><span class="fz-16px">　＊物理サーバに届くと内部の仮想L2スイッチに転送される<br>通常の物理サーバは宛先MACが自分以外であると、処理せず破棄される。なので、ここではひと工夫必要となる。<br>工夫１：<span class="blue">プロミスキャスモードに設定</span><br>　プロミスキャスモードに設定することで、自分以外の宛先MACアドレスでも処理対象にすることができる。<br>＊ただし、まったく関係のないパケットも節操なく処理してしまうのでCPU負荷が高まってしまうというデメリットがある<strong><br></strong>工夫２：<span class="blue">MACテーブルのオフロード</span><br>　ハイパバイザが配下にあるVMのMACアドレス情報をサーバのMACアドレステーブルに反映させる方法。これにより、VM宛てのパケットでも物理サーバは「あ、自分の配下にあるMACだな」と判断して処理フローに進めるようになる。<br>＊ただし、サーバー用NICがSmartNICやSR-IOV対応NICである必要がある。</span><br><strong>７．仮想L2スイッチに届く</strong><br><span class="fz-16px">　仮想L2スイッチに届くとVLANタグと宛先MACアドレスを確認して、適切な出力ポートから出力する。<strong><br></strong></span><strong>８．VMに届き、一件落着！！</strong></p>



<h3 class="wp-block-heading"><span id="toc16">p.5 タグVLANとは？&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="804" height="72" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-46.png" alt="" class="wp-image-8005" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-46.png 804w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-46-300x27.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-46-759x68.png 759w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<p class="wp-block-paragraph">VLANには主に２つの種類がある。<strong>ポートベースVLAN</strong>と<strong>タグVLAN</strong>である。<br><span class="blue">ポートベースVLAN：<br></span>　ポートに直接VLANを割り当てる方式。いわば、そのポートからは１つのVLANしか扱えないということ。<br><span class="blue">タグVLAN：<br></span>　パケットの中（送信元MACとタイプの間）にVLANタグを挟むことでポートに依存しないVLANを構成することができる。つまり、１つのポートで複数のVLANを扱えるということ（＝トランクリンク）。</p>



<h3 class="wp-block-heading"><span id="toc17">p.5 PIM-SMとは？&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="903" height="149" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-49.png" alt="" class="wp-image-8009" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-49.png 903w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-49-300x50.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-49-764x126.png 764w" sizes="(max-width: 903px) 100vw, 903px" /></figure>



<p class="wp-block-paragraph"><span class="blue">PIM-SM</span>や<span class="blue">PIM-DM</span>とはマルチキャスト通信を目的地まで届けるためのルーティングプロトコル。<br><strong>PIM-SM：<br></strong><span class="fz-16px">　<strong>配信ツリーの作り方</strong>：受信側から「ちょうだい（Join）」と言われてから、必要な場所にだけ伸ばしていく。<br>　<strong>作るツリー</strong>：最初は<strong> </strong>共有ツリー（RPT） を作り、途中から 最短経路ツリー（SPT） に切り替える。<br>＊共有ツリーとはマルチキャストで使われるルーティングテーブルのこと。</span><br><strong>PIM-DM:<br></strong><span class="fz-16px">　<strong>配信ツリーの作り方</strong>：最初にとりあえず全網へドカンと流し、不要な場所から「いらない（Prune）」と言われて削っていく。<br>　<strong>作るツリー</strong>：最初からいきなり <strong>最短経路ツリー（SPT）</strong> を作る（※DMには「共有ツリー」や「ランデブーポイント」は存在しません）。</span></p>



<h3 class="wp-block-heading"><span id="toc18">そもそもマルチキャストとは？&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">マルチキャストとは、複数の宛先にまとめて送れるアドレスのこと。複数ユーザーに１回１回ユニキャストすると、送信元のCPU負荷や経路途中の帯域などを非効率に使ってしまう。しかし、マルチキャストであれば、１つの送信で複数の宛先に届くため、より効率的になる。</p>



<p class="wp-block-paragraph"><strong>▼マルチキャストの種類</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>種類</strong></td><td><strong>アドレス範囲</strong></td><td><strong>特徴・用途</strong></td></tr></thead><tbody><tr><td><strong>ローカルリンク</strong></td><td><code>224.0.0.0/24</code></td><td>ルーターを越えない。OSPF（<code>224.0.0.5</code>など）やVRRPなどの制御用パケット。</td></tr><tr><td><strong>グローバル</strong></td><td><code>224.0.1.0</code> 〜 <code>238.255.255.255</code></td><td><strong>インターネット上で重複不可（IANA管理）</strong>。世界的ライブ配信や金融データ配信などに使用。</td></tr><tr><td><strong>プライベート</strong></td><td><code>239.0.0.0/8</code></td><td><strong>社内・データセンター内限定（重複OK）</strong>。VXLANのBUMトラフィック通信などで自由に使ってよい。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">▼マルチキャストのコマンド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#マルチキャストルーティングテーブルの表示
show ip mroute

#ランデブーポイントの情報を表示
show ip pim rp mapping

#ランデブーポイントの設定
ip multicast-routing　#マルチキャストの有効化
ip pim rp-address RPのアドレス

#PIM-SMの有効化
interface g0/0
ip pim sparse-mode" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#マルチキャストルーティングテーブルの表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mroute</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ランデブーポイントの情報を表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pim</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">rp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mapping</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ランデブーポイントの設定</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">multicast-routing　#マルチキャストの有効化</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pim</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">rp-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">RPのアドレス</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#PIM-SMの有効化</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pim</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sparse-mode</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc19">なぜ現行ネットワークではLAGができないのか？&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="932" height="365" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-50.png" alt="" class="wp-image-8014" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-50.png 932w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-50-300x117.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-50-766x300.png 766w" sizes="(max-width: 932px) 100vw, 932px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="840" height="602" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-51.jpg" alt="" class="wp-image-8015" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-51.jpg 840w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-51-300x215.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-51-767x550.png 767w" sizes="(max-width: 840px) 100vw, 840px" /><figcaption class="wp-element-caption">現状</figcaption></figure>



<p class="wp-block-paragraph">現状の構成と新規の構成を比較して、色々な疑問が出てくる。なぜそもそもこのような構成なのか？なぜ現行ではLAGできないのか。。などなど。それらの疑問を一つずつ紐解いていこう！</p>



<p class="wp-block-paragraph"><strong>Q.なんで、L3SW11とL3SW12に分けてるの？<br></strong>リンクアグリゲーションをしたいなら最初からL3SW11に２本のリンクつなげればよくね？<br>A.L3SW11が故障した場合、物理サーバ内のすべてのVMが利用不可能になってしまうため、冗長性として、L3SW12を準備している。</p>



<p class="wp-block-paragraph"><strong>Q.現行構成ではどうやって経路切り替えしているの？<br></strong>L3SW11とL3SW12によって冗長化構成になっていることは理解できた。しかし、もしL3SW11に障害が発生した場合は、どのように検知してどのように経路がL3SW12へと切り替わるのかのイメージがつかめない。。。<br>A.現行構成では<span class="bold-blue">NICチーミング</span>が使われている。では、フローを見ながら理解していこう！<br><strong>①物理障害の検知<br></strong><span class="fz-16px">　L3SW11が落ちるとサーバの左側NICのリンクがダウンする<br></span><strong>②サーバ内の切り替え<br></strong><span class="fz-16px">　サーバの仮想スイッチが「あ、メインの線死んだ。。」と判断して右側のNICをアクティブにする<br></span><strong>③GARPの送信<br></strong><span class="fz-16px">　サーバは切り替えた瞬間に「私（VM）は切り替えました」というGARP（GratuitousARP）をL3SW12に向けて投げる<br></span><strong>④L3SW12からリモートVTEPに伝播<br></strong><span class="fz-16px">　L3SW12に届いたGARPはVXLANヘッダにカプセル化され、マルチキャストグループ宛てに送信される。そして、リモートVTEPまで渡り学習される。<br>　リモートVTEPは、外側の送信元（L3SW12）のIPアドレスと、内側のGARP情報（リモートVMのIP、MAC）を学習する。また、内側の情報は、適切なVLAN内へブロードキャストして伝える</span></p>



<p class="wp-block-paragraph"><strong>Q.現行だとなぜLAGできないの？<br></strong>A.LAG（リンクアグリゲーション）をするにはいくつかの条件を満たす必要がある。しかし、現行では、L3SW間でスタック接続や同期設定を採用しているわけではないのでLAGはできない。<br><span class="blue">１．System ID<br></span><span class="fz-16px">　SystemIDは「ブリッジ優先度＋スイッチMACアドレス」で構成されている。これがLAG対象の対向リンクですべて一致している必要がある。</span><br><span class="blue">２．ポート設定<br></span><span class="fz-16px">　速度、モード（Full Duplex）、VLAN設定（Trunk/AccessやVLAN ID）が双方で一致していること<br></span><span class="blue">３．LACPキー<br></span><span class="fz-16px">　双方で同じポートグループとして設定されていること</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#Etherchannelの作成
interface range G0/0-1
channel-group 1 mode active
exit

#Etherchannelの詳細設定
interface Port-channel 1
switchport mode trunk
switchport trunk allowed vlan 100,200

#Etherchannelの状態確認
show etherchannel summary" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#Etherchannelの作成</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">range</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">G0/0-1</span></span>
<span class="line"><span style="color: #A6E22E">channel-group</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">active</span></span>
<span class="line"><span style="color: #66D9EF">exit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Etherchannelの詳細設定</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Port-channel</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #A6E22E">switchport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trunk</span></span>
<span class="line"><span style="color: #A6E22E">switchport</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trunk</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">allowed</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">vlan</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #E6DB74">,200</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Etherchannelの状態確認</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">etherchannel</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">summary</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc20">なぜ新構成ネットワークだとLAGできるのか？&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="857" height="717" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-52.jpg" alt="" class="wp-image-8016" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-52.jpg 857w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-52-300x251.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-52-767x642.png 767w" sizes="(max-width: 857px) 100vw, 857px" /><figcaption class="wp-element-caption">新規</figcaption></figure>



<p class="wp-block-paragraph">現行の構成では、さまざまな制約によりLAGができなかった。しかし、新構成にするとなぜかLAGができる。どうやらEVPNやESIと呼ばれる機能がそれらを支えているらしい。。。しかし詳しいことはわからない。なので、それを紐解いていこう！</p>



<p class="wp-block-paragraph"><strong>Q.ESIとは？<br></strong>A.ESI（EthernetSegmentIdentifier）とは名前の通りセグメントの識別子である。つまり、同一の物理サーバにつながっているL3SWリンクのESIは同一のESIとして設定する。<br>なお、ESIを設定する目的はVTEP同士で、自分と同一のESIであればVTEP間でテーブル情報を同期したり、配下のサーバーとのLAGのための仮想MAC同期などを実施できるようになる。<br>また、周囲のVTEPに対しても同一のESIを持つものだと認識させL3ネットワーク上の負荷分散などにも寄与させることができる。</p>



<p class="wp-block-paragraph"><strong>Q.ESIとEVPNの関係は？<br></strong>A.ESIはEVPNのType４に載せて広告する。</p>



<p class="wp-block-paragraph"><strong>Q.EVPN-MHとは？<br></strong>EVPNとESIをつかって～というと、マルチホーミングが～でといった返しをされることがある。いったいなんなのか？<br>A.EVPN-MH（EVPN-MultiHoming)とはEVPNとESIを組み合わせて配下にある機器にとっての出口を複数にする技術である。マルチホーミングとは、１つの端末が複数のスイッチやルーターに対して足を延ばして冗長接続している状態のことである。</p>



<p class="wp-block-paragraph"><strong>Q.なぜ新構成ではLAGが組めるのか？<br></strong>A.ESIによって、VTEP間で同一セグメント内であることを認識できるようになったためLAGが組めるようになった。具体的には、同一セグメントであると判断すると、そこから動的に仮想MACアドレスを生成・同期できる。LAGの条件である同一のシステムID（ブリッジ優先度＋スイッチMAC）を利用することができるようになるので、LAGが組めるようになる。</p>



<p class="wp-block-paragraph"><strong>Q.なんでスタック接続しないの？<br></strong>スタック接続をすれば、わざわざL3で同期したりする必要もなくなる。なのに、L3での同期にこだわっている。それはなぜ？<br>A.一見よさそうに見えるスタックだが、デメリットも存在する。<br>・脳みそが共通化されてしまう：<br>　脳みそが共通化されると、片方のスイッチでOSバグやバッファあふれが起きると、もう片方も巻き添えを食らうことになってしまう。つまり、冗長化のための機能を果たせなくなってしまう。<br>・物理的な制約：<br>　スタックは物理的な接続が必要なので、少し離れてしまうとケーブルが届かなくなってしまう。</p>



<p class="wp-block-paragraph"><strong>Q.VSSとStackWiseの違いは？<br></strong>CiscoのCCNPなどでよく出てくるこれら二つの用語は非常に紛らわしい。ということで、先ほどまでで関連用語が出てきたので、この先にまとめておこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>StackWise (スタックワイズ)</strong></td><td><strong>VSS (Virtual Switching System)</strong></td></tr></thead><tbody><tr><td><strong>主な対象機種</strong></td><td>Catalyst 3650 / 3850 / 9300 など（アクセス〜ディストリビューション層）</td><td>Catalyst 4500-E / 6500 / 9500 など（コア・ディストリビューション層）</td></tr><tr><td><strong>接続台数</strong></td><td><strong>最大 8〜9台</strong>（機種による）</td><td><strong>2台限定</strong></td></tr><tr><td><strong>使用するケーブル</strong></td><td><strong>専用のスタックケーブル</strong>（背面の専用スロットに短距離太線を挿す）</td><td><strong>通常のEthernetケーブル</strong>（10G/40G/100Gの光ファイバー等）</td></tr><tr><td><strong>接続ロジック</strong></td><td>専用スタックリング（リング構成）で高速同期</td><td>VSL（Virtual Switch Link）という専用論理リンクを構築して同期</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-16px"><br></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問３　解答解説</title>
		<link>https://ascend-beyond.com/study/7964/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Thu, 20 Aug 2026 03:05:39 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7964</guid>

					<description><![CDATA[目次 設問１（１）複数機器のログを時系列で確認するため（２）登録したFQDNやIPアドレス宛ての通信をブロックするため / 利用者認証を行うため / Webサイトへのアクセス履歴の確認のため（３）L3SWのDHCPリース [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">設問１</a><ol><li><a href="#toc2" tabindex="0">（１）複数機器のログを時系列で確認するため</a></li><li><a href="#toc3" tabindex="0">（２）登録したFQDNやIPアドレス宛ての通信をブロックするため / 利用者認証を行うため / Webサイトへのアクセス履歴の確認のため</a></li><li><a href="#toc4" tabindex="0">（３）L3SWのDHCPリースログ</a></li><li><a href="#toc5" tabindex="0">（３）a:Syslogサーバ　b:認証サーバ</a></li><li><a href="#toc6" tabindex="0">（４）c:10080　d:443</a></li></ol></li><li><a href="#toc7" tabindex="0">設問２</a><ol><li><a href="#toc8" tabindex="0">（１）SWGサービスのルート証明書</a><ol><li><a href="#toc9" tabindex="0">▼SSLインスペクションの裏で起きていること</a></li></ol></li><li><a href="#toc10" tabindex="0">（２）C＆Cサーバ</a></li></ol></li><li><a href="#toc11" tabindex="0">設問３</a><ol><li><a href="#toc12" tabindex="0">p.15 セキュアWebゲートウェイとは？ｰｰｰｰｰｰｰｰｰ</a></li><li><a href="#toc13" tabindex="0">プロキシとSWGの違いは？&#8212;&#8212;&#8212;&#8212;&#8212;-</a></li><li><a href="#toc14" tabindex="0">p.15 SaaSの利用者認証とは？&#8212;&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc15" tabindex="0">NTPコマンド&#8212;&#8212;&#8212;&#8212;</a></li><li><a href="#toc16" tabindex="0">PACを配布する方法であるWPADとは?&#8212;&#8212;&#8212;-</a></li><li><a href="#toc17" tabindex="0">プロキシ・FW・WAFの違いは？&#8212;&#8212;&#8212;-</a></li><li><a href="#toc18" tabindex="0">Syslogコマンド&#8212;&#8212;-</a></li><li><a href="#toc19" tabindex="0">p.16 プロキシとRADIUSの連携はどうやってやるの？&#8212;&#8212;&#8212;&#8211;</a></li><li><a href="#toc20" tabindex="0">統合Windows認証とは？&#8212;&#8212;&#8212;&#8212;-</a></li><li><a href="#toc21" tabindex="0">p.17 SWGのグローバルIP割り当てサービスとは？&#8212;&#8212;&#8212;&#8212;&#8212;-</a></li><li><a href="#toc22" tabindex="0">p.17 エージェントが利用者認証する方法</a></li><li><a href="#toc23" tabindex="0">p.17 フォワードプロキシからリバースプロキシへの転用&#8212;&#8212;</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）複数機器のログを時系列で確認するため</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="829" height="136" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-28.png" alt="" class="wp-image-7967" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-28.png 829w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-28-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-28-768x126.png 768w" sizes="(max-width: 829px) 100vw, 829px" /></figure>



<p class="wp-block-paragraph">NTP×ログ解析ときたら→「複数機器＆時系列」という組み合わせが王道。複数機器同士で異なる時間軸を使ってしまうと、ログを時系列で確認できなくなってしまう。そのため、同一の時間軸を使うことでしっかりとログの前後関係が明確になり、事象を追いやすくなる。</p>



<h3 class="wp-block-heading"><span id="toc3">（２）登録したFQDNやIPアドレス宛ての通信をブロックするため / 利用者認証を行うため / Webサイトへのアクセス履歴の確認のため</span></h3>



<p class="wp-block-paragraph">▼p.16 </p>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-4"><img decoding="async" width="833" height="99" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-29.png" alt="" class="wp-image-7971" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-29.png 833w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-29-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-29-768x91.png 768w" sizes="(max-width: 833px) 100vw, 833px" /></figure>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-5"><img decoding="async" width="832" height="82" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-31.png" alt="" class="wp-image-7973" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-31.png 832w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-31-300x30.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-31-768x76.png 768w" sizes="(max-width: 832px) 100vw, 832px" /></figure>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-6"><img decoding="async" width="839" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-30.png" alt="" class="wp-image-7972" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-30.png 839w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-30-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-30-768x118.png 768w" sizes="(max-width: 839px) 100vw, 839px" /></figure>



<p class="wp-block-paragraph">そもそも、プロキシの目的は、アウトバンド（内→外）の通信に対して「誰が、どこに、何を」といった情報を検査することである。<br>「誰が」を担当するのが認証、「どこに」はURLフィルタリング、レピュテーションが担当し、「何を」はSSLインスペクション、DLPなどが担当する。<br>要は、認証、フィルタリング、ログ収集という３つの主要な役割がある。それを本文中から見つけてあげればよい。</p>



<h3 class="wp-block-heading"><span id="toc4">（３）L3SWのDHCPリースログ</span></h3>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-7"><img decoding="async" width="879" height="109" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-34.png" alt="" class="wp-image-7977" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-34.png 879w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-34-300x37.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-34-768x95.png 768w" sizes="(max-width: 879px) 100vw, 879px" /></figure>



<p class="wp-block-paragraph">FWの通信ログにもIPアドレスは記載されている。しかし、社内IPアドレスは概して動的に一時的付与であることが多い。そのため、不正通信が発覚した時刻に使われていたIPアドレスの利用者と現在の当該IPアドレス利用者ではリース時間の関係で異なる可能性がある。そのため、DHCP機能を有したL3SWのDHCPリースログを確認する必要がある。</p>



<p class="wp-block-paragraph">▼PC（MACアドレス）を特定するコマンド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#DHCPバインディングテーブルの表示
show ip dhcp binding

#DHCPバインディングテーブルで192.168.1.50を含む行のみ表示
show ip dhcp binding | include 192.168.1.50

#Syslogの中でDHCPが含まれている＆192.168.1.50が含まれているログを出力する
show logging | include DHCPD.*192.168.1.50" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#DHCPバインディングテーブルの表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">binding</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#DHCPバインディングテーブルで192.168.1.50を含む行のみ表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">binding</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">include</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168</span><span style="color: #E6DB74">.1.50</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Syslogの中でDHCPが含まれている＆192.168.1.50が含まれているログを出力する</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">logging</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">include</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPD.</span><span style="color: #FD971F">*</span><span style="color: #E6DB74">192.168.1.50</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc5">（３）a:Syslogサーバ　b:認証サーバ</span></h3>



<p class="wp-block-paragraph">これは暗記問題。SyslogはUDP514で認証サーバ（RADIUS）は1812,1813番を使う。以下は、よく耳にするプロトコルなのでしっかり確認しておこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロトコル</strong></td><td><strong>ポート番号</strong></td><td><strong>トランスポート</strong></td><td><strong>役割・特徴</strong></td></tr></thead><tbody><tr><td><strong>FTP</strong></td><td>20 / 21</td><td>TCP</td><td>データ転送（20）/ 制御コマンド（21）</td></tr><tr><td><strong>SSH</strong></td><td>22</td><td>TCP</td><td>暗号化リモートログイン</td></tr><tr><td><strong>TELNET</strong></td><td>23</td><td>TCP</td><td>平文リモートログイン</td></tr><tr><td><strong>SMTP</strong></td><td>25</td><td>TCP</td><td>メール送信・サーバー間転送</td></tr><tr><td><strong>DNS</strong></td><td>53</td><td>UDP / TCP</td><td>基本はUDP（名前解決）。ゾーン転送や長文応答はTCP</td></tr><tr><td><strong>DHCP</strong></td><td>67 / 68</td><td>UDP</td><td>IPアドレス自動割当（67:サーバ受信用, 68:クライアント受信用）</td></tr><tr><td><strong>HTTP / HTTPS</strong></td><td>80 / 443</td><td>TCP</td><td>Web通信（443はSSL/TLS暗号化）</td></tr><tr><td><strong>NTP</strong></td><td>123</td><td>UDP</td><td>時刻同期</td></tr><tr><td><strong>SNMP</strong></td><td><strong>161 / 162</strong></td><td>UDP</td><td>機器監視・管理（161:ポーリング問い合わせ, 162:Trap自発通知）</td></tr><tr><td><strong>Syslog</strong></td><td><strong>514</strong></td><td>UDP</td><td>ログ転送</td></tr><tr><td><strong>RADIUS</strong></td><td><strong>1812 / 1813</strong></td><td>UDP</td><td>認証・認可（1812）/ アカウンティング（1813）</td></tr><tr><td><strong>LDAP / LDAPS</strong></td><td>389 / 636</td><td>TCP</td><td>AD等のディレクトリサービス照会（636は暗号化）</td></tr><tr><td><strong>SMTPS</strong></td><td>465</td><td>TCP</td><td>暗号化メール送信（Implicit TLS）</td></tr><tr><td><strong>Submission</strong></td><td>587</td><td>TCP</td><td>ユーザーからのメール送信受付（STARTTLS）</td></tr><tr><td><strong>POP3S / IMAPS</strong></td><td>995 / 993</td><td>TCP</td><td>暗号化メール受信</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">（４）c:10080　d:443</span></h3>



<p class="wp-block-paragraph">cの10080については本文中にプロキシは10080を使うと明示されている。dに関しては、SaaSへの通信なので、443を使う。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="773" height="52" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-35.png" alt="" class="wp-image-7978" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-35.png 773w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-35-300x20.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-35-768x52.png 768w" sizes="(max-width: 773px) 100vw, 773px" /></figure>



<p class="wp-block-paragraph">内部セグメントからK社SaaSへの直接通信なので、プロキシは経由しない。</p>



<h2 class="wp-block-heading"><span id="toc7">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc8">（１）SWGサービスのルート証明書</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="832" height="175" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-36.png" alt="" class="wp-image-7979" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-36.png 832w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-36-300x63.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-36-768x162.png 768w" sizes="(max-width: 832px) 100vw, 832px" /></figure>



<p class="wp-block-paragraph">SWGサービスのルート証明書というと短すぎてよくわからないので、細かく言うと、「SWGが（偽の証明書を発行するために）運用している『プライベート認証局（CA）』の『最上位（ルート）CA証明書』」ということ。<br>SWGはSSLインスペクションによってPCとWebサーバ間の通信を監視したい。そのためにはクライアントにとって、SWGがあたかも本物のWebサーバであるかのような振る舞いをする必要がある。その際に、SWGのルート証明書が必要になる。</p>



<h4 class="wp-block-heading"><span id="toc9">▼SSLインスペクションの裏で起きていること</span></h4>



<p class="wp-block-paragraph"><strong>１．クライアントからSWGに転送<br></strong><span class="fz-16px">　クライアント内のエージェントがSWG経由の対象である通信（<a href="https://example.com">https://example.com</a>）をキャッチすると、SWG宛てになるようにカプセル化を行う。元のパケットの宛先はWebサーバのまま保持。<br>　なおURLがhttpsの場合はTLSが使われるため、クライアントはTLSハンドシェイクのClient Helloを送信する</span><br><strong>２．SWGに届く</strong><br><span class="fz-16px">　SWGに届くとカプセル化が解除され本物のパケットが出現する。その中のSNI（ServerNameIndication）を読み取りクライアントがアクセスしようとしている宛先ホスト（example.com）を特定する。</span><br><strong>３．SWGと本物Webサーバ間でTLSハンドシェイク</strong><br><span class="fz-16px">　SWGはクライアントに変身する前に、SWG自身でWebサーバとTLSハンドシェイクを実施し、当該Webサーバのサーバ証明書を検証する。</span><br><strong>４．SWGによる偽サーバ証明書の作成</strong><br>　<span class="fz-16px">本物のサーバ証明書をもとに、SWGは内部に保持している「<span class="blue">プライベートCAの秘密鍵</span>」を使って<span class="blue">SAN</span>（SubjectAlternativeName）にexample.comを記載した偽のサーバ証明書をその場で即座に生成・自動<span class="blue">署名</span>する。</span><br><span class="fz-16px">▼署名の流れ</span><br><span class="fz-14px">①サーバ証明書内のフィールド（ドメイン名、有効期限、発行者名、公開鍵など）をひとまとめにしたデータをハッシュ関数（SHA-256など）に入力し<strong>ハッシュ値を生成</strong>する。</span><br><span class="fz-14px">②ハッシュ値をSWG内の<strong>CAの秘密鍵</strong>で暗号化する。この暗号化したデータこそが<strong>デジタル署名</strong>になる。</span><br><strong>５．SWGとクライアント間でTLSハンドシェイク</strong><br><span class="fz-16px">　偽のサーバ証明書をクライアントに送り、クライアントは検証する。</span><br><span class="fz-16px">▼検証手順：</span><br><span class="fz-14px">①ドメインの一致（サイトURLのドメインとSANフィールド内のドメインが一致しているか）<br>②有効期限の確認<br>③デジタル署名検証（署名をSWG内のプライベートCAの公開鍵で復号して値を抽出。その値と、クライアント自身でもハッシュを作成した値が一致したらOK）<br>④信頼チェーン検証（署名したCAが正しいかを確認していき、最終的にクライアントが保持しているルートCA証明書まで到達したらOK）</span><br><strong>６．内部ステートテーブルへ登録</strong><br><span class="fz-16px">　SWGは「クライアント⇔SWG」と「SWG⇔Webサーバ」のそれぞれの送信元IP/ポート、宛先IP/ポート」などを記録し紐づけることによって、２つのトンネルを対応づけている。</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロキシ内部のID (ソケット)</strong></td><td><strong>クライアント側 (Src IP:Port)</strong></td><td><strong>転送先 (Dest IP:Port)</strong></td></tr></thead><tbody><tr><td>トンネルA</td><td>192.168.1.10 : 50001</td><td>104.21.XX.XX : 443</td></tr><tr><td>トンネルB</td><td>192.168.1.10 : 50002</td><td>142.250.XX.XX : 443</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>７．復号・検査・再暗号化と中継</strong><br><span class="fz-16px">　ここまでの手順で準備がととのったので、あとは通信を仲介する。その際に、暗号化・復号化、検査を実施する。</span></p>



<h3 class="wp-block-heading"><span id="toc10">（２）C＆Cサーバ</span></h3>



<p class="wp-block-paragraph">C＆CサーバとはCommand＆Controlの略。マルウェア感染したPCなどが命令をもらいに行くためのサーバがC＆Cサーバ。で、C＆Cサーバ自体も、どこかのPCやサーバなどがマルウェア感染してC＆Cサーバとして強制的に振舞わせているだけという可能性もある。そのためC＆Cサーバの特定ができても本当の黒幕までを特定することは非常に難しい。</p>



<h2 class="wp-block-heading"><span id="toc11">設問３</span></h2>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）２，７</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="789" height="426" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-40.png" alt="" class="wp-image-7990" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-40.png 789w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-40-300x162.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-40-768x415.png 768w" sizes="(max-width: 789px) 100vw, 789px" /></figure>



<p class="wp-block-paragraph">フォワードプロキシをリバースプロキシにするということは&#8230;不要になる通信は&#8230;.<br>１．まずは内部→プロキシへの通信は不要になる。(7番)<br>２．プロキシ→外部への通信も不要になる。(2番)</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">p.15 セキュアWebゲートウェイとは？ｰｰｰｰｰｰｰｰｰ</span></h3>



<p class="wp-block-paragraph">セキュアWebゲートウェイ（SWG）を端的に言うと「<strong>インターネット上にあるセキュリティ機能が追加されたプロキシサーバ</strong>」である。<br>従来までは転送にフォーカスしていたが、SWGなら転送だけでなく「SSLインスペクション、レピュテーション、マルウェア駆除」など様々なセキュリティ機能を使える。</p>



<h3 class="wp-block-heading"><span id="toc13">プロキシとSWGの違いは？&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph"><strong>プロキシ</strong>は通信の代理中継がメイン。<br><strong>SWG</strong>とはそのプロキシという仕組みをベースに更に<span style="text-decoration: underline;">パケットの内部</span>を検査して<span class="blue">DLP、URLフィルタリング、レピュテーション、マルウェア駆除</span>などの内部にもフォーカスしてくれるプロキシをSWGという。<br><strong>▼SWGの主な機能</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>機能名</strong></td><td><strong>概要・仕組み</strong></td><td><strong>主な目的・リスク対策</strong></td></tr></thead><tbody><tr><td><strong>SSL/TLSインスペクション</strong></td><td>暗号化（HTTPS）された通信をSWGで一度復号し、中身（コンテンツ）をチェックする機能</td><td>暗号化通信に隠されたマルウェア感染やデータ流出の検知</td></tr><tr><td><strong>URL / Webフィルタリング</strong></td><td>FQDN、IP、カテゴリ（ギャンブル、SNSなど）を基に悪質・業務外サイトへの接続を遮断する機能</td><td>不正サイトへのアクセス防止、業務外利用の制限</td></tr><tr><td><strong>レピュテーション機能</strong></td><td>接続先ドメインやIPの安全性・信頼性をデータベース照会でスコア化し、低スコアの接続を遮断する機能</td><td>立ち上がったばかりの危険なフィッシングサイトなどの遮断</td></tr><tr><td><strong>マルウェア駆除（アンチウイルス）</strong></td><td>ダウンロード/アップロードされるファイルをパターンマッチングで検査し、ウイルスを検出・除去する機能</td><td>既知のマルウェア感染の防止</td></tr><tr><td><strong>サンドボックス機能</strong></td><td>疑似的な隔離環境で未知のファイルを実際に動作させ、不審な挙動（レジストリ変更や外部通信など）を観察・判定する機能</td><td>パターンファイルが存在しないゼロデイ攻撃や未知のマルウェア対策</td></tr><tr><td><strong>DLP（データ漏洩防止）</strong></td><td>通信に含まれる個人情報（マイナンバー、クレカ番号）や機密キーワード、特定ファイルを検知して送信をブロックする機能</td><td>内部不正や誤操作によるクラウドへの情報漏洩防止</td></tr><tr><td><strong>アプリケーション制御</strong></td><td>単なるポート単位ではなく、「YouTube閲覧は許可するがコメント投稿は不可」「特定のストレージのみ許可」などWebアプリの挙動を制御する機能</td><td>シャドーIT（許可のないSaaS利用）の対策や詳細なアクセス制御</td></tr><tr><td><strong>ダイレクト通信機能</strong></td><td>特定の信頼できるSaaS（Microsoft 365など）や社内Webへの通信をSWG経由から除外し、直接接続させる機能</td><td>SWGの処理負荷軽減、Web会議などの遅延（レイテンシ）防止</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">p.15 SaaSの利用者認証とは？&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="845" height="144" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-27.png" alt="" class="wp-image-7966" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-27.png 845w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-27-300x51.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-27-768x131.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>



<p class="wp-block-paragraph">Q.SaaSの利用者認証ってどうやってやるの？<br>A.インスタグラムなどのSNSと同じようにユーザIDとパスワードを使って認証する。</p>



<h3 class="wp-block-heading"><span id="toc15">NTPコマンド&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">では、NTPでよく使われるコマンドや同期情報の確認方法を見ていこう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#時刻を同期したいNTPサーバのIPアドレスを指定＆下位のストラタムに時刻を提供できるようにもなる
RouterA(config)#ntp server IPアドレス

#NTPのマスタになる。デフォルトのストラタムは8------
RouterA(config)#ntp master ストラタム


#NTP同期情報の表示-----------------------------
Router# show ntp associations

address         ref clock       st   when  poll reach  delay  offset    disp
*10.0.0.1       192.168.1.100   2    64    64   377   5.234  -0.632    18.2
+192.168.1.101   10.0.0.1        3    32    64   177   8.123   1.234    22.1
 192.168.1.102   10.0.0.2        3    48    64   177   9.456   2.345    25.3

↑ このマークが重要" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#時刻を同期したいNTPサーバのIPアドレスを指定＆下位のストラタムに時刻を提供できるようにもなる</span></span>
<span class="line"><span style="color: #A6E22E">RouterA(config</span><span style="color: #F8F8F2">)#ntp server IPアドレス</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#NTPのマスタになる。デフォルトのストラタムは8------</span></span>
<span class="line"><span style="color: #A6E22E">RouterA(config</span><span style="color: #F8F8F2">)#ntp master ストラタム</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#NTP同期情報の表示-----------------------------</span></span>
<span class="line"><span style="color: #A6E22E">Router#</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ntp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">associations</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">address</span><span style="color: #F8F8F2">         </span><span style="color: #E6DB74">ref</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">clock</span><span style="color: #F8F8F2">       </span><span style="color: #E6DB74">st</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">when</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">poll</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">reach</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">delay</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">offset</span><span style="color: #F8F8F2">    </span><span style="color: #E6DB74">disp</span></span>
<span class="line"><span style="color: #F92672">*</span><span style="color: #F8F8F2">10.0.0.1       192.168.1.100   2    64    64   377   5.234  -0.632    18.2</span></span>
<span class="line"><span style="color: #A6E22E">+192.168.1.101</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.1</span><span style="color: #F8F8F2">        </span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">32</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">64</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">177</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">8.123</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">1.234</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">22.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">192.168.1.102</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.2</span><span style="color: #F8F8F2">        </span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">48</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">64</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">177</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">9.456</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">2.345</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">25.3</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">↑</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">このマークが重要</span></span></code></pre></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>行頭記号</strong></td><td><strong>意味</strong></td><td><strong>状態の解説</strong></td></tr></thead><tbody><tr><td><strong><code>*</code></strong> （アスタリスク）</td><td><strong>現在同期中（sys.peer）</strong></td><td><strong>正常。</strong> このNTPサーバを基準として時刻を同期しています。</td></tr><tr><td><strong><code>+</code></strong> （プラス）</td><td><strong>同期候補（candidate）</strong></td><td>正常に通信できており、メインのサーバに問題があった場合に昇格する候補です。</td></tr><tr><td><strong><code>#</code></strong> （ハッシュ）</td><td>参照除外（selected）</td><td>距離が遠いなどの理由で、同期候補から除外されています。</td></tr><tr><td><strong><code>~</code></strong> （チルダ / なみなみ）</td><td><strong>静的ピア（statically configured）</strong></td><td>設定ファイル等で固定指定されているピア/サーバを表します（同期中とは限りません）。</td></tr><tr><td><strong><code></code></strong> （空白）</td><td>応答なし / 未同期</td><td>サーバと通信できていない、または拒否されている状態です。</td></tr><tr><td><strong><code>x</code></strong> （エックス）</td><td>偽時計（falseticker）</td><td>他のサーバと時刻が大きくズレており、破棄された状態です。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">PACを配布する方法であるWPADとは?&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">Ｑ．PACファイルとはプロキシ通信の挙動を制御するファイルである。プロキシ例外リストよりも、より細かな設定（時間帯、ワイルドカードマスク、条件分岐などなど）を実現できるJavaScriptファイル。これを各PCに配置する方法がWPADである。では、どのように配置するかを見ていこう！<br>Ａ．WPAD（Web Proxy Auto-Discovery Protocol）とは「大元となるWebサーバにおいたPACファイルを、PCが自動でダウンロードしに行く仕組み」である。自動で大元まで到達するには様々な方法がある。ここでは２つ紹介していこう！</p>



<p class="wp-block-paragraph"><strong>方法１：DNS<br></strong><span class="fz-16px">①クライアントは自分の所属ドメインの先頭にwpadを付加して名前解決をする<br>（例：wpad.自社ドメイン.com）<br>②名前解決で得られたIPアドレス（Webサーバ）の標準パス（/wpad.dat）へアクセスしてファイルを取得する</span></p>



<p class="wp-block-paragraph"><strong>方法２：DHCP<br></strong><span class="fz-16px">①クライアントがIPアドレス取得の際に使うDHCPフローの中で、オプションとして「Option252」と呼ばれるPACファイルのURLも一緒に通知<br>（例：<code><a rel="noopener" href="http://wpad.domain.com/wpad.dat" title="404 Not Found" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwpad.domain.com%2Fwpad.dat?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">404 Not Found</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=http://wpad.domain.com/wpad.dat" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">wpad.domain.com</div></div></div></div></a>(http://wpad.domain.com/wpad.dat)</code>）<br>②①のURLへアクセスしファイルを取得する。</span></p>



<h3 class="wp-block-heading"><span id="toc17">プロキシ・FW・WAFの違いは？&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">方向・目的などに着目すると違いが明確になるので、それらに着目しながら見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>ファイアウォール（FW）</strong></td><td><strong>WAF</strong></td><td><strong>プロキシ（Proxy / SWG）</strong></td></tr></thead><tbody><tr><td><strong>主な通信方向</strong></td><td><strong>双方向</strong>（イン / アウト）</td><td><strong>インバウンド</strong>（外 → 内）</td><td><strong>アウトバウンド</strong>（内 →外）</td></tr><tr><td><strong>保護対象</strong></td><td>ネットワーク全体（セグメント）</td><td>自社が公開する<strong>Webサーバ</strong></td><td>社内ネットワークの<strong>PC・社員</strong></td></tr><tr><td><strong>検査レイヤー</strong></td><td><strong>L3 / L4</strong>（IP・ポート番号）</td><td><strong>L7</strong>（HTTP/HTTPSアプリケーション層）</td><td><strong>L7</strong>（HTTP/HTTPSアプリケーション層）</td></tr><tr><td><strong>主な役割・目的</strong></td><td>ネットワーク境界の「門番」。無効なポートや不正IPからの接続を制限</td><td>Webサーバ前の「用心棒」。Webアプリの脆弱性を狙う攻撃を遮断</td><td>社員が外へ出る際の「検問所」。安全なアクセス制御と履歴の保存</td></tr><tr><td><strong>得意な処理・機能</strong></td><td>パケットフィルタリング、NAT</td><td>SQLi、XSS、OSコマンド注入などの<strong>攻撃コード検知</strong></td><td><strong>プロキシ認証</strong>、URLフィルタリング、DLP、ログ一元管理</td></tr><tr><td><strong>分担する理由</strong></td><td>単純なIP/ポートの大量交通整理を高速処理するため</td><td>外部からの高度なWeb攻撃からサーバを守る処理に特化するため</td><td>社員が出かける際の大量なWeb通信の中身解読・検査に特化するため</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">Syslogコマンド&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-8"><img decoding="async" width="814" height="84" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-32.png" alt="" class="wp-image-7974" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-32.png 814w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-32-300x31.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-32-768x79.png 768w" sizes="(max-width: 814px) 100vw, 814px" /></figure>



<p class="wp-block-paragraph">Syslogのコマンドを見ていこう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#ログを転送するSyslogサーバの指定
logging host SyslogのIPアドレス

#Syslogサーバに送信するログ
logging trap サベリティレベル

#ログに出力されるタイムスタンプを指定
service timestamps log datetime msec

#バッファに格納するログ
logging buffered バッファサイズ　サベリティレベル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#ログを転送するSyslogサーバの指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">SyslogのIPアドレス</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Syslogサーバに送信するログ</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trap</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">サベリティレベル</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ログに出力されるタイムスタンプを指定</span></span>
<span class="line"><span style="color: #A6E22E">service</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">timestamps</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">log</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">datetime</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">msec</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#バッファに格納するログ</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">buffered</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">バッファサイズ　サベリティレベル</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc19">p.16 プロキシとRADIUSの連携はどうやってやるの？&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="820" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-33.png" alt="" class="wp-image-7976" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-33.png 820w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-33-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-33-768x85.png 768w" sizes="(max-width: 820px) 100vw, 820px" /></figure>



<p class="wp-block-paragraph">プロキシとRADIUSの連携と聞くとなんだか難しそうだけど、フローを見ると意外とシンプルであることが分かる。なので見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．クライアントがWeb通信のためにプロキシに接続<br>２．プロキシが認証要求（HTTP 407）<br></strong><span class="fz-16px">　プロキシは未認証のユーザからの接続に対しては、407 Proxy Authentication Required（IDとパスワードを出してください）というエラーを返す<br></span><strong>３．ユーザが認証情報を入力しプロキシへ送信</strong><br><span class="fz-16px">　PCにポップアップが表示され当該情報を入力する</span><br><span class="fz-16px"><span class="red">?普段の会社PCなどではプロキシを使っているはずだけど、ポップアップが表示されることがないのはなぜ？<br></span>A.ActiveDirectoryと統合Windows認証が裏で自動処理してくれているから。</span><br><span class="fz-16px">　PCがログインした時点で裏で、認証済みのチケットを受け取ることができ、以降の通信において認証情報が求められたら裏でその認証チケットを利用して自動認証できるようにActiveDirectoryと統合Windows認証が動いてくれている。<br></span><strong>４．プロキシはRADIUSサーバへ投げる</strong><br><span class="fz-16px">　認証情報をRADIUS(認証：UDP1812, アカウンティング：UDP1813）に包みRADIUSサーバへ渡す（<span class="blue">Access-Request</span>）。</span><br>　<span class="fz-16px">RADIUSはHTTPが理解できないので、認証サーバが理解できる標準フォーマット（RADIUS）に変換してあげることで、IDとパスワードを正しく認識・判定させている。</span><br><strong>５．RADIUSの判定結果<br></strong><span class="fz-16px">　RADIUSサーバが認証し、問題がなければAccess-Accept（許可）をプロキシに返す</span>。<br><strong>６．通信の開始</strong></p>



<p class="wp-block-paragraph">ここまでが大まかな流れだよ！では、一旦完了！</p>



<h3 class="wp-block-heading"><span id="toc20">統合Windows認証とは？&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">正式名称はIntegrated Windows Authentication（IWA,統合Windows認証）である。しかし、場合によっては、Windows統合認証と呼ばれたりもする。一言で言うと、「<strong>ブラウザとWindowsOSが連携してPCログイン情報をHTTP上で自動送信する仕組み（フレームワーク）</strong>」のこと。要は、ブラウザ(HTTP)とActiveDirectoryの橋渡しをしてくれる機能。<br>これがないと、SSO的な働きができないので、ユーザが手動でポップアップに表示された画面に自身のID,パスワードを入力していた。</p>



<h3 class="wp-block-heading"><span id="toc21">p.17 SWGのグローバルIP割り当てサービスとは？&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="828" height="166" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-37.png" alt="" class="wp-image-7985" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-37.png 828w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-37-300x60.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-37-768x154.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></figure>



<p class="wp-block-paragraph">Q.文章だけ読むと、「端末や社内ルータに設定するためのIP（WAN用IP）を付与する」といったISP的なサービスを想像してしまう。しかし、そうではない。では、何を何のためにしているのか？<br>A.端的に言うと「SWGが外と通信するときにIPアドレスを固定にする」ということである。SWG（SaaS）サービスからの送信元は、IPアドレスは動的に変化したり他社と共有されることがある。そのため、IPアドレス制限を用いているWebサービスなどにおいては、固定のものを設定したい。そのような場合に、問題文中にもあるような「固定のグローバルIPアドレスを割り当てるサービスメニュー」を使うのである。</p>



<h3 class="wp-block-heading"><span id="toc22">p.17 エージェントが利用者認証する方法</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="124" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-38.png" alt="" class="wp-image-7986" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-38.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-38-300x44.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-38-768x114.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">Ｑ．エージェント、利用者認証をして~~どうのこうの~~とかって書いてあるけど、どうやって利用者認証するの？一般的にはどうすんの?<br>Ａ．SWGの認証を受ける方法として最も一般的なのが、Idp連携をエージェントが裏で実行するパターン。ではIdp連携を見ていこう</p>



<p class="wp-block-paragraph"><strong>▼Idp連携フロー</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>フェーズ</strong></td><td><strong>主体</strong></td><td><strong>動作・処理内容</strong></td></tr></thead><tbody><tr><td><strong>0</strong></td><td><strong>事前準備</strong></td><td>管理者</td><td>SWG側に「IdPのリダイレクト先URL」と「検証用のIdP公開鍵（証明書）」をあらかじめ登録しておく。</td></tr><tr><td><strong>1</strong></td><td><strong>Web接続・転送</strong></td><td>クライアント → SWG</td><td>クライアントがWebアクセスを開始。エージェント（ソフトE）が通信をキャッチし、SWGへ転送する。</td></tr><tr><td><strong>2</strong></td><td><strong>未認証検知・要求</strong></td><td>SWG → クライアント</td><td>SWGは「トークン（許可証）なし＝未認証」と判断。あらかじめ設定されたIdPのログインURLへ<strong>リダイレクト</strong>するよう指示を返す。</td></tr><tr><td><strong>3</strong></td><td><strong>IdPへアクセス</strong></td><td>クライアント → IdP</td><td>エージェント（内部ブラウザ）が指示に従い、自動的にIdP（Entra ID）へアクセスする。</td></tr><tr><td><strong>4</strong></td><td><strong>OSによる自動認証</strong></td><td>OS (Windows) → IdP</td><td><strong>統合Windows認証</strong>（またはPRT）が働き、OSが「PCログイン済み」の認証情報をバックグラウンドでIdPへ提出する。</td></tr><tr><td><strong>5</strong></td><td><strong>SAMLトークン生成</strong></td><td>IdP</td><td>認証OKと判断。ユーザー情報・有効期限などを載せたデータ（アサーション）を作成し、自身の<strong>秘密鍵</strong>でデジタル署名（ハッシュ化 →暗号化）を付与する。</td></tr><tr><td><strong>6</strong></td><td><strong>トークン受領</strong></td><td>IdP → エージェント</td><td>署名付きのSAMLトークンをエージェントに返却する。</td></tr><tr><td><strong>7</strong></td><td><strong>再アクセス</strong></td><td>エージェント → SWG</td><td>獲得したSAMLトークンを添えて、再度SWGへアクセスする。</td></tr><tr><td><strong>8</strong></td><td><strong>SWGでの署名検証</strong></td><td>SWG</td><td>事前登録してある<strong>IdPの公開鍵</strong>でデジタル署名を復号。自身で生成したハッシュ値と一致するか確認し、改ざんがない真正なトークンか検証する。</td></tr><tr><td><strong>9</strong></td><td><strong>通行許可・中継</strong></td><td>SWG</td><td>「認証済みの正規ユーザー」と確定し、通信を通過（DLP/検査などを経て目的のWebサイトへ中継）させる。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">p.17 フォワードプロキシからリバースプロキシへの転用&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="720" height="84" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-39.png" alt="" class="wp-image-7988" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-39.png 720w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-39-300x35.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></figure>



<p class="wp-block-paragraph">フォワードプロキシからリバースプロキシに利用方法を変えると書いてあると、なにかそれら二つに特別なつながりがあるように見える。しかし、これは単に、使わなくなったサーバを再利用しているだけである。なにかプロキシという共通点があるから転用が可能だったというわけではない。これが使わなくなったWebサーバであったとしてもリバースプロキシへの転用は可能である。<br>＊補足として、共通点があることによって、既にプロキシ機能が入っているので設定変更のみで挙動を変えられるというメリットはある。しかし、だからといってほかのサーバが転用できないというわけではない。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><span class="marker-red"><br></span>　</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問２　解答解説</title>
		<link>https://ascend-beyond.com/study/network_specality/7934/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 12 Aug 2026 07:00:36 +0000</pubDate>
				<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7934</guid>

					<description><![CDATA[設問１（１）c:PoE+ 以下の表より、30WはPoE＋であることが分かるので答えもPoE+となる。 規格名 IEEE規格 タイプ（給電能力のレベル） 最大給電電力（給電側/L2SW） PoE IEEE 802.3af  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）c:PoE+</span></span></strong></span></p>



<figure class="wp-block-image size-full wp-duotone-unset-9"><img decoding="async" width="911" height="128" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-14.png" alt="" class="wp-image-7943" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-14.png 911w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-14-300x42.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-14-768x108.png 768w" sizes="(max-width: 911px) 100vw, 911px" /></figure>



<p class="wp-block-paragraph">以下の表より、30WはPoE＋であることが分かるので答えもPoE+となる。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>規格名</strong></td><td><strong>IEEE規格</strong></td><td><strong>タイプ</strong><br>（給電能力のレベル）</td><td><strong>最大給電電力（給電側/L2SW）</strong></td></tr></thead><tbody><tr><td><strong>PoE</strong></td><td>IEEE 802.3af</td><td>Type 1</td><td><strong>15.4 W</strong>（受電側最大12.95W）</td></tr><tr><td><strong>PoE+</strong></td><td>IEEE 802.3at</td><td>Type 2</td><td><strong>30.0 W</strong>（受電側最大25.5W）</td></tr><tr><td><strong>PoE++</strong></td><td>IEEE 802.3bt</td><td>Type 3 / 4</td><td><strong>60.0 W 〜 90.0 W</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PoEを勉強していると、TypeAやTypeBといった単語を耳にする。これは、PoEにおいてLANケーブルにどのように電力を流すかを示したもの<br><strong>TypeA</strong>:1,2,3,6番のデータ転送用ピンの上に畳み込んで電力を流す方法<br><strong>TypeB</strong>:1,2,3,6番のデータ転送用ピンは使わずに4,5,7,8番に電力を流す方法。<br>＊1Gbpsの場合は8ピンすべてデータ転送に使うが基本的な動作は同じ。TypeAなら1,2,3,6番に電力を流し、TypeBなら4,5,7,8に流す。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）PCが属するセグメント</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="908" height="150" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-17.png" alt="" class="wp-image-7947" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-17.png 908w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-17-300x50.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-17-768x127.png 768w" sizes="(max-width: 908px) 100vw, 908px" /></figure>



<p class="wp-block-paragraph">DHCPサーバはgiaddrフィールドを見ることによって、「あ、このセグメントね！ってことはこのプープから払い出そう！」と判断できる。これがないとどのプールから払い出せばよいかわからなくなってしまう。では、実際の流れを見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc1">▼DHCPの大まかな流れ</span></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>略称</strong></td><td><strong>メッセージ名</strong></td><td><strong>送信元 → 送信先</strong></td><td><strong>役割・中身</strong></td></tr></thead><tbody><tr><td><strong>D</strong></td><td><strong>DHCPDISCOVER</strong></td><td>クライアント → サーバー</td><td>「誰かIPアドレスを割り当ててください！」（ブロードキャスト）</td></tr><tr><td><strong>O</strong></td><td><strong>DHCPOFFER</strong></td><td>サーバー → クライアント</td><td>「<code>192.168.10.15</code> を使わない？（仮提案）」</td></tr><tr><td><strong>R</strong></td><td><strong>DHCPREQUEST</strong></td><td>クライアント → サーバー</td><td>「じゃあ、その <code>192.168.10.15</code> を使わせてください！」</td></tr><tr><td><strong>A</strong></td><td><strong>DHCPACK</strong></td><td>サーバー → クライアント</td><td>「了解！確定したから使っていいよ（承認）」</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc2">▼DHCPリレーエージェントの流れ</span></h4>



<p class="wp-block-paragraph"><strong>１．【DISCOVER】PC → ルーター（リレーエージェント）<br></strong>　PCは<span class="blue">chaddr</span>フィールドに自身のMACアドレスを格納し、L2ブロードキャストを送信する<br><strong>２．【DISCOVER（転送）】ルーター →DHCPサーバー</strong><br>　ルータは受信インタフェースのIPアドレスを<span class="blue">giaddr</span>フィールドに格納する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#リレーエージェントの設定
interface Gi0/0
ip helper-address DHCPサーバのIPアドレス" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#リレーエージェントの設定</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Gi0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">helper-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPサーバのIPアドレス</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．【OFFER】DHCPサーバー →ルーター</strong><br>　・DHCPサーバはgiaddrフィールドを確認して適切なプールを特定する<br>　・宛先をgiaddrフィールドのIPに設定してユニキャストで送信</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip dhcp pool プール名
network ネットワークアドレス　プレフィックス長orサブネットマスク
default-router デフォルトルータのIPアドレス
dns-server DNSサーバのIP
lease 日　時間　分　#無限の場合はinfinite" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pool</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プール名</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネットワークアドレス　プレフィックス長orサブネットマスク</span></span>
<span class="line"><span style="color: #A6E22E">default-router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">デフォルトルータのIPアドレス</span></span>
<span class="line"><span style="color: #A6E22E">dns-server</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DNSサーバのIP</span></span>
<span class="line"><span style="color: #A6E22E">lease</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">日　時間　分　#無限の場合はinfinite</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．【OFFER（転送）】ルーター → スイッチ → PC</strong><br>　ルータはパケット内のchaddrを宛先として、ユニキャストで転送する<br><strong>５．【REQUEST】PC → DHCPサーバー</strong><br>　「そのIPアドレス使いたいです！」というリクエストを、DISCOVERと同じ中継手順（<code>giaddr</code> と <code>chaddr</code> を使用）でDHCPサーバーへ送信。<br><strong>６．【ACK】DHCPサーバー → PC<br></strong>　・DHCPサーバーが「承認（確定）」のACKを作成し、OFFERと同じ中継手順でPCへ返送<br>　・PCのIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNS等の設定が完了！</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）ログイン画面が表示されない事象が一部かつ不特定だから</span></span></strong></span></p>



<p class="wp-block-paragraph">帯域不足の場合は、「<strong>つながるPC</strong>」と「<strong>接続すらできずにタイムアウトするPC</strong>」にぱっきり分かれることがないから。「帯域不足なら影響は全体に広がる（全員が遅くなる）はず。しかし、タイムアウトになるのが『一部』にとどまっているということは、全体に波及していない『早い者勝ちの定員オーバー（NAPT上限）』が起きていると考えるのが妥当である。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="922" height="198" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-22.png" alt="" class="wp-image-7955" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-22.png 922w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-22-300x64.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-22-768x165.png 768w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="912" height="230" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-20.png" alt="" class="wp-image-7953" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-20.png 912w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-20-300x76.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-20-768x194.png 768w" sizes="(max-width: 912px) 100vw, 912px" /></figure>



<p class="wp-block-paragraph"><strong>タイムアウト画面</strong>とは以下のような接続が正常にできないときに表示される画面のこと。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="913" height="402" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-23.png" alt="" class="wp-image-7956" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-23.png 913w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-23-300x132.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-23-768x338.png 768w" sizes="(max-width: 913px) 100vw, 913px" /></figure>



<p class="wp-block-paragraph">タイムアウトには主に２種類ある。<strong>接続タイムアウト</strong>と<strong>セッションタイムアウト</strong>。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>種類</strong></td><td><strong>今回の現象（接続タイムアウト）</strong></td><td><strong>セッションタイムアウト</strong></td></tr></thead><tbody><tr><td><strong>正式名称</strong></td><td><strong>Connection Timeout</strong>（接続タイムアウト）</td><td><strong>Session Timeout</strong>（セッションタイムアウト）</td></tr><tr><td><strong>どんな状態？</strong></td><td><strong>接続すらできていない</strong>（返事が来ない）</td><td><strong>ログイン・接続は完了している</strong></td></tr><tr><td><strong>起きる理由</strong></td><td>相手サーバーやルーターから「応答（返事）」が規定時間内に返ってこないため。</td><td>ログイン後、一定時間操作（通信）がないため防犯上切断された。</td></tr><tr><td><strong>表示画面</strong></td><td>「このサイトにアクセスできません（恐竜画面）」</td><td>「一定時間操作がなかったためログアウトしました」</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（４）PC台数：327　エントリー数：120,000</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="944" height="206" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-24.png" alt="" class="wp-image-7959" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-24.png 944w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-24-300x65.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-24-768x168.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></figure>



<p class="wp-block-paragraph"><strong>PC台数：<br></strong>　まず、1台当たり200セッションを使う。そしてセッションの上限数は65,536である。つまり<span class="blue">65,536÷200=327.68</span>となる。つまり<span class="blue">327</span>台である。<br><strong>エントリー数：</strong><br>　問題文中の最初にU校には600台のPCがあることが分かる。そして、１台200セッション使うので<span class="blue">200×600=120,000</span>となる。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問３</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（３）調整：UDPの保持時間を300秒より小さくする</span></span></strong></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">　　　効果：未使用のUDPフローによるNAPT変換エントリーを早期に削除できる</span></span></strong></span></p>



<p class="wp-block-paragraph">HTTP/3ではアプリケーション層でセッション管理をしているので、NAPTのポート番号が変わったり、テーブルから一時的に削除されても通信を再開できる。だからこそ、ルータ側の保持期間を思い切って短くしても問題ない。というより、<strong>むしろ短くしなければならない！</strong><br>なぜなら、今まではTCPで行われていたWeb通信をHTTP/3によりUDPが使われるようになり、大量のUDPフローが生まれる。それらをすべて300秒保持していたらエントリが足りなくなる。そのため、短くする。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="645" height="351" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-26.png" alt="" class="wp-image-7961" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-26.png 645w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-26-300x163.png 300w" sizes="(max-width: 645px) 100vw, 645px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>通信プロトコル</strong></td><td><strong>保持時間</strong></td><td><strong>設定の意図・理由</strong></td></tr></thead><tbody><tr><td><strong>TCP (SYN)</strong></td><td>30秒</td><td>接続要求（SYN）送信後に応答が来ず失敗した通信のエントリーを、早期に破棄してリソースを解放するため。</td></tr><tr><td><strong>TCP (FIN 又は RST 片方向)</strong></td><td>60秒</td><td>一方のみからの切断要求で通信が滞った場合、再送処理などの猶予を確保しつつ一定時間で強制削除するため。</td></tr><tr><td><strong>TCP (FIN 又は RST 双方向)</strong></td><td>1秒</td><td>お互いに切断の合図を確認し通信が完全に終了したため、即座にエントリーを解放して再利用するため。</td></tr><tr><td><strong>UDP</strong></td><td>300秒</td><td>切断の概念がないため、通信途中でのタイムアウト（動画ストリーミングの途切れなど）を防ぐ目的で安全マージンを長めに取るため。</td></tr><tr><td><strong>DNS</strong></td><td>60秒</td><td>1リクエスト・1レスポンスで一瞬で終わる通信のため、通常のUDP（300秒）より短い時間で解放しテーブルの枯渇を防ぐため。</td></tr><tr><td><strong>ICMP</strong></td><td>60秒</td><td>pingなどの応答確認（Echo Request/Reply）は短時間で完了するため、一定時間の応答待ち猶予を持たせたのち破棄するため。</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc3">UDPを300秒から60秒などに短縮したらほかのプロトコルで影響でないの?&#8212;&#8212;&#8212;&#8212;</span></h4>



<p class="wp-block-paragraph">UDPを使うプロトコルとしてはVoIP,Syslog,NTP,SNMPなどがある。そのうちのVoIPにはKeepAliveという機能があり、定期的にUDPパケットを発生させてタイムアウトを防ぐ仕組みがある。一方、Syslog,NTP,SNMPなどはその仕組みがない。しかし、一方向の通信（双方向が不要。送りっぱなしでOK）であるため特に問題はない。ではどうしてそもそも300秒に設定されているの？<br>＊SNMP trapだけ例外<br><span style="text-decoration: underline;">A.シンプルに、NATの規格であるRFCによって2~5分以上が推奨されているから。</span><br>＊SNMP trapの場合は外からの通信がくるのでNAPTテーブルにないとブロックされてしまう。そのため、ポートを開けておくなどの特別な対応が必要になる。<span style="text-decoration: underline;"><br></span></p>



<p class="wp-block-paragraph"><br></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc4">p.9 Wi-Fi6とは&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="665" height="43" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-13.png" alt="" class="wp-image-7935" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-13.png 665w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-13-300x19.png 300w" sizes="(max-width: 665px) 100vw, 665px" /></figure>



<p class="wp-block-paragraph">では、Wi-Fi6を学ぶついでにWi-Fi４，５も以下の表で一緒に確認しましょう。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>Wi-Fi 4</strong></td><td><strong>Wi-Fi 5</strong></td><td><strong>Wi-Fi 6</strong></td></tr></thead><tbody><tr><td><strong>IEEE規格名</strong></td><td>IEEE 802.11n</td><td>IEEE 802.11ac</td><td>IEEE 802.11ax</td></tr><tr><td><strong>対応周波数帯</strong></td><td>2.4GHz / 5GHz</td><td><strong>5GHz のみ</strong></td><td>2.4GHz / 5GHz</td></tr><tr><td><strong>最高変調方式</strong></td><td>64QAM (<strong>6bit</strong>)</td><td>256QAM (<strong>8bit</strong>)</td><td>1024QAM (<strong>10bit</strong>)</td></tr><tr><td><strong>多重化・接続技術</strong></td><td>SU-MIMO（1対1）</td><td>DL MU-MIMO（下りのみ）</td><td><strong>UL/DL MU-MIMO</strong> + <strong>OFDMA</strong></td></tr><tr><td><strong>省電力・混雑対策</strong></td><td>—</td><td>—</td><td><strong>TWT</strong> / <strong>BSSカラーリング</strong></td></tr><tr><td><strong>最大通信速度</strong></td><td>600 Mbps</td><td>6.9 Gbps</td><td>9.6 Gbps</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">簡易的な速度体感&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">正直、最大通信速度が600 Mbps、6.9 Gbps、9.6 Gbpsと言われてもイメージができない。なので、ここでは具体的な転送時間の目安（理論値）を見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>転送するデータ（容量）</strong></td><td><strong>① 100 Mbps（格安スマホ/混雑Wi-Fi）</strong></td><td><strong>② 1 Gbps（1,000 Mbps）（光回線/Wi-Fi 5, 6実効）</strong></td><td><strong>③ 9.6 Gbps（9,600 Mbps）（Wi-Fi 6理論上MAX）</strong></td></tr></thead><tbody><tr><td><strong>1秒あたりの転送量</strong></td><td><strong>100 Mb</strong>（12.5 MB）</td><td><strong>1,000 Mb</strong>（125 MB）</td><td><strong>9,600 Mb</strong>（1,200 MB / 1.2 GB）</td></tr><tr><td><strong>写真1枚</strong><br>（5 MB = 40 Mb）</td><td><strong>約 0.4 秒</strong><br>40÷100</td><td><strong>約 0.04 秒</strong><br>40÷1000</td><td><strong>約 0.004 秒</strong><br>40÷9600</td></tr><tr><td><strong>映画1本</strong><br>（2 GB = 2,000 MB = 16,000 Mb）</td><td><strong>約 2 分 40 秒</strong>（160秒）<br>16,000÷100</td><td><strong>約 16 秒</strong><br>16,000÷1000</td><td><strong>約 1.6 秒</strong><br>16,000÷9600</td></tr><tr><td><strong>大容量ゲーム</strong><br>（50 GB = 50,000 MB = 400,000 Mb）</td><td><strong>約 1 時間 6 分 40 秒</strong>（4,000秒）<br>400,000÷100</td><td><strong>約 6 分 40 秒</strong>（400秒）<br>400,000÷1000</td><td><strong>約 41 秒</strong><br>400,000÷9600</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">＊例えば3GB(24000Mbp)のデータをダウンロードする際に、35.3Mbpsの速度なら24000/35.3=679.88s=11.33m。つまり11分ほどかかる計算になる。</p>



<h3 class="wp-block-heading"><span id="toc6">Wi-Fi 6E,7,8 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">Wi-Fi4~6までは教科書などでよく目にする。では、その発展版として、6E～8も一緒に見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>規格</strong></td><td><strong>Wi-Fi 6E</strong></td><td><strong>Wi-Fi 7</strong></td><td><strong>Wi-Fi 8</strong></td></tr></thead><tbody><tr><td><strong>IEEE規格名</strong></td><td>IEEE 802.11ax</td><td>IEEE 802.11be</td><td>IEEE 802.11bn</td></tr><tr><td><strong>テーマ</strong></td><td><strong>6GHz帯の追加</strong></td><td><strong>最高速度と低遅延</strong></td><td><strong>高信頼性・途切れにくさ</strong></td></tr><tr><td><strong>利用周波数</strong></td><td>2.4 / 5 / <strong>6 GHz</strong></td><td>2.4 / 5 / 6 GHz</td><td>2.4 / 5 / 6 GHz</td></tr><tr><td><strong>最大速度（理論値）</strong></td><td>9.6 Gbps</td><td><strong>46 Gbps</strong></td><td>46 Gbps</td></tr><tr><td><strong>最大帯域幅</strong></td><td>160 MHz<br><span class="fz-14px">＊8チャネルボンディング</span></td><td><strong>320 MHz</strong><br><span class="fz-16px"><span class="fz-14px">＊16チャネルボンディング</span></span></td><td>320 MHz<br><span class="fz-16px"><span class="fz-14px">＊16チャネルボンディング</span></span></td></tr><tr><td><strong>変調方式</strong></td><td>1024QAM（10bit）</td><td><strong>4096QAM（12bit）</strong></td><td>4096QAM（12bit）</td></tr><tr><td><strong>目玉機能</strong></td><td>6GHzクリーン帯域<br>(6GHz帯を使い混雑を避けられるようになった)</td><td>・<strong>MLO</strong>（帯域の複数同時利用）<br>・<strong>プリアンブル・パンクチャリング</strong></td><td><strong>・MAPC</strong><br>（<span class="fz-14px"><strong>CoBF</strong>:動的ビームフォーミング<br><strong>CoSR</strong>:パワー制御 / 出力調整<br><strong>CoOFDMA</strong>:Dynamic Sub-channel</span>)<br><strong>・ノンストップ・ローミング（切り替え遅延ゼロ）</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">Wi-Fi7 MLOってなに？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">MLOはMultiLinkOperationの略。Wi-Fi6Eまでは2.4,5,6GHと３つあっても１つの帯域しか使えなかった。しかし、Wi-Fi７からは5GHz帯と6GHz帯の両方を同時に使えるようになった。これにより、遅延が激減し、ゲームやWeb会議がほぼ途切れなくなった。<br>トライバンドMLOのように2.4,5,6GHと３つすべてを同時に使うことも可能だが、2.4はノイズが多かったり、速度が遅かったりするので速さを求めるのであれば2.4は束ねない。冗長性を求めているなら束ねてもOK。</p>



<h3 class="wp-block-heading"><span id="toc8">Wi-Fi7 プリアンブル・パンクチャリング&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">プリアンブル・パンクチャリングとは一言で言うと「虫食い（パンクチャー）にして重なっている部分だけを避けて残りを有効活用する」という意味である。<br>今までのWi-Fi6Eまでだと、使おうとする帯域の一部でも他と重なってしまうとその部分のチャネルボンディングはあきらめる。しかし、プリアンブル・パンクチャリングを使えば、重なっている部分のを取り除き、残りの部分を有効活用できるようになる。<br>具体的には、160MHz(8チャネルボンディング)をする際に、端の部分で干渉していると、今までであれば、80MHz（4チャネルボンディング）に落とす必要がある。しかし、プリアンブル・パンクチャリングを使えば、重なっている部分のみを取り除き140MHz帯として利用できるようになる。<br>これによって、周波数帯を有効活用できるようになる。</p>



<h3 class="wp-block-heading"><span id="toc9">Wi-Fi8 マルチAP協調制御（MAPC）&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">MAPCはMultiAccessPointCoordinationの略。AP同士で話し合って、優先度や出力を決定してバッティングとデータ破損を防ぐ仕組み。その仕組みを実現するためには様々な技術が使われている。それを見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．動的ビームフォーミング制御（CoBF:Coordinated BeamForming）<br></strong>　AP同士が「お互いの狙う方法（指向性）をリアルタイムで共有する機能。これにより、電波出力の大小に依存しない通信が可能になる。<br>＊指向性には八木アンテナ（一直線）、ダイポール（全範囲）、パッチ（中途半端に広い）といったような種類がある。<br><strong>２．パワー制御・出力調整（CoSR:CoordinatedSpatialReuse）</strong><br>　電波の強さを調整する機能。今までは100%で出力していたが、それだとほかのAPと干渉しやすくなってしまい通信の疎外になる。なので、必要な時に必要な強さだけ出力させられるようにした。</p>



<h3 class="wp-block-heading"><span id="toc10">BSSカラーリングとマルチAP協調制御の違い&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">BSSの解説：<br>Wi-Fiにはあるルールがある。それが、CSMA/CAである。これは、どこかのAPがしゃべっているときは、衝突が起こらないように自分は黙る。というルールがある。しかし、それを馬鹿みたいに従っていると、微弱な電波を拾っただけでも無駄に待機する時間が発生する。それを防ぐために、同一のBSS以外の電波（微弱な電波）を拾っても待機しないでそのまま使っちゃおうよというのがBSSである。<br><br>本題：<br>BSSは電波の強弱によって通信を維持できている。しかし、同一レベルの電波が来た場合、対処できなくなる。そのような電波の出力差がない場合でも通信を維持できる仕組みがマルチAP協調制御である。</p>



<h3 class="wp-block-heading"><span id="toc11">なぜ６GHzを使うの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">Wi-Fi６Eから急に6GHz帯が使われるようになった。これはなぜなのか？技術的な問題なのか何が変わったから急に6GHzを使えるようになったのか。また、なぜ6GHzだけなのか。帯域を増やしてメリットがあるなら7GHzや8GHzなど、ほかの帯域もどんどん増やせばいいのに。。。<br><strong>要因１：周波数の特性<br></strong>電波は高い周波数であればあるほど高速性が上がるが、その反面、障害物に弱くなる。そのため、家庭内で7GHz以上だと人が横切ったりするだけで切断されるので不向き。そのため、７，８GHzといった周波数帯は使われない。家庭内のスウィートスポット（現実的な着地点）が6GHzだったから。<br><strong>要因２：７GHz以上は既に埋まっている</strong><br>電波はいろいろな用途に使われている。そのため、既にぎゅうぎゅう詰めのところを、奇跡的に使えたのが6GHzであり、それ以外の周波数帯を簡単に追加したりといったことは困難だから。<br><strong>要因３：コスト＆パフォーマンス<br></strong>高い周波数を扱うアンテナや半導体チップ（RFIC）は製造難易度も高く、スマホやPCに搭載すると端末価格が高騰する。また、バッテリー消費と発熱が凄まじいことになる。</p>



<h3 class="wp-block-heading"><span id="toc12">7GHz以上が使われるのってどんな時？レーダー？</span></h3>



<p class="wp-block-paragraph">7GHz以上の高周波数帯は障害物に弱い性質があり遠くまでは届かないという特性がある。では、そんな特性はどんな時に使われるのか。よく聞くのは軍事や気象レーダーなどである。しかし、いまいちイメージがつかない。ということで見ていこう！<br><strong>１．レーダーは「突き抜け」ではなく、「跳ね返り」を利用する<br></strong>高周波数の特性は障害物の影響を受けやすいという特徴がある。しかし、この特性こそがれーがに向いている。レーダーは「遠くの小さな物体を感知して、跳ね返りをキャッチする」という目的がある。高周波の特性はレーダーにとって大きなメリットとなる。<br><strong>２．海や空には障害物がない<br></strong>家庭内では壁・ドア・家具・人などの障害物だらけの環境（NLOS：NotLineOfSight：非見通し環境）で通信しなければならない。しかし、航空・軍事・気象レーダーは大空、海上などの開かれた空間（LineOfSight：視通環境）で使われるため高周波数の壁を通り抜けないという弱点が問題にならない。<br>３．周波数が高いほど小さなものを精密に見分けられる<br>7GHz以上の高周波数帯は障害物に弱い性質があり遠くまでは届かないという特性がある。では、そんな特性はどんな時に使われるのか。よく聞くのは軍事や気象レーダーなどである。しかし、いまいちイメージがつかない。ということで見ていこう！<br><strong>１．レーダーは「突き抜け」ではなく、「跳ね返り」を利用する<br></strong>高周波数の特性は障害物の影響を受けやすいという特徴がある。しかし、この特性こそがれーがに向いている。レーダーは「遠くの小さな物体を感知して、跳ね返りをキャッチする」という目的がある。高周波の特性はレーダーにとって大きなメリットとなる。<br><strong>２．海や空には障害物がない<br></strong>家庭内では壁・ドア・家具・人などの障害物だらけの環境（NLOS：NotLineOfSight：非見通し環境）で通信しなければならない。しかし、航空・軍事・気象レーダーは大空、海上などの開かれた空間（LineOfSight：視通環境）で使われるため高周波数の壁を通り抜けないという弱点が問題にならない。<br><strong>３．周波数が高いほど小さなものを精密に見分けられる<br></strong>電波は、「自分の波長よりも小さいもの」はすり抜けてしまい、感知できない。2.4GHzの波長（約12cm）だと雨粒（数ミリ）に当たっても、電波が大きすぎてすり抜けてしまう。そのため、気象レーダーには使えません。</p>



<h3 class="wp-block-heading"><span id="toc13">５GH帯でよく耳にするW52,W53,W56とは？</span></h3>



<p class="wp-block-paragraph">５GH帯でよく耳にするW52,W53,W56とは何なのだろうか。なぜ、51や57,58といったほかの数字は使わずにこんな中途半端なのか。<br>そもそもこれは周波数帯（グループ名）をあらわしている。周波数（GHz）の頭の数字をそのまま取って名前が付けられてる。<br><strong>W52</strong> ＝ <strong>5.2</strong> GHz帯のグループ（チャンネル番号：36, 40, 44, 48）<br><strong>W53</strong> ＝ <strong>5.3</strong> GHz帯のグループ（チャンネル番号：52, 56, 60, 64）<br><strong>W56</strong> ＝ <strong>5.6</strong> GHz帯のグループ（チャンネル番号：100, 104, 108 … 144）<br>意図的にこのバラバラ数字を使っているわけではなく、Wi-Fi用に５GHz帯を絞り出す際にたまたま使えそうな周波数帯が52,53,56だったらから選ばれたという背景がある。飛んでいるほかの数字W51,57,58などは他の用途で既に使われている。</p>



<h3 class="wp-block-heading"><span id="toc14">p.9 IEEE802.1xとは？&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="917" height="111" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-15.png" alt="" class="wp-image-7944" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-15.png 917w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-15-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-15-768x93.png 768w" sizes="(max-width: 917px) 100vw, 917px" /></figure>



<p class="wp-block-paragraph">IEEE802.1xとはLANを利用するときの入り口制御を担当する仕組みがIEEE802.1xである。もし、これがないと、誰でも彼でも接続ができてしまいセキュリティ的にとてもやばい！なので、しっかりネットワークを利用するときは認証しようよね！という思想の元IEEE802.1xが生まれた。<br><strong>▼具体例</strong><br><strong>有線接続の場合：</strong><br><span class="fz-16px">①機器がスイッチに接続</span><br><span class="fz-16px">＊初期状態はポートがブロック状態であるため、問答無用で認証プロセスへ流される<br>②スイッチのIEEE802.1x機能が働き、認証サーバとクライアントとのやり取りを仲介する<br>③クライアントが認証されるとスイッチ側で「あ、このポートからの通信は流してOKなんだな」と認識しポートをオープンにする<br>④クライアントがデータ通信を試みると、「あ、このポートからの通信は認証済みだから流そう！」と判断し、データ通信が成立する。</span><br><span class="fz-16px">⑤もし、ケーブルが抜けたりするとポートは電気信号を受け取らなくなるのでダウンと判断し、また、ポートをブロック状態に戻す。そのため、新たにつながれたら、再度①からプロセスを辿る。</span><br><strong>無線接続の場合：</strong><br><strong><span class="fz-16px">①機器が電波をキャッチしAPに無線で接続</span><br></strong><span class="fz-16px">＊この時点でユーザは、あ、「この電波はPersonalモードか！」や</span>「<span class="fz-16px">Enterpriseモードか」などを把握できる。</span><br><span class="fz-16px">エンタープライズモードの場合は②へ<br></span>▼Personalモードの場合</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="【Personalモードの流れ】

① 機器が電波（Beacon）をキャッチし「Personalモード（PSK）」だと把握する
② クライアントはあらかじめ入力されている「Wi-Fiパスワード（PSK）」を用意する
   （※AP側にも同じパスワードが設定されている）

③ APとクライアントの間で「4-Way Handshake」を実行！
   ・パスワードそのものは絶対電波に流さない！
   ・「お互いに同じパスワードを知っていること」を数学的に証明し合う。
   ・その過程で、暗号鍵「PTK」を自動計算して作り出す。

④ 成功したら、APの「PTKリスト」に登録！
⑤ データ通信が許可され、DHCPでIPアドレスを取得して通信開始！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">【Personalモードの流れ】</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">①</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">機器が電波（Beacon）をキャッチし「Personalモード（PSK）」だと把握する</span></span>
<span class="line"><span style="color: #A6E22E">②</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントはあらかじめ入力されている「Wi-Fiパスワード（PSK）」を用意する</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">（※AP側にも同じパスワードが設定されている）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">③</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">APとクライアントの間で「4-Way</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Handshake」を実行！</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・パスワードそのものは絶対電波に流さない！</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・「お互いに同じパスワードを知っていること」を数学的に証明し合う。</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・その過程で、暗号鍵「PTK」を自動計算して作り出す。</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">④</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">成功したら、APの「PTKリスト」に登録！</span></span>
<span class="line"><span style="color: #A6E22E">⑤</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">データ通信が許可され、DHCPでIPアドレスを取得して通信開始！</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><strong>②APはクライアントのMACアドレスをキーとしてPTKリストを確認する<br></strong><span class="fz-14px"><span style="text-decoration: underline;">PTKリストにある場合</span>→当該キーを使い復号、認証を実施し問題がなければLANに流す<br><span style="text-decoration: underline;">PTKリストにない場合</span>→③へ進む</span><br><strong>③APはクライアントにEAP-Requestを送信する<br></strong>EAP-Requestはクライアントに対して「IDや証明書を出して認証してくださーい」と伝えるメッセージ。</span><br><span class="fz-18px"><span class="fz-16px"><strong>④クライアントはEAPOLパケットをAPに渡す。<br></strong></span></span><span class="fz-16px">＊わざわざEAPを使う理由は、IPアドレスがまだ割り当てられていないからである。そのため、L3のパケットではなく、L2の特別な認証用フレーム（EAPOL）を使う必要がある。</span><br><span class="fz-16px">*<span class="blue">EAP</span>：認証をするためのメッセージをどうやって記載するかの規格<br>*<span class="blue">EAPOL</span>（EAP over LAN）：EAPをLANで解釈できるようにしたフレーム</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="【 EAPOLフレームの構造 】
┌────────────────────────────────────────────────────────┐
| 宛先MACアドレス : APのMACアドレス                         　|
| 送信元MACアドレス: クライアントのMACアドレス              　　|
| イーサタイプ     : 0x888E (「これは802.1X認証だよ」という目印)|
├────────────────────────────────────────────────────────┤
| EAPデータ本体    : (IDや証明書などの認証データ)           　　|
└────────────────────────────────────────────────────────┘
 ※ IPヘッダー（192.168...等）は一切ついていません！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">【</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">EAPOLフレームの構造</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">】</span></span>
<span class="line"><span style="color: #A6E22E">┌────────────────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">宛先MACアドレス</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">APのMACアドレス</span><span style="color: #F8F8F2">                         </span><span style="color: #E6DB74">　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">送信元MACアドレス:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントのMACアドレス</span><span style="color: #F8F8F2">              </span><span style="color: #E6DB74">　　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">イーサタイプ</span><span style="color: #F8F8F2">     </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0x888E</span><span style="color: #F8F8F2"> (「これは802.1X認証だよ」という目印)</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #A6E22E">├────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">EAPデータ本体</span><span style="color: #F8F8F2">    </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> (IDや証明書などの認証データ)           　　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #A6E22E">└────────────────────────────────────────────────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">※</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">IPヘッダー（192.168...等）は一切ついていません！</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><strong>⑤APは認証サーバへ転送する<br></strong>AP自体はIPアドレスを持っているので、EAPデータの本体だけを取り出してL3の形式に直したうえで、認証サーバへ転送する</span><br><span class="fz-16px"><strong>⑥認証サーバとクライアントの間でTLSハンドシェイクのキャッチボール</strong><br>認証サーバ⇔AP⇔クライアント間でEAPリクエストとEAPレスポンスのやり取りを繰り返していき、共通鍵（MSK）を生成する。<br>当該MSKは認証サーバからAPへ共有される。<br><strong>⑦４way-handshakeを実施してPTKを作成<br></strong>PTKからTK、KCK、KEKを生成してデータ通信の暗号化や認証を実施する。</span></p>



<h3 class="wp-block-heading"><span id="toc15">PMKを生成する方法&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">PMKは４ウェイハンドシェイクの材料の一つである。そのPMKがどのように作られるのかを見ていこう！<br><strong>▼Personalモードの場合<br></strong><span class="fz-16px">①事前共有パスワード＋SSIDを<span class="blue">PBKDF2</span>という鍵引き延ばし関数に入れる<br>②PBKDF2によりHMAC-SHA1というハッシュ計算を4096回繰り返す（＝ストレッチング）<br>③出来上がった32バイト（256ビット）がそのままPMKになる</span><br><strong>▼Enterpriseモードの場合<br></strong><span class="fz-16px">①TLSハンドシェイクで64バイトのMSKを生成する<br>②MSKの先頭32バイトを抽出してPMKを作る</span></p>



<h3 class="wp-block-heading"><span id="toc16">p.9 DHCPリレーエージェント&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="930" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-16.png" alt="" class="wp-image-7946" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-16.png 930w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-16-300x42.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-16-768x107.png 768w" sizes="(max-width: 930px) 100vw, 930px" /></figure>



<p class="wp-block-paragraph">▼DHCPリレーエージェントのコマンド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="interface G0/0
ip helper-address DHCPサーバのIP" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">G0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">helper-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPサーバのIP</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc17">Syslogサーバ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="845" height="39" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-18.png" alt="" class="wp-image-7950" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-18.png 845w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-18-300x14.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-18-768x35.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="logging host SyslogサーバのIP　#syslogサーバの宛先を指定
logging trap syslogサベリティ　#syslogサーバに送信するログのレベルを指定
logging buffered syslogサベリティ　#ローカルのバッファに格納するレベル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">SyslogサーバのIP　#syslogサーバの宛先を指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trap</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">syslogサベリティ　#syslogサーバに送信するログのレベルを指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">buffered</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">syslogサベリティ　#ローカルのバッファに格納するレベル</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker-red"><br></span></p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問１　解答解説</title>
		<link>https://ascend-beyond.com/study/network_specality/7900/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sat, 08 Aug 2026 13:41:44 +0000</pubDate>
				<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7900</guid>

					<description><![CDATA[設問１（２）不正なOSPFルータと隣接関係になり経路交換してしまう問題不正なOSPFルータと経路交換をすると自分の内部アドレスの情報が漏れたり、逆に悪意のあるルートを注入されたりしてしまい正常な通信の妨害となる。 なお、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）不正なOSPFルータと隣接関係になり経路交換してしまう問題</span></span></strong></span><br>不正なOSPFルータと経路交換をすると自分の内部アドレスの情報が漏れたり、逆に悪意のあるルートを注入されたりしてしまい正常な通信の妨害となる。</p>



<p class="wp-block-paragraph">なお、余談だがOSPFの認証方法はv2とv3で大きく異なる<br>▼OSPFv2</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#インタフェースで有効化する
int g0/0
ip ospf authentication message-digest
ip ospf message-digest-key キーID md5 パスワード


#ルータコンフィギュレーション内で有効化
router ospf プロセス番号
area エリア番号 authentication message-digest #エリア全体で認証を有効化

int g0/0
ip ospf message-digest-key キーID md5 パスワード
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#インタフェースで有効化する</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ルータコンフィギュレーション内で有効化</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">エリア番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#エリア全体で認証を有効化</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph">▼OSPFv3（初期）<br>v3の場合はキー、パスワードは使わずにIPsecのSPIと16進数の暗号キーを指定する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#インタフェース単位で有効化する方法
interface GigabitEthernet0/0
#IPsec (SHA1 や MD5) を使って認証を設定する
 ospfv3 authentication ipsec spi 256 sha1 1234567890123456789012345678901234567890
 
 
#エリア全体で有効化する方法
router ospfv3 1
 address-family ipv6 unicast
  area 0 authentication ipsec spi 256 sha1 1234567890123456789012345678901234567890" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#インタフェース単位で有効化する方法</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #88846F">#IPsec (SHA1 や MD5) を使って認証を設定する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">spi</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1234567890123456789012345678901234567890</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#エリア全体で有効化する方法</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">address-family</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv6</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">unicast</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">spi</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1234567890123456789012345678901234567890</span></span></code></pre></div>



<p class="wp-block-paragraph">▼OSPFv3（現在）<br>初期の設定方法を見ると、ハッシュ化した値を直書きしているのが分かる。これはエンジニアにとってとても面倒だし、間違える可能性も内在する。そこで、Key-Chainという方法がつかわれるようになった。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="▼インタフェース単位の有効化---------------
#Key Cahinの作成
key chain キーチェイン名
 key 1
  key-string パスワード
  cryptographic-algorithm hmac-sha-256
  
int g0/0
ospfv3 authentication key-chain キーチェイン名 

▼エリア単位の有効化---------------------
#key-chainの作成
key chain キーチェイン名
 key 1
  key-string パスワード
  cryptographic-algorithm hmac-sha-256
  
#ルータコンフィグ
router ospfv3 プロセス番号
 address-family ipv6 unicast
  area エリア番号 authentication key-chain キーチェイン
 exit-address-family" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">▼インタフェース単位の有効化---------------</span></span>
<span class="line"><span style="color: #88846F">#Key Cahinの作成</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span><span style="color: #F8F8F2"> </span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼エリア単位の有効化---------------------</span></span>
<span class="line"><span style="color: #88846F">#key-chainの作成</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #88846F">#ルータコンフィグ</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">address-family</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv6</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">unicast</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">エリア番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">exit</span><span style="color: #F8F8F2">-address-family</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（４）OSPFの経路情報が収束した状態</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="940" height="254" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-7.png" alt="" class="wp-image-7925" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-7.png 940w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-7-300x81.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-7-768x208.png 768w" sizes="(max-width: 940px) 100vw, 940px" /></figure>



<p class="wp-block-paragraph">再起動直後にマスタールータに昇格すると、OSPFが収束していない状態で引き継ぐことになる。これはすなわち、適切なルーティング情報が手元にない状態であるにもかかわらずパケットがどんどん届いてしまうことを意味する。もちろん、ルーティング情報がないので破棄、または意図しないルートへの転送をしてしまい正常な通信ができなくなってしまう。それを防ぐために、再起動直後からある程度の時間を待機させて、経路情報が安定してからマスタを引き継ぐことで正常な通信を維持できる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="int g0/0
 vrrp グループ番号 preempt delay minimum 秒数
 
#秒数に関しては、基本的に60秒程度を設定する（大規模なら120~180秒）
#OSPF自体は30秒程度で収束するが起動直後などはCPU負荷が高くなるため余裕をもって60秒程度に設定しておこう" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">vrrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">グループ番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">preempt</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">delay</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">minimum</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">秒数</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#秒数に関しては、基本的に60秒程度を設定する（大規模なら120~180秒）</span></span>
<span class="line"><span style="color: #88846F">#OSPF自体は30秒程度で収束するが起動直後などはCPU負荷が高くなるため余裕をもって60秒程度に設定しておこう</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）65535といった十分大きな値に変更する</span></span></strong></span><br>OSPFは宛先までの経路でコストが最も小さな経路が選択される。すなわち、経由させたくなければ、より大きなコストを設定すればよい。そのため、コスト値の最大値である65535を設定する</p>



<figure class="wp-block-image size-full"><img decoding="async" width="953" height="52" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-8.png" alt="" class="wp-image-7926" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-8.png 953w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-8-300x16.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-8-768x42.png 768w" sizes="(max-width: 953px) 100vw, 953px" /></figure>



<p class="wp-block-paragraph">ちなみに、コスト値だけを見ると1001以上に設定すれば無事に迂回できそうに見える。しかし、ここで気にしておかなければならないのが、ルート１とルート２が全く同じ経路であるかということ。もし、ルート２がもともとルート１よりも多くのルータを経由しなければならない場合、ルート１側の１つのルータのOSPFを少し変更させただけでは迂回しなくなる。なぜならOSPFはインタフェース単体ではなく、経路までの合計のOSPFコストを計算するから。そのため、余裕をもって、65535という値に設定しておくのがベストプラクティスとなっている。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="823" height="299" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-10.png" alt="" class="wp-image-7928" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-10.png 823w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-10-300x109.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-10-768x279.png 768w" sizes="(max-width: 823px) 100vw, 823px" /></figure>



<p class="wp-block-paragraph">▼OSPFコストの変更方法</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="int g0/0
ip ospf cost 65535" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">cost</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65535</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（３）物理インタフェース</span></span></strong></span><ruby><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">閉塞</span></span></strong></span><rt>へいそく</rt></ruby><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">の方が素早く切り戻せるから</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="878" height="63" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-11.png" alt="" class="wp-image-7929" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-11.png 878w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-11-300x22.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-11-768x55.png 768w" sizes="(max-width: 878px) 100vw, 878px" /></figure>



<p class="wp-block-paragraph">切り離すという観点で言うと、電源をオフにしても、物理インタフェースをダウンにさせても切り離すことが可能。しかし、切り離し中に問題が発生した場合、電源をオフにしてしまうと、再起動までに時間がかかってしまう。その点で、物理インタフェースの閉塞であれば、以上を検知したらすぐに切り戻せるという利点がある。なので、まずは物理インタフェースで様子見をして大丈夫そうなら最終的に電源を切るという手順でやるのがベター。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc1">p.3 そもそもなんでVLANを分けているの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">構成図を確認すると、L3SWでは複数のVLANを設定している。なぜか。。見ていこう！</p>



<figure class="wp-block-image size-full"><img decoding="async" width="858" height="824" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1.jpg" alt="" class="wp-image-7902" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1.jpg 858w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1-300x288.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1-768x738.jpg 768w" sizes="(max-width: 858px) 100vw, 858px" /></figure>



<p class="wp-block-paragraph"><strong>１．フィルタリングの適用</strong><br>同一VLANではL3機器のフィルタリングを経由せずL2によるMACアドレスによる直接通信が可能。そのため、L3の詳細なフィルタリングを適用するという意味も含めてVLANを別にして、L3を跨がせるという運用方法をとっている。<br><strong>２．通信量の削減<br></strong>同一VLANは、同一ブロードキャストドメインを意味する。つまり、すべてを同一VLANにしてしまうと、すべての機器にARPなどのブロードキャストが届いてしまい帯域を圧迫してしまう。そのため、VLANを設定した方が帯域への負荷も軽減できるよね、という考えがある。</p>



<p class="wp-block-paragraph"><strong>３．局所化</strong><br>もし、１つのVLANで運用してしまうと、その１つに攻撃が成立するとすべてに広まってしまう。しかし、VLANで分けておけば、たとえ１つに攻撃が成立しても、攻撃範囲を局所化できる。これによってセキュリティ的に強度が高まる。</p>



<p class="wp-block-paragraph">👆以上、よりVLANにわけると様々なメリットがある</p>



<h3 class="wp-block-heading"><span id="toc2">p.4 DMVPNとは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DMVPN（DynamicMultipointVPN）は、IPsecの弱点を補った仕組み。通常IPsecでは、接続前に事前設定が必要になる。つまり、拠点が増えれば増えるほど、それに伴って事前設定が必要になる。これはとてもタフな作業。しかし、DMVPNを使えば、新たに拠点が追加されても動的に設定を完了させることができる。なお、DMVPNにはPhase１～３まで存在する。まずは、Phase１からやっていこう！</p>



<p class="wp-block-paragraph"><strong>▼通常のIPsecとDMVPN Phase1の違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>通常のIPsec（拠点間メッシュ）</strong></td><td><strong>DMVPN Phase 1（Hub &amp; Spoke）</strong></td></tr></thead><tbody><tr><td><strong>トンネルの方式</strong></td><td><strong>Point-to-Point GRE / IPsec</strong><br>（1対1の固定トンネル）</td><td><strong>mGRE</strong> (Multipoint GRE)<br>（1つのポートで不特定多数と繋がる）</td></tr><tr><td><strong>トンネル宛先設定</strong></td><td><strong>手動で固定指定</strong><br>(<code>tunnel destination &lt;相手の物理IP&gt;</code>)</td><td><strong>指定不要（動的）</strong><br>(<code>tunnel mode gre multipoint</code> を指定<br>＊ハブのみ。スポークはハブ宛てにする</td></tr><tr><td><strong>アドレス解決</strong></td><td>不要（人間が事前にコマンドで指定するため）</td><td><strong>NHRP</strong>（Next Hop Resolution Protocol）<br>（動的に「トンネルIP ⇔ 物理IP」を電話帳に登録）</td></tr><tr><td><strong>通信ルート</strong></td><td>拠点 $\leftrightarrow$ 拠点 の<strong>直接通信</strong></td><td><strong>必ずハブを経由</strong>（折り返し通信）</td></tr><tr><td><strong>新拠点追加時の作業</strong></td><td><strong>激重（地獄）</strong><br>既存の全ルータに新しい鍵とトンネル設定の追記が必要</td><td><strong>超絶楽</strong><br>新拠点ルータの設定のみ。ハブや既存拠点の<strong>設定変更はゼロ</strong></td></tr><tr><td><strong>鍵（PSK）の設定</strong></td><td>相手の物理IPごとに個別で設定</td><td><code>0.0.0.0 0.0.0.0</code>（共通鍵で動的受け入れ）<br>＊ハブとスポーク両方で設定。<br>ただしスポーク側に限っては、ハブの物理IPでも正常作動する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">▼DMVPN Phase1の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">表層の説明だけをしていても理解が難しいと思うので、実際のコマンドと照らし合わせつつ流れを見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>区分</strong></td><td><strong>項目</strong></td><td><strong>IPアドレスの例</strong></td><td><strong>補足・役割</strong></td></tr></thead><tbody><tr><td>通信の送信元<br>（A社 支社）</td><td><strong>端末（PC）IP</strong></td><td><code>10.1.0.5</code></td><td>通信をスタートする実際のPC等</td></tr><tr><td></td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.50</code> </td><td>支社ルータがインターネットに出るための物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.2</code> </td><td>mGREトンネル網（仮想NW）内の支社アドレス</td></tr><tr><td>通信の中継役<br>（DMVPN ハブ）</td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.1</code></td><td>全スポークが最初に目指す親玉の物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.1</code></td><td>NHRPサーバー（電話帳）として機能するトンネルIP</td></tr><tr><td>通信の目的地<br>（A社 本社）</td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.100</code> </td><td>本社ルータがインターネットに出るための物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.3</code></td><td>mGREトンネル網（仮想NW）内の本社アドレス</td></tr><tr><td></td><td><strong>社内サーバ/PC IP</strong></td><td><code>10.2.0.88</code></td><td>最終的にアクセスしたい本社のサーバ等</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><br><strong>０．NHRPでハブへ通知する</strong><br><span class="fz-16px">　実際の通信を始める前に、ルータでは起動直後にNHRPを使いハブルータへ自身の物理IPとトンネルIPを紐づけさせる。</span><br><span class="fz-16px">　ちなみにこの通信もトンネルからでるので、暗号化対象となる。宛先については、nhsやmapコマンドなどを参照する。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel0
 ip nhrp network-id 1
 ip nhrp nhs 10.0.0.1                  #親玉となるハブのトンネルIPアドレス
 ip nhrp map 10.0.0.1 203.0.113.1      #ハブのトンネルIPアドレスと物理IPアドレスの対応 
 ip nhrp map multicast 203.0.113.1     #マルチキャスト送信先をハブの物理IPアドレスに指定
 ip nhrp holdtime 7200                 #ハブに対して自分の情報を何秒保持してと伝える
 ip nhrp registration timeout 30       #RegistrationRequestを送信する秒間隔" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp network</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">id </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp nhs </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2">                  </span><span style="color: #F92672">#親玉となるハブのトンネルIPアドレス</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp map </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">      </span><span style="color: #F92672">#ハブのトンネルIPアドレスと物理IPアドレスの対応</span><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp map multicast </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">     </span><span style="color: #F92672">#マルチキャスト送信先をハブの物理IPアドレスに指定</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp holdtime </span><span style="color: #AE81FF">7200</span><span style="color: #F8F8F2">                 </span><span style="color: #F92672">#ハブに対して自分の情報を何秒保持してと伝える</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp registration timeout </span><span style="color: #AE81FF">30</span><span style="color: #F8F8F2">       </span><span style="color: #F92672">#RegistrationRequestを送信する秒間隔</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px">＊正直、技術的には手順２の<span class="green"><em>tunnel destination 203.0.113.1</em></span>コマンドをかけば、<span class="green">ip nhrp map multicast 203.0.113.1</span>はいらない可能性がある。しかし、nhrpを有効にするとマルチキャストをnhrpのテーブルから探してしまう。そのため、あえて明示的に書く必要がある。</span><br><br><strong>１．GREトンネルへ流す</strong><br><span class="fz-16px">　・支社端末から本社へのパケット送信を試みる<br>　・ルータは、宛先が本社の<code><code>10.2.0.88</code></code>であることを確認する。</span><br><span class="fz-16px">＊OSPFなどのルーティングプロトコルが動作しているならスタティック設定は不要</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
#スタティック設定によりGREトンネルへ流す判断をする
ip route 10.2.0.0 255.255.255.0 Tunnel0

interface Tunnel0
ip ospf network point-to-multipoint" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F92672">#スタティック設定によりGREトンネルへ流す判断をする</span></span>
<span class="line"><span style="color: #F8F8F2">ip route </span><span style="color: #AE81FF">10.2.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span><span style="color: #F8F8F2"> Tunnel0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf network point</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">to</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">multipoint</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>２．GRE処理<br></strong>　<span class="fz-16px">・パケットがGREトンネルへ届くとGRE処理を実施する<br>　・具体的には、トンネルの宛先/送信元のカプセル化処理<br>＊tunnel destinationで指定された宛先を物理的な宛先に、tunnel sourceとして指定されたアドレスを物理的な送信元としてカプセル化する</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
interface Tunnel0
 ip address 10.0.0.2 255.255.255.0 #トンネルIP
 tunnel source 203.0.113.50      #支社物理IP
 tunnel destination 203.0.113.1  #ハブ物理IP
 tunnel protection ipsec profile DMVPN-PROFILE #トンネルにIPsecを紐づける" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> ip address </span><span style="color: #AE81FF">10.0.0.2</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">#トンネルIP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel source </span><span style="color: #AE81FF">203.0.113.50</span><span style="color: #F8F8F2">      </span><span style="color: #F92672">#支社物理IP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel destination </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">  </span><span style="color: #F92672">#ハブ物理IP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel protection ipsec profile DMVPN</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">PROFILE </span><span style="color: #F92672">#トンネルにIPsecを紐づける</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．IPsec処理<br></strong><span class="fz-16px">　先ほどの最後のコマンドで<span class="green"><em>tunnel protection ipsec profile DMVPN-PROFILE</em></span>でトンネルがIPsecと紐づいていることが分かる。なので、そのプロファイルに従ったIPsec処理をする</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
crypto isakmp key secretKEY address 203.0.113.1 #ハブの物理IP

#IPsecーPhase1の設定
crypto isakmp policy 1
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 86400

#IPsecーPhase2の設定
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
 mode transport

#Profile作成（これをトンネルに割り当てる）
crypto ipsec profile DMVPN-PROFILE
 set transform-set TS" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto isakmp key secretKEY address </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">#ハブの物理IP</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#IPsecーPhase1の設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto isakmp policy </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> encryption aes </span><span style="color: #AE81FF">256</span></span>
<span class="line"><span style="color: #F8F8F2"> hash sha256</span></span>
<span class="line"><span style="color: #F8F8F2"> authentication pre</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">share</span></span>
<span class="line"><span style="color: #F8F8F2"> group </span><span style="color: #AE81FF">14</span></span>
<span class="line"><span style="color: #F8F8F2"> lifetime </span><span style="color: #AE81FF">86400</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#IPsecーPhase2の設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto ipsec transform</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">set TS esp</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">aes </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> esp</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">sha256</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">hmac</span></span>
<span class="line"><span style="color: #F8F8F2"> mode transport</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#Profile作成</span><span style="color: #F8F8F2">（これをトンネルに割り当てる）</span></span>
<span class="line"><span style="color: #F8F8F2">crypto ipsec profile DMVPN</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">PROFILE</span></span>
<span class="line"><span style="color: #F8F8F2"> set transform</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">set TS</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．ルーティング<br></strong><span class="fz-16px">　tunnel destinationより物理的な宛先が<span class="green">203.0.113.1</span>であることが分かるので、ルーティングテーブルに従って転送処理をする</span></p>



<p class="wp-block-paragraph"><strong>５．ハブに届く</strong><br><span class="fz-16px">　ハブでもスポークと同様の設定をしておく。<br>＊ハブの場合は、ip nhrp map や　ip nhrp map nhsなどは不要。</span><br><span class="fz-16px">①宛先を確認して本社であることが分かる。<br>②本社へはトンネル経由であることが分かる。</span><br><span class="fz-16px">＊OSPFなどのルーティングプロトコルをトンネル内で動作させておくことで、ハブルータは、「あ、この宛先はこのトンネルインタフェースからもらったから、このトンネルをネクストホップとして流せばよい！」と判断する。結果的に、トンネルに流せばIPsecが適用される</span><span class="fz-16px"><br>③トンネルへ流す<br>④GREカプセル化<br>⑤IPsec処理<br>⑥転送</span></p>



<p class="wp-block-paragraph">以上が、DMVPN phase1の流れである。<br><strong>完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc4">Q.DMVPN Phase1とPhase２の大枠の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph"><strong>▼Phase１におけるルーティングの大枠</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#スポークAからスポークB
【事前準備（通信が発生する前）】
⓪ NHRPパケット（自己紹介）の発行
   ・ルータ起動直後「NHRPの登録要求（Registration）を送るぞ。宛先トンネルIPは 10.0.0.1（nhs）だな」
   ・ルータ「10.0.0.1 宛ての物理IPは…… ip nhrp map を見ると 203.0.113.1（ハブ）だな！」
   ・結果 ➔ ハブに向けて自身の「トンネルIP ↔ 物理IP」のペアを暗号化して通知し、登録を完了させる。


【実際のデータ送信時（スポークA ➔ スポークB）】
① ルーティング（OSPF）処理の発動
   ・ルータ「スポークB配下の PC（10.3.0.88）宛てのパケットが来たぞ」
   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！
   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP 10.0.0.3 だ！
             Tunnel0 インターフェースへ流せ！」

② GRE処理の発動
   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」
   ・参照場所 ➔ tunnel destination 203.0.113.1 を見る！
   ・結果 ➔（ネクストホップが 10.0.0.3 であっても関係なく）設定に従い、
             外側宛先IPを 203.0.113.1（ハブ）に設定してGREカプセル化！

③ IPsec処理（暗号化）の発動
   ・ルータ「203.0.113.200（ハブ）宛てのパケットが出ようとしている。暗号化（IKE交渉）が必要だな！」
   ・参照場所 ➔ crypto isakmp key ... address 203.0.113.1 を見る！
   ・結果 ➔ 203.0.113.1 用の鍵（secretKEY）を使って暗号化トンネルを確立・適用し、ハブへ向けて送信！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#スポークAからスポークB</span></span>
<span class="line"><span style="color: #F8F8F2">【事前準備（通信が発生する前）】</span></span>
<span class="line"><span style="color: #F8F8F2">⓪ NHRPパケット（自己紹介）の発行</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ起動直後「NHRPの登録要求（Registration）を送るぞ。宛先トンネルIPは </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2">（nhs）だな」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> 宛ての物理IPは…… ip nhrp map を見ると </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">（ハブ）だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ ハブに向けて自身の「トンネルIP ↔ 物理IP」のペアを暗号化して通知し、登録を完了させる。</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">【実際のデータ送信時（スポークA ➔ スポークB）】</span></span>
<span class="line"><span style="color: #F8F8F2">① ルーティング（OSPF）処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「スポークB配下の PC（</span><span style="color: #AE81FF">10.3.0.88</span><span style="color: #F8F8F2">）宛てのパケットが来たぞ」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> だ！</span></span>
<span class="line"><span style="color: #F8F8F2">             Tunnel0 インターフェースへ流せ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">② GRE処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ tunnel destination </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔（ネクストホップが </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> であっても関係なく）設定に従い、</span></span>
<span class="line"><span style="color: #F8F8F2">             外側宛先IPを </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">（ハブ）に設定してGREカプセル化！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">③ IPsec処理（暗号化）の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">（ハブ）宛てのパケットが出ようとしている。暗号化（IKE交渉）が必要だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ crypto isakmp key </span><span style="color: #F92672">...</span><span style="color: #F8F8F2"> address </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> 用の鍵（secretKEY）を使って暗号化トンネルを確立・適用し、ハブへ向けて送信！</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>▼Phase２におけるルーティングの大枠</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#スポークAからスポークBへの通信
① ルーティング（OSPF）処理の発動
   ・ルータ「スポークB配下の PC（10.3.0.88）宛てのパケットが来たぞ」
   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！
   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP 10.0.0.3 だ！
             Tunnel0 インターフェースへ流せ！」

② GRE処理の発動（★ここがフェーズ1と大違い！）
   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」
   ・参照場所 ➔ `tunnel destination` を探す……が無い！（mGREモードだから）
   ・ルータ「よし、【NHRP部署】に問い合わせだ！
             『ネクストホップ 10.0.0.3 に対応する物理IPを教えてくれ！』」

③ NHRP処理の発動（電話帳検索 ＆ 解決要求）
   ・【NHRP部署】「自分のキャッシュ（電話帳）に 10.0.0.3 の物理IPはあるか？」
   
   【パターンA：まだ知らない場合（1発目のパケット）】
   ・NHRP「まだ知らない！とりあえずハブ（10.0.0.1 ➔ 203.0.113.1）に一時的に送っておくぞ！」
   ・NHRP「同時に、ハブへ『10.0.0.3 の物理IPを教えて！』と Resolution Request を送信！」
   ・ハブ「10.0.0.3 の物理IPは 203.0.113.200 だよ！」と回答が届く ➔ キャッシュに保存！

   【パターンB：もう知っている場合（2発目以降のパケット）】
   ・NHRP「キャッシュにあったぞ！10.0.0.3 の物理IPは 203.0.113.200 だ！」

   ・結果 ➔ 外側宛先IPを 203.0.113.200 に設定してGREカプセル化！

④ IPsec処理（暗号化）の発動（★スポーク間ダイレクト！）
   ・ルータ「203.0.113.200（スポークB）宛てのパケットが出ようとしている。暗号化が必要だな！」
   ・参照場所 ➔ `crypto isakmp key ... address 0.0.0.0` を見る！
   ・結果 ➔ スポークB（203.0.113.200）と直接 IKE/IPsec の鍵交換を行い、
             暗号化（ESP化）して直接インターネットへ発射！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#スポークAからスポークBへの通信</span></span>
<span class="line"><span style="color: #F8F8F2">① ルーティング（OSPF）処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「スポークB配下の PC（</span><span style="color: #AE81FF">10.3.0.88</span><span style="color: #F8F8F2">）宛てのパケットが来たぞ」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> だ！</span></span>
<span class="line"><span style="color: #F8F8F2">             Tunnel0 インターフェースへ流せ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">② GRE処理の発動（★ここがフェーズ1と大違い！）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ `tunnel </span><span style="color: #F44747">destination`</span><span style="color: #F8F8F2"> を探す……が無い！（mGREモードだから）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「よし、【NHRP部署】に問い合わせだ！</span></span>
<span class="line"><span style="color: #F8F8F2">             『ネクストホップ </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> に対応する物理IPを教えてくれ！』」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">③ NHRP処理の発動（電話帳検索 ＆ 解決要求）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・【NHRP部署】「自分のキャッシュ（電話帳）に </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPはあるか？」</span></span>
<span class="line"><span style="color: #F8F8F2">   </span></span>
<span class="line"><span style="color: #F8F8F2">   【パターンA：まだ知らない場合（</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">発目のパケット）】</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「まだ知らない！とりあえずハブ（</span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> ➔ </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">）に一時的に送っておくぞ！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「同時に、ハブへ『</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPを教えて！』と Resolution Request を送信！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ハブ「</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPは </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> だよ！」と回答が届く ➔ キャッシュに保存！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">   【パターンB：もう知っている場合（</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">発目以降のパケット）】</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「キャッシュにあったぞ！</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPは </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> だ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ 外側宛先IPを </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> に設定してGREカプセル化！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">④ IPsec処理（暗号化）の発動（★スポーク間ダイレクト！）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">（スポークB）宛てのパケットが出ようとしている。暗号化が必要だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ `crypto isakmp key </span><span style="color: #F92672">...</span><span style="color: #F8F8F2"> address </span><span style="color: #AE81FF">0.0.0.0`</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ スポークB（</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">）と直接 IKE</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">IPsec の鍵交換を行い、</span></span>
<span class="line"><span style="color: #F8F8F2">             暗号化（ESP化）して直接インターネットへ発射！</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc5">Q.NHRPの具体的な挙動&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">NHRP（NextHopResolutionProtocol）について、なんとなく「物理IPとトンネルIPの対応を解決してくれるプロトコル」という理解まではできる人が多い。しかし、実際の挙動をイメージした場合、どうなっているのか説明できる人まではなかなかいない。なので、実際の挙動を見ていこう！NHRPには大きく分けて、登録とリクエストの２つがある。その二つの挙動についてやっていこう！<br><strong>１．Registration<br></strong><span class="fz-16px">・Spoke 起動時：<code>ip nhrp nhs</code> と <code>ip nhrp map</code> を参照し、ハブの物理IPを特定。<br>・パケット：Registration Request（自身の トンネルIP ↔ 物理IP を格納）をハブへ送信。<br>・ハブの動作：NHRP データベースに登録し、Spoke の居場所を把握する。</span><br><strong>２．Resolution</strong><br><span class="fz-16px">① Spoke A ➔ ハブ（リクエスト送信）<br>・Resolution Request（ターゲットのトンネルIP、自身の トンネルIP ＆ 物理IP）を送信。<br>② ハブ ➔ Spoke B（転送）<br>・ハブは中身を書き換えずにそのまま Spoke B へ転送。<br>③ Spoke B（相互学習 ＆ ダイレクト応答）<br>・Spoke B はパケット内の Spoke A の情報（物理IPなど）を NHRP キャッシュに登録（相互学習）。<br>・Spoke A 宛てに直接 IPsec を確立し、暗号化した状態で Resolution Reply（自身の情報）を返答！<br>④ Spoke A（学習完了 ＆ ダイレクト通信確立）<br>・Spoke B からの直接返答を受け取り、NHRP キャッシュに Spoke B の情報を登録。<br>・以後、Spoke A ↔ Spoke B 間でハブを介さない直接通信が開始！</span></p>



<h3 class="wp-block-heading"><span id="toc6"> ▼DMVPN Phase2の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">Phase2も基本的にPhase1と同じ流れ。しかし、わずかに相違点もある。<br>相違点１：スポーク側もハブと同じ<em>tunnel mode gre multipoint</em>をする<br>相違点２：スポーク間で動的にIPsec＋GREトンネルが自動生成される<br>では、そのような相違点に着目しながらPhase2を見ていこう！</p>



<p class="wp-block-paragraph"><strong>０．NHRPでハブへ通知<br></strong><span class="fz-16px">　実際の通信が始まる前に、ルータ起動直後にNHRPを使ってハブルータへ自身の物理IPとトンネルIPアドレスを紐づけさせる（＊ここはPhase１と同じ）</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel 0
ip address 10.0.0.2 255.255.255.0
ip nhrp network-id 1
ip nhrp nhs 10.0.0.1
ip nhrp map 10.0.0.1 203.0.113.1 

ip nhrp map multicast 203.0.113.1 
ip nhrp holdtime 7200             #ハブに対して自分の情報を何秒保持してと伝える
ip nhrp registration timeout 300　#ハブに登録しに行く秒間隔" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2">ip address </span><span style="color: #AE81FF">10.0.0.2</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp network</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">id </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp nhs </span><span style="color: #AE81FF">10.0.0.1</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp map </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp map multicast </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp holdtime </span><span style="color: #AE81FF">7200</span><span style="color: #F8F8F2">             </span><span style="color: #F92672">#ハブに対して自分の情報を何秒保持してと伝える</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp registration timeout </span><span style="color: #AE81FF">300</span><span style="color: #F8F8F2">　</span><span style="color: #F92672">#ハブに登録しに行く秒間隔</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>１．ルーティングの準備<br></strong><span class="fz-16px">　＊Phase２ではSpokeToSpokeを実現したい。しかし、そのまま設定すると、OSPFのルーティングテーブルとNHRPのテーブル情報で不正が生まれてしまう。それを避けるための設定が必要になる。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#ルーティングプロトコル（OSPF）の有効化

router ospf 1
network トンネルIP ワイルドカード area エリアID
network 内部LANIP ワイルドカード area エリアID

#インタフェース設定
interface Tunnel 0
ip ospf priority 0  #DR/BDRにならないようにする
ip ospf network broadcast" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#ルーティングプロトコル</span><span style="color: #F8F8F2">（OSPF）の有効化</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">router ospf </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">network トンネルIP ワイルドカード area エリアID</span></span>
<span class="line"><span style="color: #F8F8F2">network 内部LANIP ワイルドカード area エリアID</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#インタフェース設定</span></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf priority </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">  </span><span style="color: #F92672">#DR/</span><span style="color: #F8F8F2">BDRにならないようにする</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf network broadcast</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>？なぜnetworkタイプをbroadcastにするのか</strong><br><span class="fz-16px">phase２ではSpoke-to-Spokeの通信をさせるために、ネクストホップをスポークのままにしてハブは転送しなくてはならない。もし、point-to-multipointにしてしまうと、ハブがネクストホップを上書きしてスポーク間に広告してしまう。そのため、phase2ではbroadcastを設定する。</span><br><strong>？なぜスポークのpriorityを0にするのか</strong><br><span class="fz-16px">broadcastだとDR/BDRの選出が行われる。もし、スポーク側がDR/BDRに選出されてしまい、ハブがDRotherになってしまうと、ハブは224.0.0.6を破棄してしまう。<br>確かにnhrpの設定でハブはマルチキャストを転送する役割がある。しかしそれよりも<span class="blue">優先的</span>にOSPFのDRotherという役割が上書きされるので、224.0.0.6はマルチキャストといえど<span class="blue">DRotherの役割をまっとう</span>して問答無用で破棄する。</span></p>



<p class="wp-block-paragraph"><strong>２．GRE処理<br></strong><span class="fz-16px">トンネルを経由するパケットに関してはGRE over IPsecを適用したいので、GRE処理を追加する</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel0
tunnel source 自身物理IP
tunnel mode gre multipoint #pahse1の時はtunnel destination ハブの物理IPだった
tunnel protection ipsec profile IPsecプロファイル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel source 自身物理IP</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel mode gre multipoint </span><span style="color: #F92672">#pahse1の時はtunnel</span><span style="color: #F8F8F2"> destination ハブの物理IPだった</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel protection ipsec profile IPsecプロファイル</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px">*<span class="blue"><em>tunnel mode gre multipoint</em></span>はpahse1の時は<span class="blue"><em>tunnel destination ハブの物理IP</em></span>だった。<br></span><strong>？tunnel mode gre multipointは物理IPが分からないけどどうやってカプセル化するの？</strong><br>A.そもそも、tunnel mode gre multipointがnhrpテーブルを使うためのトリガーとなるので、これを見た瞬間に、「あ、multipointが指定されているから、実際の物理IPはnhrpで確認しよう！」となるので心配ご無用！</p>



<p class="wp-block-paragraph"><strong>３．IPsec処理</strong><br><span class="fz-16px">ここまでで、「パケットの宛先がリモートスポークの配下であること判明→そのリモートへは自身のトンネルから流す→自身のトンネルにはGRE処理がある→tunnel mode gre multipointからnhrpで物理IPを知る→判明した物理IPでカプセル化→IPsecの処理もトンネルにはあるのでその処理をする」という流れができている。なので、ここではIPsec処理をやっていく。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#事前共有鍵の定義
crypto isakmp key パスワード address 0.0.0.0 0.0.0.0

#ISAKMP SA(Phase 1)の作成
crypto isakmp policy ポリシー番号
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 86400
 
#IPsec SA(Phase 2)の作成
crypto ipsec transform-set トランスフォーム名 esp-aes 256 esp-sha256-hmac
 mode transport
 
#IPsecプロファイルの作成
crypto ipsec profile プロファイル名
 set transform-set トランスフォーム名" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#事前共有鍵の定義</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ISAKMP SA(Phase 1)の作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">policy</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ポリシー番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">encryption</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">hash</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pre-share</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">group</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">14</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">86400</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#IPsec SA(Phase 2)の作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">トランスフォーム名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-sha256-hmac</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#IPsecプロファイルの作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">profile</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロファイル名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">トランスフォーム名</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．ルーティング<br></strong>カプセル化には相手スポークの物理IPが設定されているので、SpokeToSpokeで直接届かせることができる。<br><strong>完了！！！！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc7">OSPFのネットワークタイプ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DMVPNのphase1とphase2ではOSPFのネットワークタイプが重要になってくる。そのため、ここで一度、確認しておこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>ネットワークタイプ</strong></td><td><strong>トポロジのイメージ</strong></td><td><strong>DR/BDR選出</strong></td><td><strong>Hello / Dead タイマー</strong></td><td><strong>主な用途・デフォルトで使われる場所</strong></td><th>その他</th></tr></thead><tbody><tr><td><strong><code>Point-to-Point</code></strong></td><td><strong>1対1</strong></td><td><strong>なし</strong></td><td><strong>10秒 / 40秒</strong></td><td>シリアル線、GREトンネルのデフォルト</td><td></td></tr><tr><td><strong><code>Broadcast</code></strong></td><td><strong>多対多</strong> (LAN)</td><td><strong>あり</strong></td><td><strong>10秒 / 40秒</strong></td><td>イーサネット（LAN）のデフォルト</td><td>ネクストホップをそのままにして転送</td></tr><tr><td><strong><code>Point-to-Multipoint</code></strong></td><td><strong>1対多</strong> (放射状)</td><td><strong>なし</strong></td><td><strong>30秒 / 120秒</strong></td><td>DMVPN (Phase 1) や Frame Relay</td><td>ネクストホップをハブに上書きして転送</td></tr><tr><td><strong><code>Non-Broadcast</code> (NBMA)</strong></td><td><strong>多対多</strong> (レガシー)</td><td><strong>あり</strong></td><td><strong>30秒 / 120秒</strong></td><td>古い Frame Relay / ATM 回線</td><td></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">OSPFにおけるDR＆BDRとは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DRとBDRの選出をすることによって、セグメント内のルータがフルメッシュでネイバー関係にならなくてもよくなる。その結果、CPU負荷や帯域の使用率を下げることができる。<br>また、LSAの統合役がいることで、個々のルータによる差異が起きにくくループ発生を防ぎやすくなる。</p>



<h3 class="wp-block-heading"><span id="toc9">▼OSPFのフロー（Down～FULL）&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">前提：<br>・同一セグメントに１０台以上のルータが存在する環境<br>・ネットワークタイプはBroadcast<br><strong><span class="fz-20px">０．Down<br></span></strong><span class="fz-16px">相手からHelloパケットが１度も届いていない状態<br></span><strong><span class="fz-20px">１．Helloパケットの送信（Init）<br></span></strong><span class="fz-16px">ルータを起動すると、まずは<span class="blue">224.0.0.5</span>宛てのマルチキャストを送信する。<br>▼Helloパケットには以下の情報が含まれる</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>パケット内のフィールド</strong></td><td><strong>内容</strong></td><td><strong>ネイバー成立のチェック</strong></td></tr></thead><tbody><tr><td><strong>Router ID</strong></td><td>送信元ルータの ID</td><td>一致するとエラー（重複不可）<br>重複すると、show ip ospf neighborで2way以上には進まない</td></tr><tr><td><strong>Area ID</strong></td><td>所属するエリア番号（例: 0）</td><td><strong>一致が必須</strong></td></tr><tr><td><strong>Network Mask</strong></td><td>送信元インターフェースのサブネットマスク</td><td><strong>一致が必須</strong>（※P2P除く）</td></tr><tr><td><strong>Hello Interval</strong></td><td>Hello を送る間隔（例: 10秒）</td><td><strong>一致が必須</strong><br>不一致だと、show ip ospf で表示すらされない</td></tr><tr><td><strong>Dead Interval</strong></td><td>ネイバー障害とみなす時間（例: 40秒）</td><td><strong>一致が必須</strong><br>不一致だと、show ip ospf で表示すらされない</td></tr><tr><td><strong>Router Priority</strong></td><td>DR/BDR 選出用の優先度（デフォルト 1）</td><td>チェックなし（選出に使用）</td></tr><tr><td><strong>Designated Router (DR)</strong></td><td>現在認識している DR の IP アドレス</td><td>チェックなし（情報共有）</td></tr><tr><td><strong>Backup DR (BDR)</strong></td><td>現在認識している BDR の IP アドレス</td><td>チェックなし（情報共有）</td></tr><tr><td><strong>Neighbor</strong></td><td>自分（送信元）が受信を確認した相手の Router ID リスト</td><td><strong>ここに自分のIDがあれば 2-Way</strong></td></tr><tr><td><strong>Options (E/N bit)</strong></td><td>スタブエリアなどのオプション機能フラグ</td><td><strong>一致が必須</strong></td></tr><tr><td><strong>Authentication</strong></td><td>認証タイプおよびパスワード等</td><td><strong>一致が必須</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-20px"><strong>２．２WAY</strong><br></span><span class="fz-16px">同一セグメントからのHelloパケットのNeighborフィールドに自身のルータIDが記載されている場合、相互認識完了。<br>ここで、<span class="blue">DR</span>と<span class="blue">BDR</span>を選出する</span><br><span class="fz-16px">DRとBDRが決まったので、以降の通信はマルチキャストではなく<span class="blue">ユニキャスト</span>で実行される<br><strong>▼選出基準<br></strong>①プライオリティ（デフォルトは１）が１番大きいルータがDRに、２番目がBDRになる<br>②①が同一の場合はルータIDで決める<br>＊ルータIDは重複が禁止なのでこの２ステップで確実に決まる</span><br><span class="fz-20px"><strong>３．EXstrat</strong><br></span><span class="fz-16px"><span class="blue">マスター</span>と<span class="blue">スレーブ</span>を決める。<br>▼選出方法<br>①DBDパケット（ルータID、MTU、制御フラグ、シーケンス番号が格納）を送信する<br>＊MTUが不一致だと<span class="blue"><em>show ip ospf neighbor</em></span> 時にExstartで止まる<br>②ルータIDを比較し、大きなほうがマスターになる。</span><br><span class="fz-16px">③スレーブはシーケンス番号をマスターに合わせる<br>▼詳細</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="[ ルータ A (RID: 1.1.1.1) ]                       [ ルータ B (RID: 2.2.2.2) ]

 1) 「僕がマスターだ！(MS=1)」 ── (ユニキャスト) ──&gt;  「僕がマスターだ！(MS=1)」
    (RID: 1.1.1.1, Seq: 100)                         (RID: 2.2.2.2, Seq: 500)
                              &lt;── (ユニキャスト) ──

 2)  ルータ A は「相手（2.2.2.2）の方が RID が大きい！」と気づき、スレーブ（Slave）を認める。
     ルータ B は「自分（2.2.2.2）の方が RID が大きい！」と確信し、マスター（Master）になる。

 3) スレーブ（ルータ A）が折れて、相手の Seq: 500 を使って返事をする：
    「了解、君がマスターね。(MS=0)」 ───&gt;  「よし、じゃあ僕（マスター）から目録を送るね！」
    (Seq: 500 で返信)                         (ここから Exchange ステートへ移行！)
    
    
 #制御フラグ
 M(More)ビット：１→まだ続きがあるよ。１回でLSA目次が入りきらなかったら使う
 MS(Master/Slave)ビット：１→俺がマスターだよ！
 I(Init)ビット：１→これが最初のDBDだよ！つまりExstartを意味する
 " style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[ ルータ A (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1.1.1</span><span style="color: #F8F8F2">) ]                       [ ルータ B (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">) ]</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F44747">)</span><span style="color: #F8F8F2"> 「僕がマスターだ！(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">)」 ── (ユニキャスト) ──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  「僕がマスターだ！(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">)」</span></span>
<span class="line"><span style="color: #F8F8F2">    (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1.1.1</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2">)                         (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">                              </span><span style="color: #F92672">&lt;</span><span style="color: #F8F8F2">── (ユニキャスト) ──</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2</span><span style="color: #F44747">)</span><span style="color: #F8F8F2">  ルータ A は「相手（</span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">）の方が RID が大きい！」と気づき、スレーブ（Slave）を認める。</span></span>
<span class="line"><span style="color: #F8F8F2">     ルータ B は「自分（</span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">）の方が RID が大きい！」と確信し、マスター（Master）になる。</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">3</span><span style="color: #F44747">)</span><span style="color: #F8F8F2"> スレーブ（ルータ A）が折れて、相手の Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2"> を使って返事をする：</span></span>
<span class="line"><span style="color: #F8F8F2">    「了解、君がマスターね。(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">)」 ───</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  「よし、じゃあ僕（マスター）から目録を送るね！」</span></span>
<span class="line"><span style="color: #F8F8F2">    (Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2"> で返信)                         (ここから Exchange ステートへ移行！)</span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #F92672">#制御フラグ</span></span>
<span class="line"><span style="color: #F8F8F2"> M(More)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→まだ続きがあるよ。</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">回でLSA目次が入りきらなかったら使う</span></span>
<span class="line"><span style="color: #F8F8F2"> MS(Master</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">Slave)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→俺がマスターだよ！</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">I</span><span style="color: #F8F8F2">(Init)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→これが最初のDBDだよ！つまりExstartを意味する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-20px"><strong>４．Exchange</strong><br></span><span class="fz-16px">お互いの<span class="blue">LSDB情報を同期</span>するためのフェーズがExchange。お互いのLSAの差分の有無によって挙動が変わる。<br></span><strong><span class="fz-16px">▼Exchange詳細フロー</span><br></strong><span class="fz-16px">①マスターがDBDにLSAの概要を載せてスレーブへ送信する<br>②スレーブも、マスターへDBDにLSAの概要を載せて送信する<br>③Mビットが０になるまでお互い交互にDBDを送り合う<br>＊Mビット：１がまだ続きがあるよ！の意。０がLSAの目次送り切りましたよ！と伝えるフラグ<br>送り合っている最中も自分のLSDBと相手のDBDを見比べて差分をLSRリスト（後で要求するLSAのリスト）を作成しておく。<br>→Mビットが０になった時点で差分がない場合はLoadingをスキップしてFULLへ<br>→Mビットが０になった時点で差分がある場合はLoadingへ<br></span><span class="fz-20px"><strong>５．Loading</strong><br></span><span class="fz-16px">LSRリストをもとに欲しい情報を取得してLSDBを完成させるというプロセスを担うのがLoading。基本的にはLSR→LSU→LSAckという流れで進んでいく。では、詳細を見ていこう！<br><strong>▼Loading詳細フロー<br>①LSR(LinkStateReques)の送信<br></strong>Exchangeステートで準備しておいたLSRリストをもとに、「このLSAの詳細をください」と請求するLSRパケットを送信する</span><br><span class="fz-16px"><strong>②LSU(LinkStateUpdate)の送信<br></strong>LSRを受信した相手は、請求されたLSAの詳細データを詰め込んだLSUパケットを返す。<br>（１つのLSUに複数のLSA詳細データをまとめて送れる）<br><strong>③LSAck(LinkStateAcknowledgment)<br></strong>LSUを受け取ったら自身のLSDBに保存する。保存が完了したら「LSUを受け取ったよ！」という確認メッセージであるLSAckパケットを返す。<br><strong>④LSRリストが空になったらFULLへ移行</strong><br>LSRリスト内のLSAをすべて受け取り、手元のLSRリストが完全に０件になったらFullへ移行</span><br><span class="fz-20px"><strong>６．FULL</strong><br></span><span class="fz-16px">・FULLになったら、あとはタイマーに従ってHelloパケットを送信し合う。<br>FULLになった後に経路の追加、削除が検知されると、検知したルータがLSUをDR/BDRにマルチキャスト(224.0.0.6)送信する。それをDR/BDRがマルチキャスト(224.0.0.5)して全体に広がる。<br>▼経路削除<br>当該LSAを「シーケンスを＋１にする＆Maxageを3600」にしてLSUを送る。</span><br><span class="fz-16px">＊MaxageはLSAを保持する期間。これが切れると削除されるので、3600でLSUを送ると自動的に相手側から削除される<br></span><span class="fz-16px">▼経路追加<br>通常のLSUを送る流れでパケット送信する</span></p>



<p class="wp-block-paragraph">以上がOSPFのフロー説明である。<br><strong>完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc10">DMVPN Phase3&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">phase2まででSpokeToSpokeが完了した。しかし、これには弱点がある。各スポークがほかのスポーク配下の情報をすべて保持していなければならず、ルーティングテーブルが莫大になってしまい大規模環境には向いていないとされている。それを解消できるのがphase3である。</p>



<h3 class="wp-block-heading"><span id="toc11">phase2はなぜ大規模に向かないのか?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">phase２では各スポークが、ほかのスポーク配下のルート情報をすべて保持する必要がある。そのため大規模環境には向かないとされている。でも、経路集約を使えば解決できるのでは？と疑問が浮かぶ。しかし、そこにはいくつもの壁（厳格なルール）がある。それを見ていこう！<br><strong>①エリア内ルータは経路集約できないというルールがある</strong><br><span class="fz-16px">大抵の場合、ハブと各スポークは同一エリアのエリア０で動作している。OSPFのルールでは経路集約ができるのはABRとASBRとなっているため、スポーク側のエリア内ルータでは集約ができないという制限がある。<br></span><strong>②スポーク側で経路集約してもそもそも効果が薄い</strong><br><span class="fz-16px">エリアを分割すれば、スポーク側で経路集約ができるという考えもある。しかし、そもそも拠点が1000以上である場合、少なくとも1000のルーティング情報は保持しなければならいため、スポーク側で集約してもさほど効果がないというそもそも論が生まれる。<br></span><strong>③ハブがデフォルトルート流すとネクストホップが変わる</strong><br><span class="fz-16px">ハブが<span class="blue">デフォルトルート</span>を流せば、全スポークの経路を１行で抑えることができる。これをやるとルーティングテーブルは抑えることができるが、そもそもすべての通信がハブ経由になるのでSpokeToSpokeが破綻する。</span></p>



<p class="wp-block-paragraph"><strong>インターネット用のデフォルトルートとDMVPN用のデフォルトルートは重複しないの？<br>①パターン１<br></strong><span class="fz-16px">インターネット宛先もDMVPNもすべてハブへ流す構成にする。届いた後に、ハブ側がDMVPNかインターネットかを判断してルーティングさせれば、重複していても問題ない。<br></span><strong>②パターン2<br></strong><span class="fz-16px">社内LANの集約ルートを使う。実際の現場では、0.0.0.0ではなく10.0.0.0/8や192.168.0.0/16として社内全体をまとめた大きな集約ルートを流す。</span></p>



<h3 class="wp-block-heading"><span id="toc12">なぜPhase3はPhase2よりもすぐれているのか？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">ShortCutとRedirectと呼ばれる新機能追加により、スポーク側に動的なルート生成を可能としているから。どういうことなのか、簡単に見ていこう！<br><strong>①ハブが社内集約ルートを配る<br></strong><span class="fz-16px">＊これにより、スポークには、ほかのスポークのトンネルIPも内部LAN情報を届かなくなる</span><br><span class="fz-16px">＊社内集約ルート（10.0.0.0/8や192.168.0.0/16など）を流すのではなく、インターネットもハブを経由させたいという場合はそのまま0.0.0.0のデフォルトルートを流すこともある。<br></span><strong>②スポークAがスポークBへ</strong><br><span class="fz-16px">DNSなどの名前解決により、社内LANのIPアドレスが割り当てられたサーバへアクセスしたいと考える。しかし、ネクストホップが分からないので、社内サマリーを持つハブへ丸投げする<br></span><strong>③ハブのRedirect指令！</strong><br>・<span class="fz-16px">ハブは、トンネルから受け取ったパケットをトンネルから流すルーティングであることが判明すると送信元に対して「次からこの通信は俺を経由せず、直接行ってね（<span class="blue">NHRP Redirect</span>)」と指令を出す。</span><br>・<span class="fz-16px">パケット自体は宛先のスポークBへ転送してあげる。<br></span><strong>④スポークAがスポークBにNHRP Resolution Request</strong><br><span class="fz-16px">スポークAはハブから「直接やりなさい」と命令されたら、「よし、じゃあNHRP Resolution Requestを送ろう。ターゲットIPはサーバのプライベートIPとして送ろう」とハブに送り、ハブはOSPFやNHRP情報からスポークBへ転送する。<br></span><strong>⑤スポークBがスポークAへNHRP Resolution Reqlyを返す</strong><br>パターン１：<span class="fz-16px">スポークBはNHRP Requestの送信元を確認し、自身のトンネルIP、物理IP、配下のサブネット情報(192.168.2.0/24 など)などを格納し、スポークAへ直接NHRP Responseを返す。</span><br>パターン２：<span class="fz-16px">パケットの応答を返す際にスポークBも宛先を知らないためデフォルトルートのハブに流すが、ハブからはNHRP Redirectが来るのでスポークBもNHRP Resolution Requestを送りスポークAの物理IP、トンネルIP、サブネット情報などを得る</span><br><span class="fz-16px">※なお、この間に発生するサーバーからの1回目のデータ応答パケットもハブ経由で送られ、ハブからスポークB側にも Redirect が発行される。<br></span><strong>⑥スポーク間でIPsecトンネルを確立</strong><br>・手順⑤によってIPsecトンネルが確立するので、あとの通信はSpokeToSpokeでやり取りをする。<br>・同時にShortCut機能により、各スポークのテーブルに、動的に物理IPとトンネルIPとリモートスポーク配下のサブネットが登録される。→これにより以降はSpokeToSpokeでやり取りできる。</p>



<p class="wp-block-paragraph"><strong>これで大まかな流れは完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc13">DMVPN Phase3でハブはどうやってOSPFの設定をしているの？</span></h3>



<p class="wp-block-paragraph">phase3の勉強をしていると、ハブがサマリールートやデフォルトルートを流し、通信の１step目は必ずハブを通るようにしている。でも、OSPFの設定を間違っていると、そもそも、あるスポークの情報をそのまま別のスポークに流してしまうということもある。なので、ここではハブはどうやってphase3の経路制御をしているのかをコマンドとともに見ていこう！<br><strong><br>解決策：Totally Stubby Area</strong><br><span class="fz-16px">１．ハブとスポークでエリアを分割する<br>２．ハブに<span class="blue"><span class="fz-16px"><span class="blue">area 1 stub no-summary</span></span></span>を実施<br>→タイプ３～５がデフォルトルートに変換される。つまり同一エリアの情報しか渡されない。<br>３．スポークに<span class="blue">area 1 stub</span>を設定する</span><br><span class="fz-16px">→タイプ4～5を受け取らない設定</span><br><span class="fz-16px">＊まぁ正直、スポーク側でもno summaryを設定しても正常に動作する。</span><br><span class="fz-16px">しかし、Cisco以外のメーカーではABRでもないのにno summaryが設定されているとはじかれたりしてしまうので、<span class="blue">KISS</span>(Keep is Simple,Stupid：シンプルにしておけ)の原則に則って設定する。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#ハブ
router ospf 1
 router-id 1.1.1.1
 
#本社内部LAN側は Area 0
 network 172.16.0.0 0.0.255.255 area 0
 
 #DMVPN トンネル側（Tunnel0）は Area 1 に設定
 network 10.0.0.0 0.0.255.255 area 1
 
 #★ここが核心コマンド！
 #Area 1 を「Totally Stubby Area」に指定する
 area 1 stub no-summary" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#ハブ</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">router-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1</span><span style="color: #E6DB74">.1.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#本社内部LAN側は Area 0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">172.16</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#DMVPN トンネル側（Tunnel0）は Area 1 に設定</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#★ここが核心コマンド！</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#Area 1 を「Totally Stubby Area」に指定する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">stub</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">no-summary</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#スポーク
router ospf 1
 router-id 2.2.2.2
 
#DMVPN トンネル側および配下LANを Area 1 に設定
network 10.0.0.0 0.0.255.255 area 1
network 192.168.2.0 0.0.0.255 area 1
 
#★スポーク側は「no-summary」なしの「stub」のみでOK
area 1 stub" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#スポーク</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">router-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2</span><span style="color: #E6DB74">.2.2</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#DMVPN トンネル側および配下LANを Area 1 に設定</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168</span><span style="color: #E6DB74">.2.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#★スポーク側は「no-summary」なしの「stub」のみでOK</span></span>
<span class="line"><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">stub</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じでいったん完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc14">p.4 OSPFでデフォルトルートを配布するには&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="920" height="88" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-2.png" alt="" class="wp-image-7916" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-2.png 920w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-2-300x29.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-2-768x73.png 768w" sizes="(max-width: 920px) 100vw, 920px" /></figure>



<p class="wp-block-paragraph">デフォルトルートの配布とはいったい何なのだろうか。。。前提としてOSPFではインタフェース単位でOSPFに参加する。しかし、デフォルトルートはどのインタフェースにも属していないため、明示的に配布する必要がある。その旨を表現しているのが、本文中の「デフォルトルートの配布」である。<br>▼デフォルトルートの配布方法</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip route 0.0.0.0 0.0.0.0 出力先

router ospf プロセス番号
 default-information originate" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">出力先</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">default-information</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">originate</span></span></code></pre></div>



<p class="wp-block-paragraph">▼そのほかのプロトコルでのデフォルトルートの流し方</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="▼BGP
router bgp AS番号
neighbor ネイバーIP default-originate

▼BGP（スタティックで準備しておく）
ip route 0.0.0.0 0.0.0.0 Null0

router bgp AS番号
 network 0.0.0.0 mask 0.0.0.0

▼EIGRP
int G0/0
 ip summary-address eigrp AS番号 0.0.0.0 0.0.0.0
 
▼EIGRP（スタティックで準備しておく）
ip route 0.0.0.0 0.0.0.0 Null0

router eigrp AS番号
　redistribute static" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">▼BGP</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">default-originate</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼BGP（スタティックで準備しておく）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Null0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mask</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼EIGRP</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">G0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">summary-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">▼EIGRP（スタティックで準備しておく）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Null0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">　redistribute</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">static</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じでいったん完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc15">p.5 BGPで認証はどうやってやるの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="929" height="111" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-3.png" alt="" class="wp-image-7919" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-3.png 929w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-3-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-3-768x92.png 768w" sizes="(max-width: 929px) 100vw, 929px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="router bgp AS番号
 neighbor ネイバーIP password パスワード
 
 
以上！これでネイバーと一致すれば認証が完了する" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">以上！これでネイバーと一致すれば認証が完了する</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じで完了！！</strong></p>



<h3 class="wp-block-heading"><span id="toc16">p.5 AS-PATHプリペンドの設定方法</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="941" height="138" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-4.png" alt="" class="wp-image-7920" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-4.png 941w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-4-300x44.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-4-768x113.png 768w" sizes="(max-width: 941px) 100vw, 941px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="route map マップ名 permit シーケンス番号
 set as-path prepend 自分のAS番号 自分のAS番号
 
router bgp AS番号
 neighbor ネイバーIP route-map マップ名 out" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">as-path</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prepend</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">out</span></span></code></pre></div>



<p class="wp-block-paragraph">こんな感じで完了！</p>



<h3 class="wp-block-heading"><span id="toc17">p.5 経路フィルタリングのやり方</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="942" height="245" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-6.png" alt="" class="wp-image-7924" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-6.png 942w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-6-300x78.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-6-768x200.png 768w" sizes="(max-width: 942px) 100vw, 942px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="route map マップ名 permit シーケンス番号
 set as-path prepend 自分のAS番号 自分のAS番号
 
router bgp AS番号
 neighbor ネイバーIP route-map マップ名 out" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">as-path</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prepend</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">out</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong><br></strong><br><br><strong><br></strong></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br><span class="marker-red"><span class="fz-20px"><br></span></span></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><strong><br></strong>　</p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red"><br></span></span></span></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
