Cisco學習資訊分享
Cisco學習資訊分享
Li-Ji Hong (洪李吉)
打造夢幻Internet - 洪李吉 的Internet技術部落格
需要幾條路由表,接通三個辦公室?
我們藉由一個連接三個辦公室,三個網段的簡單拓樸,來說明連接辦公室網路,維護正確的路由表內容的時候,到底應該使用靜態路由,還是多多運用動態路由協定。 網路拓樸中,三部路由器,分別代表一個獨立辦公室,背後各只有一個區域網路、LAN網段。圖中每一個區域網路,我只列出一部電腦,來代表網段內的使用者,或者是伺服器。 為了聚焦在路由表本身,IP地址已經全部配發完成。電腦上面只有基本網路連接功能。 我們的目標是,完全接通三個辦公室中,不同的區域網路,區域網路內的任何電腦、電腦之間,都必須完全連通。 路由表的基本知識回顧 我們先回顧路由表的基本知識。 路由器在轉送每一個封包的時候,一律查詢路由表。封包的目的地地址,如果在路由表中存在定義,那就按照路由表的定義轉送。反過來看,封包的目的地地址,如果在路由表中找不到定義,這個封包就會被直接丟棄。 回到三個辦公室的情況。任何從電腦出發的封包,要到達其他辦公室的電腦的話,看完網路拓樸,我們馬上知道,都必須穿越兩次不同的路由器。 因此,第一站的路由器裡面的路由表,必須包含兩個遠端辦公室網段的資訊,封包才有機會,被往下一部路由器轉送。 事實上,拓樸中的三部路由器,上面的路由表,都必須包含對面遠端兩個辦公室的網段資訊,否則,完全的接通,肯定無法實現。 路由表的初始內容 接下來,我們觀察路由器上面,路由表的初始內容。 初始的路由表的內容,有一些資訊是自動產生的。例如,直接相連的網段。除此之外,全部都必須透過我們的設定,來將缺少的路由表加進來。 這樣的初始內容,肯定是不夠的,因此網路連通性,還不存在。所以,我們開始加入缺少的路由表內容。 要加入路由表,我們有兩個選擇。 靜態路由動態路由協定 我們兩者都試試看,先別急著下結論。最後我們再來比較,哪一個工具比較好。 加入路由表方法一:使用靜態路由 依照剛才分析的結果,我們需要在三部路由器上面,分別透過靜態路由工具,來加入各兩筆的靜態路由資訊。 以R1為例子,需要在IP、IPv4分別加入這兩筆: [R1] ip route 10.2.1.0 255.255.255.0 10.0.12.2 ip route 10.3.1.0 255.255.255.0 10.0.13.3 ipv6 route fd10:2:1::/64 Ethernet1/0 FE80::200:FF:FE12:2 ipv6 route fd10:3:1::/64 Ethernet1/1 FE80::200:FF:FE13:3 完成之後,「完全接通」這個目標,我們達到了。我們可以透過任意兩部電腦、電腦之間的PING工具,來驗收這個目標。 以上的例子,分析過程應該不難理解。只不過,如果只能使用靜態路由,真的很不方便。 首先,輸入的時候,靜態路由命令很長,而且隔壁路由器的地址資訊,需要反覆檢查確認。非常容易出錯。 我們再觀察下面的兩個狀況,我們會發現,採用靜態路由,來維護路由表,真的很不方便。 案例一 假設第三號辦公室,需要增加一個網段。請參考網路拓樸。 分析的過程差不多,但是,每一部的路由器上面,就必須分別增加一筆第三號辦公室的新網段。我這裡用路由器一來說明。我們必須先檢查目前有的路由表,得知缺少的新網段,然後透過靜態路由命令,來加入這一筆。 事實上,路由器二,也必須完成相同的檢查,和確認。 如果這樣還不夠讓人感到苦惱,我再加入一個狀況:案例二 二號辦公室,要改換網段地址。 相同的分析之後,我們發現,我們必須修改,所有路由器上面,跟二號網段相關的所有路由表的內容。我同樣用路由器一來說明。我們必須先檢查目前有的路由表,得知變更了的網段路由表內容,然後透過靜態路由命令,來移除舊的,加入新的這一筆路由表。 當然,路由器三也必須完成相同的路由表檢查跟編輯。 因此,如果我們只能使用靜態路由這個工具,將會很不方便,沒有彈性,糟糕的是,路由表並不會自動隨著網段地址改變而自動調整。 有沒有更好的解決方案?當然是有的。 加入路由表方法二:使用動態路由協定 我們就挑選OSPF協定,來展示動態路由協定的優勢。 我們會發現,OSPF協定的啟動、設定命令,每一部路由器都完全一樣,我們不需要來回檢查確認其他路由器的地址。我們甚至可以用剪貼(copy paste)的方式,一口氣設定完全部的路由器。 router ospf 1 network 0.0.0.0 255.255.255.255 area 7 ipv6 router ospf 1 int e1/0 ipv6 ospf 1 area 7 int e1/1 ipv6 ospf 1 area 7 int e2/0 ipv6 ospf 1 area 7 int lo0 ipv6 ospf 1 area 7 我們輸入完成之後,接下來,只需要等待協定的交談結果,讓路由器自動幫我們將正確的路由表內容準備好。 數秒鐘後,目前的路由表內容,已經是完全正確的。 透過動態路由協定,是不是簡單很多呢? 同時,前面所提到的兩個案例,動態路由協定,甚至於會幫助我們,自動更新路由表的內容。案例一 我們的確必須透過命令,告知路由器三R3,新增加這個網段。除此之外,其他設定,全部不需要改變。路由表自動更新完成。案例二 我們甚至於不需要修改任何原有的設定。 因此,前面的兩個場景,我們同樣使用OSPF的時候,我們幾乎不需要更動增加設定,路由表就會自動調整過來。 結論 動態路由協定,可以幫助我們自動找到正確的路由表內容,更棒的是,當網路拓樸改變,路由表的內容,也會自動更新。同時,動態路由協定的命令,通常行數、字數也會比較少。 所以,我們必須花時間去學習,類似於OSPF這類型的、自動化的動態路由協定,來幫助我們,用最少的命令,讓路由器自動去探索拓樸,調整路由表的內容。 One more thing… 只需要透過少數幾行的命令,就可以讓路由器自動維護,完全正確的路由表內容,確保辦公室網路的連通性。是不是既省力,效果也很讓人滿意呢? 如果喜歡以上的內容,請訂閱「Cisco學習資訊分享」YouTube頻道。事實上,我們還可以從其他的觀察角度出發,來增加我們網路服務的品質。例如「斷線自動修復」,和「網路遠端管理」,我還沒有討論到。我將放在未來的影片中。 歡迎大家開啟畫面、左方的影片連結,裡面有更多「Cisco學習資訊分享」的影片喔!
Jul 27, 2021
不安裝額外軟體,在Windows 10快速找到Wi-Fi無線網路接入速度
不安裝額外軟體,在Windows 10上面我們要如何快速找到,我現在工作中的Wi-Fi無線網路連線速度呢?我是洪李吉。 在Windows 10上面我們很容易知道,我們目前作業系統,是不是連上Wi-Fi網路。但是速度是多少呢?好像沒有比較簡單的方法,可以快速知道我們當前 Wi-Fi無線網路接入速度到底是多少。我這篇文章的內容就是來分享我常用的幾個方法。 影片版 方法一、使用滑鼠操作圖形介面 這個方法在Windows 10上面,肯定是沒問題的。主要是因為Windows 10的圖形介面設計很不錯,甚至不需要看任何文件,稍微摸索一定找得出來。 但是,這個方法有缺點。經常發生,一段時間後,Windows可能會調整它的操作介面、路徑。換句話說,我們現在熟悉的流程,或者是我現在錄製下來的軌跡參考,非常可能日後還需要做調整更新。甚至於在未來的Windows版本裡面,流程完全都不一樣了。 我們需要有心理準備,經過一段時間之後,現在所錄製的畫面,很可能是不正確的。因此,接下來我介紹方法二。 方法二、使用netsh (Net Shell) Windows命令列工具netsh已經存在Windows作業系統家族裡面非常久了。預設內建,不需要另外安裝。 顯示Wi-Fi無線網路速度的命令,其實不長。 netsh wlan show interfaces   執行使用netsh,我們可以從命令列 CMD視窗,或者從PowerShell視窗來執行都可以。 方法三、使用PowerShell PowerShell也是Windows 10內建的命令列的介面。預設內建,不需要另外安裝。 他的命令稍微複雜一點,解釋起來的確需要花一段時間,整個命令的細節我先不解釋。 Get-WmiObject -Class Win32_NetworkAdapter | ` Where-Object { $_.Speed -ne $null -and $_.MACAddress -ne $null } | ` Format-Table Name, ` @{Label='Connected'; Expression={-not $_.OperationalStatusDownMediaDisconnected}}, ` @{Label='Speed(MB)'; Expression = {$_.Speed/1000000}}, ` FullDuplex,InterfaceDescription 相同的,命令執行之後,馬上就知道,我們的Wi-Fi無線網路接入速度是多少。 結論 以上我所分享的幾種方法,可以在Windows 10上面不需要安裝額外的任何軟體,就可以快速知道,我現在工作中的Wi-Fi網路接入速度是多少。希望對大家有幫助。 One more thing… Wi-Fi的接入的速度,我這裡的意思是,從Windows出發,到達第一站的接入點(Access Point)的這一段鏈接的速度。因此,真實的端到端(End to End)網路有效連線速度,不一定會這麼好。這是因為,端到端網路連線,並不是只有Wi-Fi這一段的路徑,還要再經過有線網路,中間也許還會經過其他的網路設備,例如,路由器、交換器、防火牆。最後的速度,可能不太一樣。 另外,在Wi-Fi無線網路的領域,所謂接入的速度是指,輪到你用的時候,你在無線信號上的瞬間傳輸速度。實際上,Wi-Fi無線網路,一定是共用的。我們會跟好多用戶,共用分享少數的接入點。這個速度的數字,還需要往下再打個折扣。 在Windows 10上面 PowerShell是預設內建,不需要另外安裝,而且快速方的命令列管理工具,同時也是可程式化的,就跟Python、BASH相當。假設大家想要更深入了解,歡迎在下方的留言區告訴我!  我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
May 11, 2021
從「蘇伊士運河」事件,檢視網路中是否有「單點故障、全體故障」缺陷
就在三天前,2021年3月23日,當地時間大約7:40 (5:40 UTC),台灣的長榮海運公司的貨櫃輪「長賜輪」(EVER GIVEN),在「蘇伊士運河」的航道上意外擱淺,正好將整個通道阻塞。因此,「蘇伊士運河」完全停止服務,任何輪船都無法穿越,一直到影片製作的現在。 我從「維基百科」、「Google地圖」的觀察,我發現,「蘇伊士運河」本身存在著「單點故障、全體故障」的問題,也就是Single Point of Failure, SPOF。因為開鑿運河本身,就是一個極為昂貴的工程,我的重點不是在指出「蘇伊士運河」的設計規劃有問題。我只是藉由這個例子,來說明任何網路系統的設計,如果存在著「單點故障、全體故障」的服務停止缺陷,雖然發生的機會很小,只要機會不是零,我們就必須預先規劃好,如何降低發生的機率;或是當這個狀況發生的時候,所產生的代價,我們是否可以承受;還有,我們必須花費多久時間,才能修復回正常服務的狀態。「蘇伊士運河」事件的摘要 我先將視野,站在「蘇伊士運河」業主本身。 我從報導得知,「蘇伊士運河」在2020年一整年的過路費收入,大約是56 億美元 (5.6 Billion USD)。我假設運河本身365日每天都營運,平均每一天的收入,大約是一千五百萬美元 (15 Million USD),這個數字大約是超過新台幣四億元。因此每停止服務一天,過路費收入的損失就是一千五百萬美元。 到目前為止我的觀察,「蘇伊士運河」業主本身能夠做的手段,還沒有看到明顯的效果,包括使用拖船、挖開擱淺岸邊的砂土。目前已經尋求外部救援公司的協助。如果最後真的需要外部救援公司才能解決,我的估計,光是移動外部救援公司的機具到現場,可能就要好幾個星期,因此,這個阻塞問題需要更多的日子,才能夠解決。 光是過路費的收入,就是一筆好大好大的數字。 我將視野,拉回到網路系統。萬一我們的網路規劃,還存在著類似的「單點故障、全體故障」的SPOF問題,我提出下面幾個思考的切入點,來避免我的工作網路遇到,跟進行中的「蘇伊士運河」事故一樣糟糕的結果。停止服務事件,發生的機率有多大? 雖然我沒有具體的統計數字,但是,經驗上告訴我,纜線、路由器、交換器、防火牆,任何可單獨安裝的硬體單位,一年內完全沒有任何故障的機率,幾乎是零。就算完全沒有故障,也只能算是運氣好。 我必須預期,一條纜線,一個路由器,一個交換器,一個防火牆,就在未來的一年內,一定會產生故障的事件。在這個情境下,來進行我的網路規劃。 因此即使發生單一硬體故障,也不會造成服務停止的冗餘設計(Redundancy),非常重要。例如,多重冗餘路徑、多重冗餘硬體的加入,都能夠減少停止服務的機率。 即使最後因為不敷成本不採用冗餘設計,這些冗餘設計的選項,我也必須列入考慮清單中。未來如果條件改變,我可以快速知道,我還有哪一些備案可以選擇。停止服務事件,發生後的代價有多大? 地點不同,代價也不相同。如果某個網路連線,只服務一個時間要求不高的使用者,例如,單一普通員工的座位電腦、小群組印表機,代價也許不明顯。 但是如果是主幹道上面的網路,停止服務後,損失一定很可觀。如果可能,將預期的損失用金錢來估算,這樣會比較有感覺,同時,這個數字也能夠幫助我評估,我能夠投入的合理預算,有多少。停止服務事件,發生的時候,要花多久時間修復? 在網路系統距離不遠處,準備一些多餘的可能故障的備用品,例如網路線、光纖收發器(Transceiver),甚至是交換器,都可以減少停止服務的時間。 尋求外部公司的協助,也是可行的選項。例如資訊系統另外付費的「保證四小時內到場維護」等級的硬體服務。結論 前面三個切入點的問題,每個企業內的系統的情境、取捨,可能都不一樣。重點是,我都必須隨時準備好,我要如何去回答。 One more thing… 雖然我的視角只是網路系統,事實上,前面全部的檢視,也適用於任何的資訊系統。 回到「蘇伊士運河」。 誰能事先想得到,竟然會這麼剛好,擱淺意外,發生在「蘇伊士運河」單向、單通道的航道段,而且主角是總重量超過二十萬噸的、世界最大型的貨櫃船。 如果能回到過去,改成發生在雙通道航道段,或者是主角不是如此笨重的輪船,一切就不會演變成整個「蘇伊士運河」完全阻塞。 只要機率不是零,我都必須假設,這種事故真的會發生。我不能只靠運氣好。 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Mar 26, 2021
IPv6協定在台灣用戶端連線數,超越IPv4
我這幾天在「網路攻防戰」Facebook頁面看到文章「標題:台灣 IPv6 使用率已經超過 50%」,我順著找到了好多關於台灣IPv6發展現況的資訊。我這時候才驚覺到,原來在台灣,IPv6協定用戶端連線數,目前已經超越IPv4協定。 APNIC從「用戶端」完成的成功工作連線數,來做為量測依據。因此,並不是IP地址空間中的可能地址數,而是有真實意義的使用人數、人次。 台灣目前Internet上面的IPv6的使用連線數,已經超過台灣全部的IPv4連線數了。或者這樣看,假設您的用戶端只能支援IPv4,那麼您已經是屬於不到一半的少數了。 我整理出我的三個觀察,跟大家分享。 資料來源:https://stats.labs.apnic.net/ipv6/TW 行動電話上面的網路活動,IPv6遠高於IPv4 光從APNIC的圖表,我馬上注意到中華電信的數字。資料來源:https://stats.labs.apnic.net/ipv6/TW 「IPv6 Capable」所指的是透過IPv6執行完畢完整的連線。 「IPv6 Preferred」所指的是,雙協定用戶端,最後選擇IPv6執行完畢完整的連線。 其中,EMOME代表的是中華電信來自於行動電話的樣本,HINET上面流量是來自於中華電信其他技術的使用者。APNIC量測到的數值來看,HINET上面的「IPv6 Capable」大約佔全部連線數的30%,但是EMOME行動電話IPv6 Capable竟然已經達到大約90%。因此可以看得出來,行動電話上面的IPv6普及性非常高。 行動電話應該是台灣IPv6使用者的主要成分 同樣依照中華電信的數字來計算,我將APNIC所取得的樣本數字乘以IPv6 Capable百分比,EMOME大致上的IPv6 Capable樣本數目,是HINET的兩倍(23,864 vs 11,885)。因此我推斷,行動電話是台灣IPv6使用者的主要成分。 資料來源:https://stats.labs.apnic.net/ipv6/TW 台灣屬於高度IPv6使用率的領先群 APNIC的量測數值,是浮動的,台灣目前的世界排名,大致上是第七名、第六名之間跳動。即使如此,台灣IPv6使用率,目前依然大幅領先全世界的很多國家。資料來源:https://stats.labs.apnic.net/ipv6 結論 整體來看我相信,並不是IPv4使用人數大幅減少,而是因為IPv6使用人數大增。同時最近這幾年,行動電話的數量大幅增加,增加的速度遠超過PC、Notebook。因此我推測,新增加的行動電話用戶,幾乎都是IPv6 Capable,使用IPv6來連網。 我完全同意「網路攻防戰」Facebook頁面的建議:「還不熟悉 IPv6 的資訊/資安從業人員,要盡早補充相關知識了。」 One more thing…資料來源:https://stats.labs.apnic.net/ipv6 簡單的來說,APNIC的量測方式,是透過HTTP/HTTPS連線數,也就是瀏覽器、App等所完成的樣本連線數來量測。我認為這是接近於真實的Internet行為。因為從一般的實務統計來看,HTTP/HTTPS已經超越90%以上的Internet流量。 另外,不只是APNIC在研究量測這個主題,好多商業公司、非營利組織,都同時使用不同的量測工具來估計IPv6的使用率。因此,我這裡所分享的APNIC來源,只是其中之一。 我稍作觀察,不論是來自哪一個發布的來源,台灣其實都屬於領先群。資料來源:https://labs.ripe.net/Members/wilhelm/ipv6-adoption-statistics-a-comparison-of-different-metrics 台灣春天的山櫻花 台灣、桃園市、Feb. 5, 2021 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Feb 18, 2021
有點讓我慚愧的,網路靈異事件
今年2020年初,我用Windows 10筆記型電腦,接在別人的某電信業者的寬頻網路上網。網路盒上面其實同時開通著Wi-Fi,因為我人就坐在網路盒子旁邊,我依然使用有線網路連網。 我的電腦裡面,所安裝的軟體很單純,基本上只有瀏覽器,和Microsoft的Office軟體而已。我將乙太網路線,一插入網路盒的埠上面,甚至連PPPoE撥接、密碼等等,全部都不需要設定或輸入,Windows 10馬上就顯示,「網際網路存取」已經接通。接下來,不論是瀏覽器連接Google、YouTube、Facebook、Twitter等,收郵件、甚至是Windows Update,完全都沒有問題。於是,我沒有多想,就繼續將網路線接在這個網路盒,開開心心的上網去了。 直到,有同事請我幫他測試一個網站。 我覺得好奇怪,打開這個網站,瀏覽器居然發生逾時的錯誤,就連首頁畫面,都無法開啟。我跟同事都覺得好奇怪,剛才從其他的網路測試,明明都可以連接上去,為何現在會連首頁都打不開? 因為我連接其他的網路服務,全部都沒有問題,只有這個「待測網站」,就連首頁都打不開。我第一個先懷疑的,應該是這個網站伺服器自己的問題。 靈異事件,即將開始 我乾脆將網路線拔掉,改用同一個網路盒的Wi-Fi 服務連網,反正我也知道密碼。輸入完成密碼之後,Wi-Fi接通,所有的網際網路服務,當然都還是可以正常工作。 於是我再重新測試一次,這個「待測網站」。 「待測網站」的首頁,這次,竟然可以打開! 這怎麼可能??!! 我都是通過完全相同的網路盒連接,只不過,透過有線網路,「待測網站」首頁打不開,透過無線網路,竟然可以打開! 難道是,有防火牆安插在網路盒上嗎?我仔細想想,這個網路盒應該是超級低成本的,不太可能。 難道是,被電信業者封鎖住我的IP地址了嗎?我能夠完全正常使用其他的網站,這點也不成立。 難道是,我的Windows 10電腦,錯誤的將這個網站當成惡意網站,給封鎖住了嗎?我明明使用完全相同的Windows 10電腦連接,怎麼可能有線網路就封鎖,Wi-Fi反而接通? 完全沒有任何科學理論,可以合理解釋,正發生在我眼前的這個,十分詭異的靈異現象! 我被這個靈異現象,嚇出了一身冷汗,就這樣持續了五百個毫秒。 我只剩下最後一招了,於是,我只能打開Windows 10命令列視窗。準備執行 「ipconfig /all」 命令。 當閃動的游標停在「all」的「L」字母後面,我開始遲疑了,我到底應不應該,接著按下Enter按鍵?? 再經過五百個毫秒的遲疑之後,我總算下定決心,將Enter鍵按下去。 於是,我得到了這個類似的畫面(事後模擬)。 乙太網路卡 乙太網路:    連線特定 DNS 尾碼 . . . . . . . . :    描述 …    IPv6 位址. . . . . . . . . . . . .: 2001:b011:0000:0000:0000:0000:0000:0000(偏好選項)    臨時 IPv6 位址. . . . . . . . . . : 2001:b011:0000:0000:0000:0000:0000:0000(偏好選項)    連結-本機 IPv6 位址 . . . . . . . : fe80::0000:0000:0000:0000%2(偏好選項)    IPv4 位址 . . . . . . . . . . . . : 169.254.1.2    子網路遮罩 . . . . . . . . . . . .: 255.255.0.0 …原來如此,我之前一直能夠成功連網,是因為,網路盒所提供的IP地址,其實一直都只有IPv6地址。 Google、YouTube、Facebook、Twitter,全部都是 IPv6 Ready的網路服務。 「待測網站」因為還在開發,伺服器上面只有IPv4地址。 電信業者的網路盒上的Wi-Fi功能,因為提供了標準的IPv4 NAT 地址轉譯(用Cisco的術語,應該稱為PAT),還有DHCP功能,可以自動配發IPv4私有地址。 簡單的說,我連接在有線網路上面的時候,所使用的是IPv6網路,因此可以正常連線網際網路,但是不能連接「待測網站」。 我連接在Wi-Fi的時候,所使用的是IPv4網路,在NAT後面,因此,可以連接所有的網站,也包含「待測網站」。 所有的謎團,所有的靈異現象,全部都解開了! 我之所以會嚇出一身冷汗,是因為,我完全沒有預期到,我竟然可以透過電信業的網路盒,直接使用IPv6連網。而且,完全分辨不出來,我到底是在IPv6網路,還是IPv4網路上面。 我覺得有點慚愧。因為,身為網際網路工作者,我竟然忘了想起IPv6的存在。 One more thing… 只可惜,當時我沒有將畫面擷取下來。之後我回到相同的網路,想要將畫面重新擷取,卻發現,電信業者已經將IPv6功能關閉了。我拿自己家裡的相同電信業者的寬頻網路盒來測試,也不能取得IPv6地址。電信業者並沒有在網站上公開這個功能,看起來,只是我運氣好(或者說,運氣不好),剛好遇到測試中的網路功能。 不過,我也歡迎大家在下方的留言區,分享您所遇到過的「靈異現象」!我們可以一起來找找,問題可能出現在哪裡。 我記錄這一個故事,其實還有一個目的。 正因為在Windows 10上面使用IPv6網路技術,原來會讓人完全察覺不出來,到底我們人是連接在IPv6網路,還是在IPv4上面。因此,未來我如果提到,「Internet」、「Internet Protocol」、「IP」、「網際網路」,只要我沒有特別說明,我將調整我的習慣,我所指的,就是IPv6。 如果是跟舊的技術有關,我才會單獨指出,是IPv4。 「IP」我所指的,就是預設的、IPv6。 「IPv4」我所指的,就是舊的網際網路技術。 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Dec 17, 2020
設定連接IPv6網路,沒有想像中那麼困難
很多網管工作的朋友,不能立刻接受IPv6網路技術的原因,我的觀察,是因為感覺到IPv6技術好複雜。我設計了這個簡易的網路架構圖,來說明,感覺不一定完全正確,IPv6其實可以遠比IPv4容易設定。 在這個架構圖裡面,一共只有4套路由器,8個網段。其中路由器、路由器之間,一共只有6個網段,再加上用戶端、伺服器端各一個網段。只有這樣,就這麼簡單的拓樸。  假設給定的需求只有「連接用戶端、伺服器」,不限定第三層的協定,使用IPv4或者是IPv6。我們分別完成它們的設定,然後來做兩者之間的比較。 IPv4設定連接 傳統的IPv4設定的流程,我們必須先分配IPv4地址。地址決定好之後,我們再到路由器上面,設定IP地址還有路由協定。 我們會發現,大部分時間,竟然是花費在IPv4地址的計算,而不是路由器的設定。 下面我只列出R1的設定。 hostname R1 interface Loopback0  ip address 10.0.0.1 255.255.255.255 ! interface Ethernet1/0  description To R2  ip address 10.0.12.1 255.255.255.0 ! interface Ethernet1/1  description To R3  ip address 10.0.13.1 255.255.255.0 ! interface Ethernet1/2  description To R4  ip address 10.0.14.1 255.255.255.0 ! interface Ethernet2/0  description To Client  ip address 10.1.0.1 255.255.255.0 ! router ospf 1  network 10.0.0.0 0.255.255.255 area 1 ! end 下面是IPv4路由表。 R1>show ip route ... C        10.1.0.0/24 is directly connected, Ethernet2/0 L        10.1.0.1/32 is directly connected, Ethernet2/0 O        10.2.0.0/24 [110/20] via 10.0.13.3, 00:01:24, Ethernet1/1 ... R2>show ip route ... O        10.1.0.0/24 [110/20] via 10.0.12.1, 00:05:11, Ethernet1/0 O        10.2.0.0/24 [110/20] via 10.0.23.3, 00:02:37, Ethernet1/1 R3>show ip route O        10.1.0.0/24 [110/20] via 10.0.13.1, 00:02:48, Ethernet1/0 C        10.2.0.0/24 is directly connected, Ethernet2/0 L        10.2.0.3/32 is directly connected, Ethernet2/0 ... R4>show ip route ... O        10.1.0.0/24 [110/20] via 10.0.14.1, 00:05:59, Ethernet1/0 O        10.2.0.0/24 [110/20] via 10.0.34.3, 00:03:32, Ethernet1/2 R4> IPv6設定連接 IPv6的設定流程,我們並不需要設定路由器、路由器之間的地址,因為,IPv6原本就會自動產生「鍊路內本地地址」(Link Local),更棒的是,大部分的路由協定,只需要「鍊路內本地地址」,就已經可以正常工作了。 下面我只列出R1的設定。 hostname R1 ipv6 unicast-routing ! interface Loopback0  ipv6 address FDE0:0:0:1::1/64  ipv6 ospf 1 area 1 ! interface Ethernet1/0  description To R2  ipv6 enable  ipv6 ospf 1 area 1 ! interface Ethernet1/1  description To R3  ipv6 enable  ipv6 ospf 1 area 1 ! interface Ethernet1/2  description To R4  ipv6 enable  ipv6 ospf 1 area 1 ! interface Ethernet2/0  description To Client  ipv6 address FDE0:0:0:100::1/64  ipv6 ospf 1 area 1 ! ipv6 router ospf 1 ! end 下面是IPv6路由表。 R1>show ipv6 route IPv6 Routing Table - default - 9 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route        B - BGP, R - RIP, H - NHRP, I1 - ISIS L1        I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP        EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination        NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1        OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, l - LISP ... C   FDE0:0:0:100::/64 [0/0]      via Ethernet2/0, directly connected L   FDE0:0:0:100::1/128 [0/0]      via Ethernet2/0, receive O   FDE0:0:0:200::/64 [110/20]      via FE80::C803:72FF:FE33:1C, Ethernet1/1 ... R1> R2>show ipv6 route ... O   FDE0:0:0:100::/64 [110/20]      via FE80::C801:78FF:FE7F:1C, Ethernet1/0 O   FDE0:0:0:200::/64 [110/20]      via FE80::C803:72FF:FE33:1D, Ethernet1/1 ... R2> R3>show ipv6 route ... O   FDE0:0:0:100::/64 [110/20]      via FE80::C801:78FF:FE7F:1D, Ethernet1/0 C   FDE0:0:0:200::/64 [0/0]      via Ethernet2/0, directly connected L   FDE0:0:0:200::3/128 [0/0]      via Ethernet2/0, receive ... R3> R4>show ipv6 route ... O   FDE0:0:0:100::/64 [110/20]      via FE80::C801:78FF:FE7F:1E, Ethernet1/0 O   FDE0:0:0:200::/64 [110/20]      via FE80::C803:72FF:FE33:1E, Ethernet1/2 ... R4> 為什麼 為什麼有這麼大的差異?IPv4主要的問題,是在於沒有自動產生「鍊路內本地地址」的功能。因此,所有的路由器、路由器之間的網段,全部都需要手動檢查設定IP地址。除了手動設定這些地址之外,IPv4地址更需要手動詳細檢查,一一確認,子網段的分割、遮罩長度的定義、十進位二進位轉換計算、網段內地址是否相符…等等等。 光是地址分配,再加上檢驗的步驟,將會比全部的路由器命令輸入設定,都還要更花時間。而且計算過程,讓人非常痛苦。最糟糕的是,非常、非常容易出錯。 結論 您管理IPv4時所遇到的痛苦,在新的IPv6世界裡面,很多都已經自動消失了。希望這個資訊,讓您更有動力,將網路協定改成IPv6。 One more thing… 不設定路由器、路由器之間的IPv6單播路由地址,的確也有缺點。假設我們習慣於使用 PING、TRACEROUTE工具,來確認,某路由器的指定鍊結是否正常工作,這個老習慣就不能工作了。 我建議別再使用以上的老習慣。改從路由協定本身,確認鄰居的狀態的同時,也確認鍊路的工作狀態。例如OSPF鄰居、EIGRP鄰居。只要鄰居的狀態是維持住的,代表著鍊路狀態也是正常工作的。 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Dec 15, 2020
全球IPv6 BGP路由表,總數突破十萬筆 (100K)
今年2020年11月初,我開始注意到全球IPv6的BGP路由表,突破了十萬筆,也就是100K筆。雖然中間有幾天又彈回十萬筆以下,不過,這一週左右以來倒是穩定的突破了100K。 這是一個有趣的里程碑,代表著,IPv6的使用者人數、電信業者、企業,都越來越多,數量上已經來到一定的規模了。我記錄下這個里程碑,順便分享兩個我的觀察。 IPv6 BGP筆數會上上下下浮動 資料來源:https://twitter.com/bgp6_table/status/1330964625127583744/photo/1 Internet是一個分散式管理的網路,每一家組織、電信業者、企業,彼此之間並沒有直接的管理強制性。因此當需要的時候,電信業者、企業可能會各自自主的、動態的新增路由資訊、或者移除路由資訊。 例如,將沒有用到的合法網段,從BGP設定中移除,因此,全球的BGP筆數可能會減少。 例如,為了流量負載分散,可能需要將一個大網段分割成多筆的小網段路由資訊,分別送給不同的鄰接公司或是不同線路,因此,全球的BGP筆數可能動態增加或減少。 當然,正常的網路擴充增加網段,或者是公司解散繳回網段,或者設定錯誤,都可能造成筆數浮動的結果。資料來源:IPv6 CIDR Report for 30 Nov 20 IPv6 BGP筆數的預測,相當準確 APNIC或是RIPE的預測網頁,都指出,大約會在2020下半年,突破100K。我個人認為這些推估都相當準確。資料來源:APNIC, "BGP in 2019 - The BGP Table" 資料來源:RIPE, "BGP in 2016" IPv6 BGP筆數成長的比例,比IPv4高 去年2019年大約十月,IPv6 BGP筆數來到80K左右,經過一年的時間,目前成長到了100K,也就是,成長率大約是25% (=20/80)。 相同的時間,去年2019年大約十月,IPv4 BGP筆數來到80萬筆(800K)左右,經過一年左右的時間,目前成長到了大約85萬筆(850K),也就是,成長率大約是6.25% (=5/80)。 因此IPv6 BGP筆數成長的比例,比IPv4高,而且,高很多。 One more thing… 有關IPv6 BGP需要佔用路由器的記憶體空間估計,我找不到IPv6第一手的記憶體使用量的樣本,我用之前「IPv4 BGP每十萬筆需要大約80 Megabytes」來估算。 因為IPv6單一個地址,是IPv4的四倍長,我粗略的估計,大約記憶體的使用量應該不會超過四倍,也就是「IPv6每十萬筆需要大約不超過320 Megabytes。」 我的估計,跟您的觀察有多大的誤差呢?歡迎大家一起在下方留言指正了!高雄港出口,從「打狗英國領事館文化園區山上官邸」俯瞰 台灣、高雄市 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Dec 1, 2020
好的東西儘量放分公司,爛的放總公司
【好的東西儘量放分公司,爛的放總公司】 我曾經在某家公司工作。當時我在總公司,管理全公司整個集團的IP網路。因為每年的預算有限,籌備年度軟、硬體升級的時候,我經常必須抉擇,到底應該先升級「分公司」的路由器交換器,還是「總公司」的。 和一般人直覺相反,我也沒有詳細和其他人討論分享,我自己心裡面的取捨,其實是「好的東西儘量放分公司,爛的放總公司」。為什麼?我來聊一聊我的這個內心原則。 分公司的人力、技術資源比較有限 第一,「分公司」的人力數量,技術支援熟練度,通常都比「總公司」的團隊更有限制。 分公司的資訊技術支援,在我的觀察,一般都遠不及總公司。光是從人力來看,在總公司,通常會有專業分工的技術團隊,例如,專門有一群人做伺服器的任務、另外一群Windows作業系統,或者是還有一群人做網路。每個領域都有專門的團隊,分工執行。但是在分公司,通常都沒有這麼多的資訊人力。 少數的幾個員工,當他們在值班的時候,可能同時必須負責處理伺服器,又要同時處理Windows作業系統,還要處理網路的問題。如果我們給他們比較糟糕,問題很多的的路由器、交換器的話,當遇到問題的時候,他們不一定能夠像總公司專門的技術團隊能夠熟練的處理,時間上也不允許他們,花太多的力氣去判斷,光是「網路」這個技術領域,到底發生什麼狀況,只因為一個員工,同時要負責好多系統或任務。 還有技術文件,或是教育訓練的資源,「分公司」普遍來說都比較欠缺。 深入的技術問題,我寧可盡量控制在「總公司」內發生,專業團隊可以就近直接處理。別讓這些複雜的技術問題,發生在「分公司」裡面。 只要「分公司」的人沒辦法當地就近處理,接下來就是要「總公司」自己的團隊下去處理。如果經常需要「總公司」的團隊派人去處理,馬上我們就必須面對的二個問題。分公司的距離好遠,交通的時間和金錢花費都很高 第二,「分公司」的距離好遠,來回交通的時間和金錢,花費都很高。 距離越遠,交通的時間和金錢花費就會越高。這是直接的結果。 緊急狀況的時候,「總公司」的人即使願意花費交通的時間跟金錢,到現場去處理,有的時候也是趕不上時效性、達不到時間的目標,「緩不濟急」。例如網路斷線的狀況,只要故障沒有排除,好多系統會立刻停止工作。 另外,「總公司」的員工,通常還有很多任務要去處理,不論是「年度」的、「季度」的申請流程、報表、安全稽核等等,全部都必須由「總公司」的員工處理。如果你把有限的時間都花在交通上,其實也是很不划算的。 另外,我自己當時工作的時候,我沒有太多的時間去加班,我也不太願意加班,我也必須保留時間給我的家人。我盡量減少不必要的差旅交通。 只要我能夠遠端處理,我盡量只透過遠端處理。 盡量減少不必要的「總公司」往來「分公司」的之間的交通時間跟花費,我不只是可以幫公司省錢,我也不需要經常加班,因為我在正常辦公時間我就可以把所有的事情處理好。不會將時間浪費在交通和旅行上面。 障礙現場當地就能直接處理的問題,盡量能夠在當地直接解決。 萬一障礙還是不能解決的時候,我們只剩下一個選擇:請廠商協助。新的產品比較容易取得廠商的技術支援 第三,新的產品新的軟體硬體系統等等,通常比較容易取得廠商的技術支援。我相信這一個觀察點,也許注意到的朋友會比較少。 以網路硬體為例子,一套路由器或是交換器,假設已經是超過10年以上的老產品,備用的零件通常比較缺乏、昂貴、而且不齊全,即使廠商願意幫你提供支援服務。 比較新的,或者說是不要太老舊的產品,廠商的技術服務人員,也會得到比較多的教育訓練資源。 廠商比較願意支援新的產品,也比較有能力支援新的產品,通常也代表著,我們可以用比較有經濟效益的價格,來取得相同的支援服務內容。 太老舊產品,我就不會放在「分公司」。我那時候能夠做的是,舊的產品留在「總公司」使用,堪用的繼續用,能不更新就不急著更新。也就是說「分公司」全部都更新完了,最後我才會開始更新「總公司」的軟硬體系統。結論 這個取捨的原則,減少了我很多非必要的出差時間。幫我節省了非常多的力氣,我也不太需要經常加班,同時,我也幫公司節省了很多金錢,一舉數得。 One more thing... 其實還有一個關鍵的核心功能需求,就是「所有分公司的系統,必須能夠只透過網路,遠端就可以管理」。 所有的描述或假設,我的出發點都是,「分公司」軟硬體系統最低的要求,就是我一定要能夠從遠端去管理。 這些放在分公司的路由器、交換器,我其實從總公司,都可以透過IP網路來監看。異常日誌、存儲空間用完、電源、風扇模組故障、等等,我在總公司我其實都可以觀察得到。即使問題即將發生,我通常會提早察覺預測得出來。國泰金融大樓 台灣、台中市 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Sep 27, 2020
WEP並不安全
首先我要澄清,製作這個影片,我並不想要教大家,去破解別人的Wi-Fi網路。我只是要證明,WEP這個方法並不足以保護Wi-Fi網路。 第一步:準備動作,找到WEP目標 因為後續的WEP工具,需要告知它去破解哪一個以WEP 保護的Wi-Fi網路,因此,我們需要找到這個被攻擊網路的 頻道號碼、還有BSSID,也就是基站的MAC地址。 我使用 airodump-ng 來掃描,命令是: sudo airodump-ng wlan0 –encrypt wep 這裡我們找到了,所要被攻擊的目標,它的BSSID,頻道,還有SSID名稱。確定這是我原本準備好的標靶。 第二步:使用主要破解工具 besside-ng 我使用 besside-ng,命令是: sudo besside-ng wlan0 -c -b 開源工具besside-ng的工作原理,大致上來說,是自動注入一些數據楨,強迫目標回應,然後擷取數據楨的內容,來找到足夠分析的IV值。 這個工具和步驟,所花的時間是最多的,時間長短的變動也最大,因此,需要耐心等待結果。 這次的錄影,我到了將近十萬個IV值,才完成WEP破解,花了將近半小時的時間;我印象中曾經只要兩萬多個IV,不到十分鐘,就破解了。 第二步完成的時候,WEP的金鑰已經被破解,也就是說,之後擷取到的Wi-Fi數據楨,都可以被軟體解密了。 假設我的終極目標,是要找出 WEP登入密碼,我還需要第三個步驟。 第三步:找到WEP登入密碼 這裡我使用 aircrack-ng 來反解。命令是: sudo aircrack-ng wep.cap 其中的wep.cap檔案,是第二步驟 besside-ng所自動擷取存檔的WEP數據楨內容。因此,這個步驟,其實可以離線進行。 總結來說,假設您還在使用WEP來保護Wi-Fi網路,任何段數的駭客,花個幾十分鐘,就可以進到您的網路。WEP真的很不安全! One more thing… 我發現,即使是家用型的Wi-Fi網路產品,幾乎預設都已經不再使用WEP來保護了。大家不需要看完我的影片,就開始感到恐慌。 就算是不小心連接到使用WEP保護的Wi-Fi網路,Windows 10也會自動警告,這個Wi-Fi網路並不安全。 Wi-Fi網路,也就是IEEE 802.11的網路,還是一種方便取得的無線通訊技術,讓企業能夠完全掌握,而且足夠安全。我們不一定非得要在企業內部架設或提供Wi-Fi網路服務,但是,我們一定要有足夠的能力,來監視企業場地內的Wi-Fi通訊活動。 白沙尾觀光港 台灣屏東縣、小琉球 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
Jul 27, 2020
Cisco MDS Zoning 基礎模式、CFS、和加強模式
【Cisco MDS Zoning 基礎模式、CFS、和加強模式】 Cisco MDS 9000 Family (截圖自Cisco.com官網) Fibre-Channel是存儲網路(Storage Area Network, SAN)領域中最常被使用的協定。Cisco也有存儲網路的交換器產品:Cisco MDS系列。Fibre-Channel 協定(後面我用FC來代替) 的安全管制機制稱為分區(Zoning, 將Zone變成動詞)。我們來討論,在Cisco MDS產品上,幫助FC Zoning設定的三種工具:基礎模式(Basic Zoning)、Cisco Fabric Service (CFS)、加強模式(Enhanced Zoning)。 為了方便理解,我這裡另外錄製了一段展示影片,可以跟這篇文章一起研讀。 我們先將三套MDS乾淨的VSAN建立好。展示的畫面中我使用VSAN 4。 Basic Zoning,基礎模式 Cisco MDS當VSAN剛建立完成的時候所預設的Zoning, 稱為 Basic Zoning。Basic Zoning是Fibre Channel的標準協定,可以跨廠牌支援。我們來觀察,在Cisco MDS上面的Zoning資訊傳遞行為。 我們先創建Zone Set“set4A”和“set4B”。 當我們創建Zone Set,但是尚未啟用(Activate)之前,所有的MDS都不會收到任何的Zoning資訊。 接下來我們執行“zoneset activate name set4A vsan 4”。這個命令,除了將會在本地的MDS,將Zoning的設定以set4A啟用之外,還會透過Fibre Channel底層的協定,將啟用過的Zoning設定,複製同時啟用,到所有的MDS上面。 我們透過“show zoneset active vsan 4”命令來檢查所有的MDS,啟用中的Zone Set。 我們可以觀察到,所有的MDS,都是“set4A”被啟用。 任何時間,我們只能有一份的Zone Set是啟用中。通常,我們在MDS上面,不只是保存啟用中的Zone Set,我們經常會面對不同場景的,保留好幾份的Zone Set,輪流按照需要啟用。這些定義過,無論是否被啟用的Zone Set,全部合起來稱為 Full Zone Set。 我們可以透過 “show zoneset vsan 4”命令來檢查,所有MDS上面的Full Zone Set。然而,因為Basic Zoning所傳遞的資訊,並不包含Full Zone Set,因此除了我們有設定過的這套MDS之外,其他的MDS完全看不到Full Zone Set。 Cisco Fabric Service, CFS 在Basic Zoning工作模式之下,我們無法透過標準的Fibre Channel協定來傳遞 Full Zone Set。我們只能透過,Cisco私有的協定Cisco Fabric Service(後面簡稱為CFS),來傳遞 Full Zone Set。 CFS協定預設已經開啟。但是,我們必須手動要求CFS傳送Full Zone Set。我們利用 “zoneset distribute vsan 4” 來立刻傳遞 Full Zone Set。 CFS的限制是,除非我們手動下達“zoneset distribute vsan 4”,否則,CFS不會自動將更動過的Full Zone Set的內容,同步複製到所有的MDS。 我們可以編輯加入一組新的Zone Set “set4C”,然後再次透過 “show zoneset  vsan 4”來確認,包含“set4C”的Full Zone Set並沒有自動被傳送出去。 Enhanced Zoning,加強模式 如果我們希望Full Zone Set會自動同步到所有的MDS,同時,在編輯Zone Set的時候,MDS幫我們做編輯鎖定,只有一位管理者可以做Zone Set編輯,避免Basic Zoning所可能產生的內容相互覆蓋的風險,我們需要改良過的Enhanced Zoning。 要開啟Enhanced Zoning模式,我們只需要挑選一套MDS,下達“zone mode enhanced vsan 4”即可。這個開啟的結果,會自動傳遞生效到所有的MDS。 我們可以透過“show zone status vsan 4”命令,來確認所有的MDS已經變更成Enhanced Zoning。 開啟Enhanced Zoning模式的同時,原本新增的 Zone Set “set4C”,自動會傳遞到所有的MDS。我們可以再次透過“show zoneset vsan 4”命令確認。 Enhanced Zoning之下,Zone Set的編輯和啟用 我們再次加入“set4D”,我們依然可以驗證,包含“set4D”的Full Zone Set會被自動同步到所有的MDS。 首先我們會注意到,在Enhanced Zoning工作模式之下,任何MDS上面的Zone Set編輯,都會鎖定所有MDS的編輯功能。 直到我們下達生效解鎖的Commit命令“zoneset commit vsan 4”。這個命令執行完成後,我們可以再次透過“show zoneset vsan 4”確認,同步成功。 假設因為需要,我們必須啟用“set4D”,我們可以到任何的一套MDS,下達“zoneset activate name set4D vsan 4”。 最後我們使用“show zoneset active vsan 4”來確認,的確啟用中的Zone Set,已經正確變成 “set4D”。 加強模式Enhanced Zoning同時提供了基礎模式的啟用功能和CFS的同步完整Zoning設定的服務內容,再加上編輯鎖定、自動同步,是更佳的工作模式。全新的SAN安裝,應該直接設定成Enhanced Zoning。 One more thing… FC協定是存儲網路協定,雖然不是TCP/IP的通訊封包協定,但是因為有相似的特性,只要願意多花一些時間,TCP/IP的工作者也可以快速熟練SAN協定。最棒的是,Cisco在SAN或是TCP/IP都有硬體,MDS的命令集基本上就是NX-OS環境,因此轉換上不存在太多的障礙。「東方寺」和盛開的櫻花 台北市士林區 我是洪李吉。我的網站是「Cisco學習資訊分享」。我們下次見!
May 2, 2020
Load more