講講一個小故事
有天,我家電視的MOD突然不能看
想說可能是後台設定跑掉了
幸好以前有記下MOD後台設定資料,於是就想進工程模式手動設定
但好奇怪,怎麼設定都沒用?
打電話叫了工程師來設定也是都沒用
但經過測試發現一個狀況,MOD竟然ping的通幾個Internet DNS (如:8.8.8.8)
於是靈機一動就想到
會不會問題不在MOD機器本身,而是路由表?
路由表可說是在網路拓樸裡,用來溝通各主機最重要的東西了
其原理是利用路由器IP紀錄的特性建立轉發表
透過紀錄路徑的轉發,使其封包能正確傳送至目標IP主機
舉例來說
在單一路由器環境下有兩台不同網域之主機:
A主機:192.168.163.1 from 192.168.163.0
B主機:172.19.5.1 from 172.19.5.0
現在我想從A主機通過路由器來ping通B主機
所以我需要在路由器的路由表內設置B主機IP,以便讓A與B能互通小提示
如果改只在A主機路由表設置,便只會有A->B之間能通
B->A是不通的
回到剛剛的故事,現在大致了解了路由表的功能與原理
我們就可以大膽猜測是中華電信他們機房設定MOD的路由表跑掉了
導致在中華電信區域網內無法連通(並驗證)目標Server
現在我們可以來看UNRAID路由表了
(點選Head欄的Network Settings,最下方就是了)
可以看到UNRAID GUI設置比起一般Linux路由表簡易的多
當然UNRAID也可以設置一般Linux路由表,但這裡不討論
ADD ROUTE這裡提供了三個欄位設置,分別為
UNRAID應用上一般只設置網域,也就是以".0"結尾的IP
)IP/Gateway
一般設定網橋,而網域IP必需遵循該網橋設置
)同網域設定0,跨網域設定1,所以一律設置1即可
)。
。
。
。
。
最後回到這張圖
如果嘗試刪除"default"路由,將導致其在VM與Docker下的所有主機和容器無法上網!