<?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>路由 - 東東 GCP 教學 - GCP 實戰講師</title>
	<atom:link href="https://dongdonggcp.com/tag/%e8%b7%af%e7%94%b1/feed/" rel="self" type="application/rss+xml" />
	<link>https://dongdonggcp.com</link>
	<description>助你考取證照，轉職成功</description>
	<lastBuildDate>Mon, 01 Jun 2026 08:03:51 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://dongdonggcp.com/wp-content/uploads/2025/04/cropped-340838097_121391010914395_5443948698124160121_n-32x32.jpg</url>
	<title>路由 - 東東 GCP 教學 - GCP 實戰講師</title>
	<link>https://dongdonggcp.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">243235092</site>	<item>
		<title>路由是什麼？網路必學基礎知識</title>
		<link>https://dongdonggcp.com/2026/06/01/what-is-routing-gcp-cloud-shell-basic-commands/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-routing-gcp-cloud-shell-basic-commands</link>
					<comments>https://dongdonggcp.com/2026/06/01/what-is-routing-gcp-cloud-shell-basic-commands/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 07:38:44 +0000</pubDate>
				<category><![CDATA[轉職 IT]]></category>
		<category><![CDATA[Route]]></category>
		<category><![CDATA[網路]]></category>
		<category><![CDATA[路由]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11989</guid>

					<description><![CDATA[<p>路由</p>
<p>The post <a href="https://dongdonggcp.com/2026/06/01/what-is-routing-gcp-cloud-shell-basic-commands/">路由是什麼？網路必學基礎知識</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<h3 class="wp-block-heading">什麼是路由？</h3>



<p class="wp-block-paragraph">路由（Routing）是網路世界裡「決定資料封包要走哪條路」的機制。</p>



<p class="wp-block-paragraph">每一筆網路請求——不管是你打開網頁、傳訊息還是下載檔案——背後都是一包一包的資料在傳送。</p>



<p class="wp-block-paragraph">這些資料包不會自己知道要去哪，需要有人告訴它「往這個方向走」。這個「決定方向」的過程，就叫路由。 </p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="478" src="https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-1024x478.png" alt="" class="wp-image-12009" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-1024x478.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-300x140.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-768x359.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-1536x717.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由是決定資料封包怎麼走的導航大腦-2048x956.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">路由是決定資料封包怎麼走的導航大腦</figcaption></figure>



<h4 class="wp-block-heading">用生活類比理解路由：郵差怎麼決定走哪條路</h4>



<p class="wp-block-paragraph">想像你寄一封信給台北市大安區的朋友。</p>



<p class="wp-block-paragraph">郵差不會隨機亂走，他會查地址，然後依照規則：</p>



<ol class="wp-block-list">
<li>台北市的信先送到台北郵局</li>



<li>大安區的信再分配到大安郵局</li>



<li>最後才送到那條街</li>
</ol>



<p class="wp-block-paragraph">這個「查地址、決定往哪送」的流程，就是路由在做的事。</p>



<p class="wp-block-paragraph">網路裡的路由器（Router）就是那個郵差。</p>



<p class="wp-block-paragraph">它負責看每一個資料包的目的地 IP，然後決定要從哪個介面把它轉出去。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="944" height="464" src="https://dongdonggcp.com/wp-content/uploads/2026/06/封包不會自己找路它需要「地址」與「方向」.png" alt="" class="wp-image-12011" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/封包不會自己找路它需要「地址」與「方向」.png 944w, https://dongdonggcp.com/wp-content/uploads/2026/06/封包不會自己找路它需要「地址」與「方向」-300x147.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/封包不會自己找路它需要「地址」與「方向」-768x377.png 768w" sizes="(max-width: 944px) 100vw, 944px" /><figcaption class="wp-element-caption">封包不會自己找路, 它需要「地址」與「方向」</figcaption></figure>



<h4 class="wp-block-heading">路由和交換器的差別：別再搞混了</h4>



<p class="wp-block-paragraph">很多新手會把路由器和交換器（Switch）搞混。這兩個東西做的事完全不同。</p>



<p class="wp-block-paragraph"><strong>交換器</strong>工作在第二層（Layer 2）。</p>



<p class="wp-block-paragraph">負責在同一個區域網路（LAN）內，根據 MAC 地址把資料送到對的設備。</p>



<p class="wp-block-paragraph"><strong>路由器</strong>工作在第三層（Layer 3）。</p>



<p class="wp-block-paragraph">負責在不同網路之間，根據 IP 地址決定資料要往哪個方向走。</p>



<p class="wp-block-paragraph">簡單說：交換器負責同一棟大樓裡的傳遞，路由器負責跨城市的快遞。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="952" height="438" src="https://dongdonggcp.com/wp-content/uploads/2026/06/別把交換器與路由器搞混.png" alt="" class="wp-image-12010" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/別把交換器與路由器搞混.png 952w, https://dongdonggcp.com/wp-content/uploads/2026/06/別把交換器與路由器搞混-300x138.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/別把交換器與路由器搞混-768x353.png 768w" sizes="(max-width: 952px) 100vw, 952px" /><figcaption class="wp-element-caption">別把交換器與路由器搞混</figcaption></figure>



<h4 class="wp-block-heading">路由器、路由表、路由協定：三個核心名詞一次搞懂</h4>



<p class="wp-block-paragraph">學路由會遇到三個常見名詞，先把它們搞清楚。</p>



<p class="wp-block-paragraph"><strong>路由器（Router）</strong> 是負責轉發資料包的設備或系統，可以是實體硬體，也可以是軟體模擬的。</p>



<p class="wp-block-paragraph"><strong>路由表（Routing Table）</strong> 是路由器內部存的一張「地圖」，記錄了「去哪個網段，要走哪個介面、經過哪個 Gateway」。路由器每次轉發資料包，都是查這張表做決定。</p>



<p class="wp-block-paragraph"><strong>路由協定（Routing Protocol）</strong> 是路由器之間互相溝通、交換路由資訊的規則，常見的有 OSPF、BGP、RIP。這篇文章不深入這個主題，你只需要知道它的存在。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="950" height="383" src="https://dongdonggcp.com/wp-content/uploads/2026/06/路由器、路由表、路由協定.png" alt="" class="wp-image-12012" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/路由器、路由表、路由協定.png 950w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由器、路由表、路由協定-300x121.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/路由器、路由表、路由協定-768x310.png 768w" sizes="(max-width: 950px) 100vw, 950px" /><figcaption class="wp-element-caption">路由器、路由表、路由協定</figcaption></figure>



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



<h3 class="wp-block-heading">學路由對你的職涯有什麼幫助？</h3>



<p class="wp-block-paragraph">路由不是只有網路工程師才需要懂，它的應用範圍比你想的寬。</p>



<p class="wp-block-paragraph">懂路由基礎，能讓你在排查問題、評估架構、技術面試這三個場景，明顯比不懂的人更有效率。 </p>



<h4 class="wp-block-heading">哪些工作會用到路由知識？</h4>



<p class="wp-block-paragraph">以下這些職位，在日常工作中都會直接或間接碰到路由。</p>



<p class="wp-block-paragraph"><strong>IT 支援／網路管理員</strong>：</p>



<p class="wp-block-paragraph">公司網路出問題，第一個被叫去查的就是這個職位。能看懂路由表、會用 traceroute 追蹤封包，排查速度至少快 3 倍。</p>



<p class="wp-block-paragraph"><strong>後端工程師</strong>：</p>



<p class="wp-block-paragraph">部署服務到雲端時，常遇到「服務起來了但連不到」的問題。這類問題中，超過 80% 和網路設定有關，路由是最常見的原因之一。</p>



<p class="wp-block-paragraph">懂路由，能自己排查，不用每次都等網路部門。</p>



<p class="wp-block-paragraph"><strong>DevOps／SRE 工程師</strong>：</p>



<p class="wp-block-paragraph">管理 Kubernetes 叢集、設定 VPC、處理跨區域連線，每天都在和路由打交道。</p>



<p class="wp-block-paragraph">這個職位對路由的要求是「不只懂概念，還要能動手設定」。</p>



<p class="wp-block-paragraph"><strong><a href="https://dongdonggcp.com/2023/06/29/can-i-enter-google-what-to-do-as-a-cloud-architect/" title="">雲端架構師</a></strong>：</p>



<p class="wp-block-paragraph">設計多雲或混合雲架構時，路由決定了不同環境之間怎麼互通。架構設計錯了，後面的問題會很難收拾。</p>



<p class="wp-block-paragraph"><strong>資安工程師</strong>：</p>



<p class="wp-block-paragraph">滲透測試、網路隔離、零信任架構，都需要理解路由才能判斷流量走向和攻擊面。</p>



<p class="wp-block-paragraph">就算你現在的工作完全不碰網路，懂路由基礎也能讓你在跨部門溝通時更有效率。</p>



<p class="wp-block-paragraph">你看得懂網路部門在說什麼，他們說的問題你能快速判斷是不是和你有關。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="984" height="511" src="https://dongdonggcp.com/wp-content/uploads/2026/06/為什麼你必須懂路由.png" alt="" class="wp-image-12013" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/為什麼你必須懂路由.png 984w, https://dongdonggcp.com/wp-content/uploads/2026/06/為什麼你必須懂路由-300x156.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/為什麼你必須懂路由-768x399.png 768w" sizes="(max-width: 984px) 100vw, 984px" /></figure>



<h4 class="wp-block-heading">懂路由，能讓你在團隊裡做什麼？</h4>



<p class="wp-block-paragraph">懂路由不會讓你變成網路專家，但會讓你在以下 3 個場景明顯不同於不懂的人。</p>



<p class="wp-block-paragraph"><strong>場景一：服務上線後出現連線問題</strong></p>



<p class="wp-block-paragraph">不懂路由的人：「我的程式沒問題，是網路的事，讓網路部門來看。」</p>



<p class="wp-block-paragraph">懂路由的人：先跑 <code>ip route show</code> 和 <code>traceroute</code>，3 分鐘內確認問題是在路由層還是應用層，再決定要找誰。</p>



<p class="wp-block-paragraph">這個差異在緊急事故（Incident）時非常明顯。</p>



<p class="wp-block-paragraph"><strong>場景二：評估雲端架構方案</strong></p>



<p class="wp-block-paragraph">不懂路由的人：看著架構圖點頭，但不知道兩個 VPC 之間的流量怎麼走。</p>



<p class="wp-block-paragraph">懂路由的人：能直接問「這兩個網段之間的路由是怎麼設定的？有沒有非對稱路由的風險？」，讓討論更具體。</p>



<p class="wp-block-paragraph"><strong>場景三：技術面試</strong></p>



<p class="wp-block-paragraph">後端、MIS、網管 的技術面試，網路基礎幾乎是必考題。</p>



<p class="wp-block-paragraph">能說「我實際操作過 ip route 和 traceroute」，比只說「我知道路由的概念」有說服力得多。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="969" height="430" src="https://dongdonggcp.com/wp-content/uploads/2026/06/懂路由能做什麼？.png" alt="" class="wp-image-12014" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/懂路由能做什麼？.png 969w, https://dongdonggcp.com/wp-content/uploads/2026/06/懂路由能做什麼？-300x133.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/懂路由能做什麼？-768x341.png 768w" sizes="(max-width: 969px) 100vw, 969px" /><figcaption class="wp-element-caption">懂路由能做什麼？</figcaption></figure>



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



<h3 class="wp-block-heading">為什麼要學路由指令？</h3>



<h4 class="wp-block-heading">工程師遇到網路問題，路由是第一個要查的地方</h4>



<p class="wp-block-paragraph">當你遇到「連不到某台主機」「某個服務突然無法訪問」這類問題，在 90% 的情況下可以用路由指令在 3 分鐘內縮小範圍。</p>



<p class="wp-block-paragraph">不是說路由一定是問題所在，而是查路由表的成本最低、最快能排除或確認。</p>



<p class="wp-block-paragraph">常見的排查邏輯是這樣：</p>



<ol class="wp-block-list">
<li>查路由表，確認有沒有通往目標網段的路徑</li>



<li>如果路徑存在，用 traceroute 看封包卡在哪一跳</li>



<li>根據結果判斷是路由問題、防火牆問題還是目標主機問題</li>
</ol>



<h4 class="wp-block-heading">路由指令能幫你做什麼：診斷、追蹤、設定</h4>



<p class="wp-block-paragraph">路由指令不只能「查」，還能做 3 件事。</p>



<p class="wp-block-paragraph"><strong>診斷</strong>：確認目前這台機器的路由表長什麼樣，有沒有缺少某個網段的路徑。</p>



<p class="wp-block-paragraph"><strong>追蹤</strong>：用 traceroute 看資料包實際走了哪幾跳，每一跳花了多少時間，找出延遲或中斷的位置。</p>



<p class="wp-block-paragraph"><strong>設定</strong>：手動新增或刪除靜態路由，讓特定流量走特定的路徑。</p>



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



<h3 class="wp-block-heading">用 GCP Cloud Shell 練習路由指令：不用付費、不用安裝環境</h3>



<h4 class="wp-block-heading">什麼是 GCP Cloud Shell？</h4>



<p class="wp-block-paragraph">GCP Cloud Shell 是 Google Cloud Platform 提供的免費線上終端機環境，讓使用者直接在瀏覽器裡執行指令，不需要在自己的電腦安裝任何工具。它的底層是一台 Debian Linux 虛擬機，預裝了 <code>gcloud</code>、<code>git</code>、<code>python</code>、<code>vim</code> 等常用工具，每個 Google 帳號都可以免費使用，不需要信用卡。 </p>



<h4 class="wp-block-heading">如何開啟 GCP Cloud Shell：只需要 Google 帳號</h4>



<p class="wp-block-paragraph">不需要建立任何 GCP 專案，也不需要輸入付款資訊，只要有 Google 帳號就能開啟。</p>



<h5 class="wp-block-heading">Step 1：登入 Google Cloud Console</h5>



<p class="wp-block-paragraph">打開瀏覽器，前往 <a href="https://console.cloud.google.com">console.cloud.google.com</a>，用你的 Google 帳號登入。</p>



<p class="wp-block-paragraph">如果是第一次使用，Google 會要求你同意服務條款，接受即可，不會產生任何費用。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="766" src="https://dongdonggcp.com/wp-content/uploads/2026/06/登入-GCP-Console-同意服務條款-1024x766.png" alt="" class="wp-image-11990" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/登入-GCP-Console-同意服務條款-1024x766.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/登入-GCP-Console-同意服務條款-300x224.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/登入-GCP-Console-同意服務條款-768x574.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/登入-GCP-Console-同意服務條款.png 1218w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">登入 GCP Console 同意服務條款</figcaption></figure>



<h5 class="wp-block-heading">Step 2：點擊右上角 Cloud Shell 圖示</h5>



<p class="wp-block-paragraph">登入後，畫面右上角有一個「<code>&gt;_</code>」的圖示，點擊它。</p>



<p class="wp-block-paragraph">這個圖示在通知鈴鐺的左邊，滑鼠移過去會顯示「啟用 Cloud Shell」。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1007" height="703" src="https://dongdonggcp.com/wp-content/uploads/2026/06/點擊右上角-Cloud-Shell-圖示.png" alt="" class="wp-image-11991" style="width:609px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/點擊右上角-Cloud-Shell-圖示.png 1007w, https://dongdonggcp.com/wp-content/uploads/2026/06/點擊右上角-Cloud-Shell-圖示-300x209.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/點擊右上角-Cloud-Shell-圖示-768x536.png 768w" sizes="(max-width: 1007px) 100vw, 1007px" /><figcaption class="wp-element-caption">點擊右上角 Cloud Shell 圖示</figcaption></figure>



<h5 class="wp-block-heading">Step 3：等待環境啟動</h5>



<p class="wp-block-paragraph">點擊後，畫面下方會出現一個終端機視窗，Cloud Shell 環境需要約 30 秒啟動。</p>



<p class="wp-block-paragraph">啟動完成後，你會看到類似這樣的提示符：</p>



<pre class="wp-block-code"><code>user@cloudshell:~ (your-project-id)$</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="448" src="https://dongdonggcp.com/wp-content/uploads/2026/06/進入-Cloud-Shell-終端機視窗-1024x448.png" alt="" class="wp-image-11992" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/進入-Cloud-Shell-終端機視窗-1024x448.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/進入-Cloud-Shell-終端機視窗-300x131.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/進入-Cloud-Shell-終端機視窗-768x336.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/進入-Cloud-Shell-終端機視窗.png 1343w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">進入 Cloud Shell 終端機視窗.png</figcaption></figure>



<p class="wp-block-paragraph">這代表你已經在 Cloud Shell 環境裡了，可以開始輸入指令。</p>



<h4 class="wp-block-heading">Cloud Shell 的限制與注意事項：路由設定重啟後會還原</h4>



<p class="wp-block-paragraph">開始操作之前，有一件事要先說清楚。</p>



<p class="wp-block-paragraph">Cloud Shell 是臨時環境，每次關閉視窗或閒置超過 20 分鐘後，系統可能會重置。</p>



<p class="wp-block-paragraph">你用指令手動新增的路由，重啟後會消失。這是正常行為，不是你操作錯誤。</p>



<p class="wp-block-paragraph">對學習來說這反而是好事：你可以放心嘗試各種指令，不用擔心把環境搞壞。</p>



<p class="wp-block-paragraph">但如果你是要在正式環境設定路由，Cloud Shell 不適合，要改用固定的伺服器或網路設備。</p>



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



<h3 class="wp-block-heading">安裝路由相關套件</h3>



<h4 class="wp-block-heading">確認環境：Cloud Shell 預裝了什麼</h4>



<p class="wp-block-paragraph">Cloud Shell 的底層是 Debian Linux，部分路由工具已經預裝，部分需要手動安裝。</p>



<p class="wp-block-paragraph">先執行以下指令確認目前有哪些工具可用：</p>



<pre class="wp-block-code"><code>which ip route traceroute netstat</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="322" src="https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-1024x322.png" alt="" class="wp-image-11993" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-1024x322.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-300x94.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-768x241.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-1536x482.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢是否安裝路由相關套件-2048x643.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">查詢是否安裝路由相關套件</figcaption></figure>



<p class="wp-block-paragraph">有出現路徑的代表已安裝，顯示空白的代表需要手動安裝。</p>



<h4 class="wp-block-heading">安裝 net-tools（提供 route、netstat 指令）</h4>



<p class="wp-block-paragraph"><code>net-tools</code> 是舊版網路工具套件，提供 <code>route</code> 和 <code>netstat</code> 這兩個指令。</p>



<p class="wp-block-paragraph">雖然這些指令在新版 Linux 上已被 <code>iproute2</code> 取代，但很多教學文件和舊系統還在用，學起來有備無患。</p>



<p class="wp-block-paragraph">在 Cloud Shell 執行：</p>



<pre class="wp-block-code"><code>sudo apt-get install -y net-tools</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="393" src="https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）-1024x393.png" alt="" class="wp-image-11994" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）-1024x393.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）-300x115.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）-768x295.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）-1536x589.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-net-tools（提供-route、netstat-指令）.png 1652w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">安裝 net-tools（提供 route、netstat 指令）</figcaption></figure>



<p class="wp-block-paragraph">安裝完成後確認：</p>



<pre class="wp-block-code"><code>route --version</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="121" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-1024x121.png" alt="" class="wp-image-11995" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-1024x121.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-300x36.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-768x91.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-1536x182.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-route-指令是否安裝成功-2048x243.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認 route 指令是否安裝成功</figcaption></figure>



<p class="wp-block-paragraph">有顯示版本號代表安裝成功。</p>



<h4 class="wp-block-heading">安裝 iproute2（提供 ip route 指令）</h4>



<p class="wp-block-paragraph"><code>iproute2</code> 是現代 Linux 的標準網路工具套件，提供 <code>ip</code> 這個主指令，包含路由管理、網路介面管理等功能。</p>



<p class="wp-block-paragraph">Cloud Shell 通常已預裝 <code>iproute2</code>，但還是確認一下：</p>



<pre class="wp-block-code"><code>ip -V</code></pre>



<p class="wp-block-paragraph">目前看來應該已經有安裝了</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="858" height="134" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-ip-指令是否已安裝.png" alt="" class="wp-image-11996" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-ip-指令是否已安裝.png 858w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-ip-指令是否已安裝-300x47.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-ip-指令是否已安裝-768x120.png 768w" sizes="(max-width: 858px) 100vw, 858px" /><figcaption class="wp-element-caption">確認 ip 指令是否已安裝</figcaption></figure>



<p class="wp-block-paragraph">如果顯示「command not found」，執行以下指令安裝：</p>



<pre class="wp-block-code"><code>sudo apt-get install -y iproute2</code></pre>



<h4 class="wp-block-heading">安裝 traceroute（提供封包追蹤功能）</h4>



<p class="wp-block-paragraph"><code>traceroute</code> 用來追蹤資料包從你的機器到目標 IP 經過了哪幾個節點。</p>



<p class="wp-block-paragraph">Cloud Shell 不一定預裝這個工具，執行以下指令安裝：</p>



<pre class="wp-block-code"><code>sudo apt-get install -y traceroute</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="639" src="https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-traceroute-1024x639.png" alt="" class="wp-image-11997" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-traceroute-1024x639.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-traceroute-300x187.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-traceroute-768x479.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/安裝-traceroute.png 1196w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">安裝 traceroute</figcaption></figure>



<p class="wp-block-paragraph">安裝完成後確認：</p>



<pre class="wp-block-code"><code>traceroute --version</code></pre>



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



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="130" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-traceroute-指令是否安裝成功-1024x130.png" alt="" class="wp-image-11998" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-traceroute-指令是否安裝成功-1024x130.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-traceroute-指令是否安裝成功-300x38.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-traceroute-指令是否安裝成功-768x97.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-traceroute-指令是否安裝成功.png 1452w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認 traceroute 指令是否安裝成功</figcaption></figure>



<h3 class="wp-block-heading">基本路由指令實作</h3>



<p class="wp-block-paragraph">套件都裝好後，現在開始實際操作。</p>



<h4 class="wp-block-heading">查看目前的路由表：ip route show</h4>



<p class="wp-block-paragraph"><code>ip route show</code> 是查看路由表最常用的現代指令，在 Cloud Shell 執行：</p>



<pre class="wp-block-code"><code>ip route show</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="146" src="https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show-1024x146.png" alt="" class="wp-image-11999" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show-1024x146.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show-300x43.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show-768x109.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show-1536x219.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看目前的路由表-ip-route-show.png 1784w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">你會看到類似這樣的輸出：</p>



<pre class="wp-block-code"><code>default via 10.88.0.1 dev eth0 
10.88.0.0/16 dev eth0 proto kernel scope link src 10.88.0.4 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown</code></pre>



<h5 class="wp-block-heading">輸出結果怎麼看：每個欄位的意思</h5>



<p class="wp-block-paragraph">這些看起來很陌生的文字，其實每個欄位都有明確意思：</p>



<h6 class="wp-block-heading">第一段：如果包裹要寄到「外縣市」或「國外」怎麼辦？</h6>



<p class="wp-block-paragraph">當你的 Cloud Shell 需要連上網際網路（例如去 Google 抓資料），它通常不知道全世界每一台電腦的確切位置。這時候，它需要一個「預設」的處理方式，這就帶出了第一行輸出：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><code>default via 10.88.0.1 dev eth0</code></p>
</blockquote>



<ul class="wp-block-list">
<li><strong>default（預設路由）</strong>：這代表「其他所有不知道該送去哪裡的包裹」。只要目的地不在我們家附近，就套用這個規則。</li>



<li><strong>via 10.88.0.1（經由）</strong>：把包裹交給 <code>10.88.0.1</code> 這個 IP 位址。這個角色叫做 <strong>Gateway（通訊閘 / 閘道器）</strong>，你可以把它想成是「郵件總處理中心」。你的電腦只要把包裹丟給總中心，總中心就會幫你轉送到外部網路。</li>



<li><strong>dev eth0（網路介面卡裝置）</strong>：<code>dev</code> 是 device（裝置）的縮寫。<code>eth0</code> 是你這台電腦主要對外的<strong>Network Interface（網路介面卡）</strong>。你可以把它想成是郵局的「大門」或「主要的送貨卡車」。</li>
</ul>



<p class="wp-block-paragraph"><strong>小結一下這行的意思：</strong>「只要不知道送去哪的資料，一律從大門 (<code>eth0</code>) 送出去，交給總中心 (<code>10.88.0.1</code>) 幫忙處理。」</p>



<h6 class="wp-block-heading">第二段：如果包裹只是要寄給「同一個社區的鄰居」呢？</h6>



<p class="wp-block-paragraph">既然我們知道怎麼把資料送到外部網路了，那如果你的 Cloud Shell 只是想跟「同一個 GCP 內部網路」裡的其他機器講話呢？這時候把包裹送到「總中心」就太繞路了，我們應該直接走社區通道送過去就好。這就是第二行規則存在的目的：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><code>10.88.0.0/16 dev eth0 proto kernel scope link src 10.88.0.4</code></p>
</blockquote>



<ul class="wp-block-list">
<li><strong>10.88.0.0/16（目標網段）</strong>：這代表你所在的「本地社區」，在網路術語中稱為 <strong>Subnet（子網路）</strong>。只要目標地址是 <code>10.88</code> 開頭的，就代表是鄰居。</li>



<li><strong>dev eth0</strong>：一樣，要出門還是得走郵局的大門（主要的網路卡）。</li>



<li><strong>proto kernel（通訊協定）</strong>：這表示這條規則是由作業系統的 <strong>Kernel（核心）</strong> 自動建立的，不是人類手動輸入的。</li>



<li><strong>scope link（範圍）</strong>：這代表目的地跟我們是在同一個實體或虛擬網路上（Link-local），可以直接對話，不需要經過剛剛那個總中心（Gateway）。</li>



<li><strong>src 10.88.0.4（來源 IP）</strong>：這個資訊非常關鍵！<code>src</code> 是 source（來源）的縮寫。它告訴我們，你現在正在使用的這台 Cloud Shell，它自己的 <strong>IP Address（IP 位址）</strong> 就是 <code>10.88.0.4</code>。這就像是你寄信時，寫在信封背面的「寄件人地址」。</li>
</ul>



<p class="wp-block-paragraph"><strong>小結一下這行的意思：</strong>「如果資料是要寄給同社區的鄰居 (<code>10.88.0.0/16</code>)，就直接從大門 (<code>eth0</code>) 送過去，並在信封寫上我的地址 (<code>10.88.0.4</code>)。」</p>



<h6 class="wp-block-heading">第三段：電腦裡面如果還有「房中房」，該怎麼送信？</h6>



<p class="wp-block-paragraph">現在我們知道怎麼對外（第一行）和對鄰居（第二行）溝通了。但是，Cloud Shell 是一個專門給工程師用的環境，它裡面內建了一個叫做 <strong>Docker</strong> 的工具。Docker 可以在你的電腦裡面再切出很多個獨立的「虛擬小房間」（稱為 <strong>Container 容器</strong>）來跑程式。</p>



<p class="wp-block-paragraph">既然是獨立的小房間，它們就需要專屬的內部信箱系統。這就自然接到了最後一行規則：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><code>172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown</code></p>
</blockquote>



<ul class="wp-block-list">
<li><strong>172.17.0.0/16</strong>：這是專門保留給 Docker 虛擬小房間（容器）使用的「內部專用網段」。</li>



<li><strong>dev docker0</strong>：這是一個 <strong>Virtual Bridge（虛擬網橋）</strong>。你可以把它想成通往那些內部小房間的「專屬內部門」。這扇門的名字叫 <code>docker0</code>。</li>



<li><strong>proto kernel scope link</strong>：跟上一段一樣，這是系統核心自動建立的直接連線規則。</li>



<li><strong>src 172.17.0.1</strong>：這是這扇「內部門」本身的 IP 位址，也就是小房間們的內部管理員地址。</li>



<li><strong>linkdown（連線狀態中斷）</strong>：這是一個很重要的狀態提示。它代表 <code>docker0</code> 這扇門目前是「關閉 / 未啟用」的狀態。為什麼呢？因為你現在可能還沒有在 Cloud Shell 裡面啟動任何 Docker 容器（小房間裡沒人），所以系統暫時把這個內部通道關閉以節省資源。</li>
</ul>



<p class="wp-block-paragraph"><strong>小結一下這行的意思：</strong>「如果要送信給內部的 Docker 小房間 (<code>172.17.0.0/16</code>)，要走專屬的內部門 (<code>docker0</code>)，不過這扇門目前是關著的 (<code>linkdown</code>)。」</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="531" src="https://dongdonggcp.com/wp-content/uploads/2026/06/拆解路由表-三層架構的網路藍圖-1024x531.png" alt="" class="wp-image-12015" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/拆解路由表-三層架構的網路藍圖-1024x531.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/拆解路由表-三層架構的網路藍圖-300x156.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/拆解路由表-三層架構的網路藍圖-768x398.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/拆解路由表-三層架構的網路藍圖.png 1139w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">拆解路由表 三層架構的網路藍圖</figcaption></figure>



<h3 class="wp-block-heading">總結</h3>



<p class="wp-block-paragraph">這三行連貫起來，就是你的 Cloud Shell 完整的網路溝通藍圖：</p>



<ol start="1" class="wp-block-list">
<li><strong>對外</strong>交給閘道器（Gateway）。</li>



<li><strong>對鄰居</strong>自己直接送（並秀出了你自己的 IP 是 <code>10.88.0.4</code>）。</li>



<li><strong>對內部虛擬容器</strong>有專屬通道，但目前沒在使用中。</li>
</ol>



<h4 class="wp-block-heading">查看路由表（舊指令）：route -n</h4>



<p class="wp-block-paragraph"><code>route -n</code> 是舊版的路由表查詢指令。<code>-n</code> 代表不要解析 hostname，直接顯示 IP 數字，速度比較快。</p>



<pre class="wp-block-code"><code>route -n</code></pre>



<p class="wp-block-paragraph">輸出格式像這樣：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="184" src="https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n-1024x184.png" alt="" class="wp-image-12000" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n-1024x184.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n-300x54.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n-768x138.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n-1536x276.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看路由表（舊指令）-route-n.png 1914w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<pre class="wp-block-code"><code>Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.88.0.1       0.0.0.0         UG    0      0        0 eth0
10.88.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0</code></pre>



<h5 class="wp-block-heading">ip route 和 route -n 的差別</h5>



<p class="wp-block-paragraph">這兩個指令看的是同一份路由表，只是顯示格式不同。</p>



<p class="wp-block-paragraph"><code>ip route show</code> 是現代指令，輸出用 CIDR 格式（如 <code>/28</code>），功能更完整，建議優先使用。</p>



<p class="wp-block-paragraph"><code>route -n</code> 是舊指令，輸出用傳統子網路遮罩格式（如 <code>255.255.255.240</code>），在舊系統或舊教學文件上比較常見。</p>



<p class="wp-block-paragraph">兩個都會，在任何環境下都不會被卡住。</p>



<h4 class="wp-block-heading">新增靜態路由：ip route add</h4>



<p class="wp-block-paragraph">靜態路由（Static Route）是指你手動告訴系統「去這個網段，要走這個 Gateway」，不透過任何路由協定自動學習。</p>



<h5 class="wp-block-heading">Step 1：確認目標網段</h5>



<p class="wp-block-paragraph">假設你要新增一條路由，讓去 <code>192.168.100.0/24</code> 這個網段的流量，走 Gateway <code>10.88.0.1</code>。</p>



<p class="wp-block-paragraph">先確認這個網段目前沒有路由：</p>



<pre class="wp-block-code"><code>ip route show | grep 192.168.100</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="86" src="https://dongdonggcp.com/wp-content/uploads/2026/06/先確認這個網段目前沒有路由-1024x86.png" alt="" class="wp-image-12001" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/先確認這個網段目前沒有路由-1024x86.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/先確認這個網段目前沒有路由-300x25.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/先確認這個網段目前沒有路由-768x64.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/先確認這個網段目前沒有路由.png 1386w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">先確認這個網段目前沒有路由</figcaption></figure>



<p class="wp-block-paragraph">如果沒有輸出，代表目前沒有這條路由，可以新增。</p>



<h5 class="wp-block-heading">Step 2：指定 Gateway</h5>



<p class="wp-block-paragraph">確認你的 Gateway IP 是否可以到達：</p>



<pre class="wp-block-code"><code>ping -c 3 10.88.0.1</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="321" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達-1024x321.png" alt="" class="wp-image-12002" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達-1024x321.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達-300x94.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達-768x241.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達-1536x482.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認你的-Gateway-IP-是否可以到達.png 1542w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認你的 Gateway IP 是否可以到達</figcaption></figure>



<p class="wp-block-paragraph">看到 <code>3 packets transmitted, 3 received</code> 代表 Gateway 可以連通。</p>



<h5 class="wp-block-heading">Step 3：執行新增指令並確認結果</h5>



<p class="wp-block-paragraph">執行以下指令新增路由：</p>



<pre class="wp-block-code"><code>sudo ip route add 192.168.100.0/24 via 10.88.0.1</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="63" src="https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由-1024x63.png" alt="" class="wp-image-12003" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由-1024x63.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由-300x19.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由-768x47.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由-1536x95.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/執行以下指令新增路由.png 1714w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">執行以下指令新增路由</figcaption></figure>



<p class="wp-block-paragraph">新增後，立刻確認有沒有成功加進路由表：</p>



<pre class="wp-block-code"><code>ip route show | grep 192.168.100</code></pre>



<p class="wp-block-paragraph">如果看到：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="120" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功新增路由-1024x120.png" alt="" class="wp-image-12004" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功新增路由-1024x120.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功新增路由-300x35.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功新增路由-768x90.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功新增路由.png 1336w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認是否成功新增路由</figcaption></figure>



<pre class="wp-block-code"><code>192.168.100.0/24 via 10.88.0.1 dev eth0</code></pre>



<p class="wp-block-paragraph">代表新增成功。</p>



<h4 class="wp-block-heading">刪除路由：ip route del</h4>



<p class="wp-block-paragraph">刪除路由的語法和新增幾乎一樣，只是把 <code>add</code> 換成 <code>del</code>：</p>



<pre class="wp-block-code"><code>sudo ip route del 192.168.100.0/24 via 10.88.0.1</code></pre>



<p class="wp-block-paragraph">刪除後確認：</p>



<pre class="wp-block-code"><code>ip route show | grep 192.168.100</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="90" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由-1024x90.png" alt="" class="wp-image-12005" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由-1024x90.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由-300x26.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由-768x68.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由-1536x135.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認是否成功刪除路由.png 1746w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認是否成功新增路由</figcaption></figure>



<p class="wp-block-paragraph">沒有輸出代表刪除成功。</p>



<h4 class="wp-block-heading">追蹤封包走哪條路：traceroute</h4>



<p class="wp-block-paragraph"><code>traceroute</code> 會顯示封包從你的機器出發，每經過一個路由節點就記錄一次，讓你看到完整的路徑。</p>



<p class="wp-block-paragraph">試著追蹤到 Google DNS 的路徑：</p>



<pre class="wp-block-code"><code>traceroute 8.8.8.8</code></pre>



<p class="wp-block-paragraph">輸出：</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="634" height="273" src="https://dongdonggcp.com/wp-content/uploads/2026/06/查看-traceroute-輸出.png" alt="" class="wp-image-12006" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/查看-traceroute-輸出.png 634w, https://dongdonggcp.com/wp-content/uploads/2026/06/查看-traceroute-輸出-300x129.png 300w" sizes="(max-width: 634px) 100vw, 634px" /></figure>



<p class="wp-block-paragraph">每一行是一個「跳」（hop），左邊的數字是第幾跳，後面是那個節點的 IP 和三次往返時間。</p>



<p class="wp-block-paragraph"><code>* * *</code> 代表那個節點沒有回應，可能設定了不回應 ICMP，不一定是問題。</p>



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



<h3 class="wp-block-heading">實際案例：用路由指令診斷網路問題</h3>



<h4 class="wp-block-heading">情境：連不到某個 IP，怎麼用路由指令找出問題</h4>



<p class="wp-block-paragraph">假設你在 Cloud Shell 裡 ping <code>192.168.50.1</code> 完全沒有回應，不知道問題出在哪。</p>



<p class="wp-block-paragraph">以下是標準的排查流程。</p>



<h4 class="wp-block-heading">Step 1：先查路由表，確認有沒有對應路徑</h4>



<pre class="wp-block-code"><code>ip route show | grep 192.168.50</code></pre>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="92" src="https://dongdonggcp.com/wp-content/uploads/2026/06/查詢路由是否存在-1024x92.png" alt="" class="wp-image-12007" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/查詢路由是否存在-1024x92.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢路由是否存在-300x27.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢路由是否存在-768x69.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/查詢路由是否存在.png 1340w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">查詢路由是否存在</figcaption></figure>



<p class="wp-block-paragraph">如果沒有輸出，代表路由表裡根本沒有去 <code>192.168.50.0/24</code> 的路徑。</p>



<p class="wp-block-paragraph">這時封包會走 default 路由（<code>default via 10.88.0.1</code>）。</p>



<p class="wp-block-paragraph">但如果 default Gateway 也不知道怎麼到那個網段，封包就會被丟棄。</p>



<p class="wp-block-paragraph">這種情況下，問題就是「缺少路由」。解法是新增一條靜態路由，或確認這個網段是否真的可達。</p>



<h4 class="wp-block-heading">Step 2：用 traceroute 找出封包卡在哪一跳</h4>



<p class="wp-block-paragraph">如果路由表有對應路徑，但還是連不到，執行：</p>



<pre class="wp-block-code"><code>traceroute 192.168.50.1</code></pre>



<p class="wp-block-paragraph">看封包在哪一跳停下來（顯示連續的 <code>* * *</code>）。</p>



<p class="wp-block-paragraph">如果第 1 跳就是 <code>* * *</code>，問題在 Gateway 這層。</p>



<p class="wp-block-paragraph">如果走了幾跳後才停，問題在中間某個路由節點或目標主機。</p>



<h4 class="wp-block-heading">Step 3：根據結果判斷是路由問題還是其他問題</h4>



<p class="wp-block-paragraph">排查路由問題後，如果路徑是通的但還是連不到，問題通常在以下 3 個地方：</p>



<ol class="wp-block-list">
<li>目標主機的防火牆擋掉了 ICMP（ping 不通但服務可能正常）</li>



<li>目標主機根本沒有在監聽</li>



<li>兩邊的路由不對稱（你能到它，但它的回程路由不知道怎麼回到你）</li>
</ol>



<p class="wp-block-paragraph">路由指令能幫你排除「路徑本身」的問題，剩下的就要用其他工具（如 <code>curl</code>、<code>telnet</code>、<code>nmap</code>）繼續追查。</p>



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



<h3 class="wp-block-heading">常見錯誤與排查</h3>



<h4 class="wp-block-heading">指令找不到（command not found）：套件沒裝好</h4>



<p class="wp-block-paragraph">執行指令時出現 <code>command not found</code>，代表那個套件還沒安裝。</p>



<p class="wp-block-paragraph">對照前面「安裝路由相關套件」的章節，確認對應套件有沒有裝好。</p>



<p class="wp-block-paragraph">如果安裝過程中出現錯誤，先執行：</p>



<pre class="wp-block-code"><code>sudo apt-get update</code></pre>



<p class="wp-block-paragraph">更新套件清單後再重新安裝。</p>



<h4 class="wp-block-heading">新增路由後 ping 還是不通：Gateway 設定錯誤</h4>



<p class="wp-block-paragraph">新增路由成功，但目標還是 ping 不通，最常見的原因是 Gateway IP 設錯了。</p>



<p class="wp-block-paragraph">確認你指定的 Gateway 在路由表裡是可達的：</p>



<pre class="wp-block-code"><code>ip route get &lt;你的 Gateway IP&gt;</code></pre>



<p class="wp-block-paragraph">正常會看到像這樣：</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="479" height="81" src="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-Gateway-可以達到.png" alt="" class="wp-image-12008" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/確認-Gateway-可以達到.png 479w, https://dongdonggcp.com/wp-content/uploads/2026/06/確認-Gateway-可以達到-300x51.png 300w" sizes="(max-width: 479px) 100vw, 479px" /><figcaption class="wp-element-caption">確認 Gateway 可以達到</figcaption></figure>



<p class="wp-block-paragraph">如果顯示 <code>RTNETLINK answers: Network is unreachable</code>，代表這個 Gateway 本身就不可達，路由設定沒有意義。</p>



<h4 class="wp-block-heading">Cloud Shell 重啟後路由消失：這是正常行為</h4>



<p class="wp-block-paragraph">手動新增的路由，Cloud Shell 重啟後會消失。</p>



<p class="wp-block-paragraph">這是 Cloud Shell 的設計限制，不是你的操作問題。</p>



<p class="wp-block-paragraph">如果你需要每次啟動 Cloud Shell 都自動套用路由設定，可以把指令寫進 <code>~/.bashrc</code>：</p>



<pre class="wp-block-code"><code>echo "sudo ip route add 192.168.100.0/24 via 10.88.0.1" &gt;&gt; ~/.bashrc</code></pre>



<p class="wp-block-paragraph">這只適合學習和測試用途，正式環境不應該這樣做。</p>



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



<h3 class="wp-block-heading">總結：路由指令你只需要記住這幾條</h3>



<p class="wp-block-paragraph">學路由不需要記很多東西。把這 5 條指令在 GCP Cloud Shell 跑過一遍，下次遇到網路問題，你就有具體的排查起點。</p>



<ol class="wp-block-list">
<li><code>ip route show</code> — 查看路由表</li>



<li><code>route -n</code> — 查看路由表（舊格式，舊系統適用）</li>



<li><code>sudo ip route add &lt;網段> via &lt;Gateway></code> — 新增靜態路由</li>



<li><code>sudo ip route del &lt;網段> via &lt;Gateway></code> — 刪除路由</li>



<li><code>traceroute &lt;目標 IP></code> — 追蹤封包路徑</li>
</ol>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="540" src="https://dongdonggcp.com/wp-content/uploads/2026/06/3分鐘網路診斷決策樹-1024x540.png" alt="" class="wp-image-12016" srcset="https://dongdonggcp.com/wp-content/uploads/2026/06/3分鐘網路診斷決策樹-1024x540.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/06/3分鐘網路診斷決策樹-300x158.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/06/3分鐘網路診斷決策樹-768x405.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/06/3分鐘網路診斷決策樹.png 1188w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">3分鐘網路診斷決策樹</figcaption></figure>



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



<h3 class="wp-block-heading">常見問題（FAQ）</h3>



<p class="wp-block-paragraph"><strong>Q1：我沒有 GCP 帳號，可以用 Cloud Shell 嗎？</strong> A：只要有 Google 帳號（例如 Gmail）就可以使用 GCP Cloud Shell，不需要額外<a href="https://dongdonggcp.com/2024/02/01/how-to-apply-gcp-free-usage-credit-300-dollars/" title="">申請 GCP 帳號</a>，也不需要信用卡。前往 console.cloud.google.com 登入後，點右上角「<code>>_</code>」圖示即可開啟，整個流程不會產生任何費用。</p>



<p class="wp-block-paragraph"><strong>Q2：Cloud Shell 的免費額度會用完嗎？</strong> A：Cloud Shell 每個月提供 50 小時的免費使用時間，一般學習和練習完全夠用。這篇文章示範的所有路由指令都在免費額度內，不會產生任何費用。</p>



<p class="wp-block-paragraph"><strong>Q3：ip route 和 route -n 哪一個比較建議用？</strong> A：優先使用 <code>ip route show</code>。它是現代 Linux 的標準路由查詢指令，輸出格式更清楚、功能更完整。<code>route -n</code> 在舊系統或舊文件上還是很常見，兩個都知道，在任何環境下都不會被卡住。</p>



<p class="wp-block-paragraph"><strong>Q4：靜態路由和動態路由有什麼差別？</strong> A：靜態路由是你手動設定的，告訴系統「去這個網段走這條路」，不會自動更新。動態路由透過路由協定（如 OSPF、BGP）讓路由器之間自動學習路徑，網路拓撲改變時會自動調整。學習階段用靜態路由就夠了，大型正式環境幾乎都用動態路由。</p>



<p class="wp-block-paragraph"><strong>Q5：traceroute 輸出中的 <code>* * *</code> 是什麼意思？</strong> A：<code>* * *</code> 代表那個節點在規定時間內沒有回應。這不一定是問題——很多路由器或防火牆設定為不回應 traceroute 的封包。如果最終能到達目標，中間出現 <code>* * *</code> 通常不影響實際連線。</p>



<p class="wp-block-paragraph"><strong>Q6：怎麼知道我的預設 Gateway 是什麼？</strong> A：執行 <code>ip route show</code>，找開頭是 <code>default via</code> 的那一行，後面的 IP 就是預設 Gateway。例如 <code>default via 10.88.0.1 dev eth0</code>，預設 Gateway 就是 <code>10.88.0.1</code>。</p>



<p class="wp-block-paragraph"><strong>Q7：新增路由時出現 <code>Error: any valid prefix is expected rather than</code>，是什麼問題？</strong> A：這個錯誤代表網段格式有誤。路由指令的網段必須用 CIDR 格式，例如 <code>192.168.100.0/24</code>，不能只寫 <code>192.168.100</code>。確認網段後面有加 <code>/數字</code> 的子網路遮罩，再重新執行。</p>



<p class="wp-block-paragraph"><strong>Q8：可以用 Cloud Shell 練習路由以外的網路指令嗎？</strong> A：可以。Cloud Shell 是完整的 Linux 環境，<code>ping</code>、<code>curl</code>、<code>nslookup</code>、<code>dig</code>、<code>netstat</code>、<code>ss</code> 等常見網路指令都能在這裡使用，部分需要先安裝套件。對於想從零學習 Linux 網路指令的人，Cloud Shell 是免費又方便的練習環境。</p>



<p class="wp-block-paragraph"><strong>Q9：路由表裡的 Metric 數字代表什麼？</strong> A：Metric 是路由的優先權分數，數字越小代表優先權越高。當路由表裡有超過 2 條都能到達同一目標的路由時，系統會選擇 Metric 較小的那條。在有多張網路卡或多個 Gateway 的環境裡，Metric 的設定會直接影響流量走向。</p>



<p class="wp-block-paragraph"><strong>Q10：這篇文章的路由指令可以直接用在 GCP 的 VM 上嗎？</strong> A：可以，但要注意：GCP VM 的網路由 VPC 管理，單純在 VM 內新增路由不一定能讓流量真正改道，還需要在 GCP Console 的 VPC 路由設定裡同步調整。Cloud Shell 適合學習路由指令語法，正式環境需要搭配 GCP 網路架構一起考慮。</p>



<p class="wp-block-paragraph"></p><p>The post <a href="https://dongdonggcp.com/2026/06/01/what-is-routing-gcp-cloud-shell-basic-commands/">路由是什麼？網路必學基礎知識</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2026/06/01/what-is-routing-gcp-cloud-shell-basic-commands/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11989</post-id>	</item>
	</channel>
</rss>
