SNMP-GNS3串接PRTG

需求:

  1. 啟用Loopback。
  2. 已經安裝好GNS3及其環境,跟PRTG。

GNS3串接PRTG,可以利用SNMP,去看到模擬器裡設備介面的即時流量。這一部份可以幫助SNMP的學習,更進一步是Policy、Shape,Route map,最終QOS、Service Policy,以及Cisco CoPP、IP SLA、Netflow。

如果搭建好,可以即時看到成果。此外,PRTG是套很強大的工具,也可以去設定Sensor主動偵測。讓模擬環境可以更多元,練就更多樣化的操作。

步驟:

決定Network,這裡以「11.12.13.0/24」為網段。於是Loopback的IP為11.12.13.1。

用瀏覽器開啟PRTG網頁,先來到「Devices」刪到如圖,這可避免自動偵測添加不想要設備。也可以順便到「Notification Triggers」刪掉事件郵件通知。

打開GNS3,加入Router(VM)跟Cloud(電腦)。

對Cloud按右鍵「Configure」,進到設定畫面添加Loopback。

把兩者串接,記得Cloud要選Loopback。

進入Router的Console,設定介面IP,並且去Ping Loopback:11.12.13.1。

只要有 ! 就是成功了!

這裡可能會無法順利Ping到的情形發生,有兩種方法可以解決:
第一種,停用Loopback,然後重新啟用。
第二種,斷開Router跟Cloud的線路,然後重新連接。

一定要有Ping到,才能繼續往下。

在router上設定 snmp community,這裡使用2c版本。

回到PRTG網頁,在Local Probe添加一個Group。

命名為「GNS3」

在「GNS3」按右鍵,新增Device。

※Device Identification and Auto-Discovery 要選「No auto-discovery」

往下捲動,在SNMP設定中,取消inherit,並自行設定對應的community string。

按下完成後,在剛剛新增的Device新增Sensor。

這邊有很多選項可以做篩選,這裡選擇SNMP。

向下捲動,選擇 SNMP Traffc。

選擇想要傳送流量資訊的介面。再往下捲動可以調整掃描頻率。

新增後,過一段時間,用Ping給流量,之後可以從Sensor上看到介面流量。

到這裡已經完成基本的設定。之後可以玩玩PRTG其他種類的Sensor,或用同一套模式去偵測更多的設備,嘗試LAB。

GNS3 模擬器實戰環境

環境準備:

  1. GNS3
  2. GNS3 VM 環境
  3. Router IOS (c7200)

有些有版權的,這裡不提供任何下載連結,請到別處找找。

GNS3

去官方網站,申請帳號,就可以下載。

GNS3 VM

只推薦 VMware Worktstation Pro,一套不含Support要價199鎂,買斷制。其他的VMplayer 跟 VirtualBox 都有用過,都不是那麼方便用跟穩定。

Router IOS

去「duckduckgo」搜尋「c7200-adventerprisek9-mz.124-24.T5」之類的。
c7200的個人預設是外加4個PA-GE,很好用。

其他環境需求

LINUX

Kali linux:內有豐富好用的程式,本身是Linux,也可以安裝一些適合Linux運行的軟體。

SNMP

PRTG:免費版可以用100個sensor,在學習用途,已經很夠用了。要小心預設的自動加入,以及事件的郵件發送,強烈建議一開始就要取消掉!

SNMP – Security入門實戰

概念: 參考

SNMP在v3,有三種安全等級:1. noAuthNoPriv 2. authNoPriv 3. authPriv。
Auth為Authentication,也就是對於帳密進行雜湊運算。
Priv為Privacy,也就是對於內容進行加密運算。
※提示:雜湊是破壞性的,不可逆向還原。加密可以逆性還原。

v3的User會採取哪種安全級別,是取決於User屬於甚麼Group。因此要先建立Group並設定其安全級別,再設定User。如果沒有設定Group,是無法通過驗證的。再設定User時,其安全級別也要跟其Group一致。

環境:

參考SNMP – GNS3串接PRTG

目標:

  1. R1使用v3,安全等級noAuth,成功添加Sensor。
  2. R2使用v3,安全等級authNoPriv,成功添加Sensor。
  3. R2使用v3,安全等級authPriv,成功添加Sensor。

設定:

Topology
!R1 noAuthNoPriv
conf t
int g0/0
ip addr 11.12.13.10 255.255.255.0
no sh 
snmp-server group admin1 v3 noauth
snmp-server user jn1 admin1 v3
!R2 authNoPriv
conf t
int g0/0
ip addr 11.12.13.20 255.255.255.0
no sh 
snmp-server group admin2 v3 auth
snmp-server user jn2 admin2 v3 auth sha 12345678
!R3 authPriv
conf t
int g0/0
ip addr 11.12.13.30 255.255.255.0
no sh 
snmp-server group admin3 v3 priv
snmp-server user jn3 admin3 v3 auth sha 12345678 priv aes 128 12345678
! aes 128 是PRTG能支援的上限,用192或256都無法讀取到

其餘在PRTG網頁版手動設定,

R1、R2、R3都有成功讀取到。

最後使用wireshark錄封包,觀察三者的差異。

所有的封包都可以看到Username,如果使用noAuth就可以直接被看光,如沒有ACL就可以隨便拿一個外接設備去看MD的資訊,再不小心就能讀寫了。
而authNoPriv,可以看到向MD要了甚麼資訊。
最後authPriv,看不到了要了甚麼。
雖然破解所需的必要資訊都在封包上看得到,不過要破解速度上太難。

除錯 TroubleShooting

錯誤代碼:
#16: Authorization Error:檢查MD的group跟user是否一致,user所屬的groupg是否存在。
#33: SNMPERR_UNKNOWN_USER_NAME:檢查NMS或MD的輸入的User Name是否正確。
#34: SNMPERR_UNSUPPORTED_SEC_LEVEL:檢查NMS是否有多輸入,如noAuth的User卻輸入了密碼。
#35: SNMPERR_AUTHENTICATION_FAILURE:檢查NMS與MD的Authentication是否一致。

SNMP的TroubleShooting通常是檢查兩端設定是否一致,這也是最常見的錯誤,如漏打一個字母。面對這種可能,只有眼睛張大一點,看仔細一點去發現。需要「一致性」的設定,建議都是複製貼上會保險一點。手Key很難保證不手抖一下。

SNMP

Simple Network Management Protocol(SNMP)是一個用於管理網路設備的協定,可以取得網路設備的設定與資訊,又或者去設定網路設備。由SNMP的觀念衍生出許多高階的Application,基本上大廠牌都有一套自己的軟體,如Aruba Airwave等。SNMP的使用上可是相當頻繁,成為一位「P級」的一定得去學學。

本文根據「維基百科」為主,把資料做整理,並做一些解釋。

Protocol NameVersionPortFunctionRFC
SNMP1161
162
簡單的網路管理RFC 1155
RFC 1156
RFC 1157
SNMP2c161
162
可以一次詢問多種資訊,初階加密RFC 1901–RFC 1908
SNMP3161
162
SNMP第三版提供三項重要的服務:認證、隱私和存取控制RFC3411-RFC3418
最主要使用的是2c跟3版

一個SNMP管理的網路由下列三個關鍵元件組成:

  1. 網路管理系統(NMSs,Network-management systems)
  2. 被管理的裝置(managed device)
  3. 代理者(agent)

以戰場為例:agent是指揮官,被管理裝置(MD)是它的手下,網路管理系統(NMS)則是將軍。

今天要詢問狀況,會由agent去向MD問,問說哪個介面目前流量如何?問你叫甚麼名字?但這是人的問法,換成機器,流量、Hostname這些資訊放在管理資訊庫(MIB,Management Information Base)的特定位置,如:1.3.6.1.2.1.25.3.3.1.2 表示要監視所有 CPU Core 使用狀況。但是,不同家的資訊位置會略有不同,正確位置可以去其官網查表。

再簡單敘述一遍,如果想要知道甚麼資訊,就去MIB查該參數存放至哪裡,得到一串類似「1.2.3.4.5.6.7.8.9」的字串,agent去向MD問這字串,MD就會回覆對應的參數。

使用概念:

SNMP在1版跟2c版都是以 community 作為通關口號,只要agent跟MD兩邊的community string對得上,就可以順利管理。但這樣的安全性是低的,它太簡單了。

SNMP在3版同時強化了驗證與加密功能,可以使用帳號密碼去做驗證,並且使用加密讓關鍵訊息增加破解的難度。

為了安全,所以多半使用v3的authPriv。要是自家SNMP的方式被破解,相當於控制權會被拿走,想一想其實相當可怕。

實戰練習:

網路工程師的工具軟體

最後更新日期:2021-01-26

這裡要分享一些工作上常用的工具軟體,彼此間交流應用程式也是很重要的。

功能名稱功能說明
螢幕截圖(*)picpick按下快捷鍵可以針對當前視窗做截圖,截圖可以在軟體直接修改,也可以直接設定存到特定資料夾,省去了整理的麻煩。
無線訊號偵測inSSIDer能將無線訊號的訊號強弱走勢精美呈現。缺點就是免費版沒有辦法選擇要用來偵測的介面卡。
無線訊號偵測WifiInfoView用清單的方式呈現,可以抓取到許多資訊,如MAC等。有特定目標就可以用。有缺點是介面沒有走勢。
無線訊號偵測(*)Acrylic Wi-Fi Home能將無線訊號強弱變成走勢圖,不過納入太多顯得雜亂。可以選擇要用的偵測介面卡,不用上網連線的去偵測。
封包側錄(*)WiresharkPortable可以錄特定介面卡的封包,用途為TroubleShooting,適用廣泛。不過得有基本實力,才能駕馭Wireshark去找到自己想知道的。
螢幕延伸Duet Display平板可以當延伸螢幕,搭配筆電超讚。解析度比較好,可調參數比較多。缺點:要付費,透過無線需要專業版。
螢幕延伸(*)spacedesk SERVER平板變成延伸螢幕,免費,可以透過無線連接延伸。缺點:較少參數可調整,電腦需要開啟服務,相對安全性較差。
熱鍵巨集(*)QuickTextPaste可以用熱鍵去複製設好的對應文字,對於設備Config是相當好用的。免費。缺點:調整熱鍵的對應文字有點反直覺,只有改最下層才會有用。
延伸攝像頭(*)iVCam手機可以透過無線連接變成延伸的攝像頭,意味著可以即時串流手機錄到的影像。如果會用影像處理,如刷barcode等,就只需要把注意力放到電腦操作就好。
(*)為個人最推薦的

個人覺得最實用的第一名:平板變成延伸螢幕。

身為一個會把筆電帶上山下海,扛在背包的人,總不可能到處帶一台X吋的顯示器。需要一個解決「行動」方案,平板很好攜帶,本身也自帶電力,就不需要侷限於插座附近。

當做事情會想要有雙螢幕的時候,有了雙螢幕絕對不只讓事半,會更少。像是文件對照等,處理文件也是很常見的事情,像是設備清單更是一絕,要求不能出錯,不然都是大事。

如果平板可以當雙螢幕,就會想買大尺寸一點了。要是需要搭配無線連接,自然望向ipad pro 2020 12.9″,有ax對接應該能有效降低延遲,使用上頓感更少。

CCNP-ENARSI 準備指南

Cisco Certified Network Professional – Implementing Cisco Enterprise Advanced Routing and Services (CCNP-ENARSI)是CCNP-Enterprise的其中一門選修科目,考試一共有55-65題,考試時間120分鐘,及格分數825分,答對率要超過75%才會通過,抓13題的容錯空間。

考試範圍 ,在準備的時候,請務必先看過這個再分配時間。

  • 35% – 1.0 Layer 3 Technologies
    • 1.1 Troubleshoot administrative distance (all routing protocols)
    • 1.2 Troubleshoot route map for any routing protocol (attributes, tagging, filtering)
    • 1.3 Troubleshoot loop prevention mechanisms (filtering, tagging, split horizon, route poisoning)
    • 1.4 Troubleshoot redistribution between any routing protocols or routing sources
    • 1.5 Troubleshoot manual and auto-summarization with any routing protocol
    • 1.6 Configure and verify policy-based routing
    • 1.7 Configure and verify VRF-Lite
    • 1.8 Describe Bidirectional Forwarding Detection
    • 1.9 Troubleshoot EIGRP (classic and named mode)
      • 1.9.a Address families (IPv4, IPv6)
      • 1.9.b Neighbor relationship and authentication
      • 1.9.c Loop-free path selections (RD, FD, FC, successor, feasible successor, stuck in active)
      • 1.9.d Stubs
      • 1.9.e Load balancing (equal and unequal cost)
      • 1.9.f Metrics
    • 1.10 Troubleshoot OSPF (v2/v3)
      • 1.10.a Address families (IPv4, IPv6)
      • 1.10.b Neighbor relationship and authentication
      • 1.10.c Network types, area types, and router types
        • 1.10.c (i) Point-to-point, multipoint, broadcast, nonbroadcast
        • 1.10.c (ii) Area type: backbone, normal, transit, stub, NSSA, totally stub
        • 1.10.c (iii) Internal router, backbone router, ABR, ASBR
        • 1.10.c (iv)Virtual link
        • 1.10.d Path preference
      • 1.11 Troubleshoot BGP (Internal and External)
        • 1.11.a Address families (IPv4, IPv6)
        • 1.11.b Neighbor relationship and authentication (next-hop, mulithop, 4-byte AS, private AS, route refresh, synchronization, operation, peer group, states and timers)
        • 1.11.c Path preference (attributes and best-path)
        • 1.11.d Route reflector (excluding multiple route reflectors, confederations, dynamic peer)
        • 1.11.e Policies (inbound/outbound filtering, path manipulation)
  • 20% – 2.0 VPN Technologies
    • 2.1 Describe MPLS operations (LSR, LDP, label switching, LSP)
    • 2.2 Describe MPLS Layer 3 VPN
    • 2.3 Configure and verify DMVPN (single hub)
      • 2.3.a GRE/mGRE
      • 2.3.b NHRP
      • 2.3.c IPsec
      • 2.3.d Dynamic neighbor
      • 2.3.e Spoke-to-spoke
  • 20% – 3.0 Infrastructure Security
    • 3.1 Troubleshoot device security using IOS AAA (TACACS+, RADIUS, local database)
    • 3.2 Troubleshoot router security features
    • 3.2.a IPv4 access control lists (standard, extended, time-based)
    • 3.2.b IPv6 traffic filter
    • 3.2.c Unicast reverse path forwarding (uRPF)
    • 3.3 Troubleshoot control plane policing (CoPP) (Telnet, SSH, HTTP(S), SNMP, EIGRP, OSPF, BGP)
    • 3.4 Describe IPv6 First Hop security features (RA guard, DHCP guard, binding table, ND inspection/snooping, source guard)
  • 25% – 4.0 Infrastructure Services
    • 4.1 Troubleshoot device management
      • 4.1.a Console and VTY
      • 4.1.b Telnet, HTTP, HTTPS, SSH, SCP
      • 4.1.c (T)FTP
    • 4.2 Troubleshoot SNMP (v2c, v3)
    • 4.3 Troubleshoot network problems using logging (local, syslog, debugs, conditional debugs, timestamps)
    • 4.4 Troubleshoot IPv4 and IPv6 DHCP (DHCP client, IOS DHCP server, DHCP relay, DHCP options)
    • 4.5 Troubleshoot network performance issues using IP SLA (jitter, tracking objects, delay, connectivity)
    • 4.6 Troubleshoot NetFlow (v5, v9, flexible NetFlow)
    • 4.7 Troubleshoot network problems using Cisco DNA Center assurance (connectivity, monitoring, device health, network health)

由於本人先前準備時,只著重在前面的路由協定,因此這部分拿了很高分。
ENARSI的電子書有24章節,前面20章節屬於前兩個大項目(Layer 3 Technologies, VPN Technologies),後面4章節便是剩下二者(Infrastructure Security, Infrastructure Services),後4章平均每章佔11.25%的總分,因此建議要先把時間都投入在後四章上面

因為有上過正規課程,課堂教材上的範圍沒有跟考試範圍一樣,考試是更廣更細更深。會有新玩意進來,就像DNA Center,因此,在八成往考試範圍唸,兩成就往其他地方嘗試,像是用 show 去看看有甚麼指令跟選項,都可以去瞭解。

學習資源取得:

  1. Office Cert Guide:「學習資源搜集」。
  2. 課堂LAB:因為版權問題,無法提供。
  3. GNS3:官方網站。
  4. Router ISO:範例都用R7200,請參考「學習資源搜集」。
  5. 鴻鵠論壇題庫:找同學要,建議剛出版的兩周內去考,過太久否則就看個人實力。

經驗指南

  1. 先了解這門考試的範圍,一些注意事項,看看前人的經驗談。
  2. 制定合理的學習規劃,四大項可以平均分配時間。
  3. 正規教材去逐一章節學習,筆記需要背誦記憶的知識。
  4. 做LAB不斷學習。
  5. 複習需背誦的知識,畫架構。
  6. 做題庫練習。
  7. 從題庫的題目去做衍生學習,將細節作筆記。
  8. 重新複習需背誦的知識。
  9. 考前複習題庫。
  10. 考試GO!

部落格的架構草擬(2021-01)

經過了半年的工作洗禮,加上換了一個地方繼續寫部落格,總覺得需要去整理一下「定位」與「架構」。

定位:是為了寫一些網路跟電腦相關的知識,而且是其他地方沒有的。畢竟越深入,簡單入口的教學文章就越來越少,越瑣碎也就相對越來學得好。除了深入以外,還要有一個學習流程,為這些知識文章有一個先後順序,加速並且幫助別人理解。

架構:目前的架構是在入年的遷移時規劃的,之後就沒有調整過。分類下來,並沒有令我覺得性質相同。部落格現在只有兩層分類,將來會調整成三層分類,以「領域」>「主項目」>「細項」做區分,並且會為每一層都依一個可參照的概念或文件制定分類。

分類

領域會分成:網路Network、程式語言coding、學習技巧與心得、公告、雜談。

標籤

這一塊會以「分類的第一層與第二層」的資格去覺得一個關鍵詞能不能當標籤。這個標籤可以看成是第二種層向分類,它也要具備可參照的概念或文件,像是廠商別之類的,性質相同但有所區分的。

施作時間

目前預計在農曆過年時候去進行。

目標

偶爾會有些人看到我過去的成果,然後會來問我,這代表那些知識是有幫助到別人的。之後的路會越來越窄,難度也會越來越高,學習資源也會越來越少。很少人在做一塊,秉持著先行者開拓的精神,要留下一點足跡。

期望今年可以產生更大量、品質更高的知識文章,就造另外一種成就感。

CCNP-ENARSI FAIL與準備心得

在1/23那天,考了核心跟選修,核心(350-401)有過,但是選修(300-410)沒有過,大約差兩題的空間。

準備方法:
1. 鴻鵠論壇的題庫:選修看的是九月版一百多題,距離考試當天過了四個月了。
2. 上課的LAB:搭配上課的講義,可以很快速的練到講義教的技術。
3. 題庫延伸:題庫有教的,就從上網多找一下相關內容。
4. GNS3:把路由協定跟設定技術練到滾瓜爛熟。

看了成績分布很兩極,我在路由那塊拿下八九成,另外的infrastructure只是六七成。也就是說,ARSI的R(routing)都準備差不多,但是SI(Service)的那一塊就很不熟。

ENARSI的實際考題就很粗糙,敘述或圖片漏東漏西的,比起核心ENCORE的品質差很多。再看看報名費,再想想這樣的內容,認證考試真的很好賺。最後填調查表直接給最低分。這是2021-01版本,也許未來會改進也說不定。

主修是主流,題庫會比較相近,所以比較不用擔心。
選修題庫變成冷門,四個月沒更新,實際考試大概有近二分之一是新鮮的,沒有題庫的庇護,得靠掌握細節上的實力才可能通過。

至於哪些細節要掌握?這程度已經遠遠超過網路上那些概念解說的文章,如果沒有人寫中文版本,這也許是我該努力的部分。之前也有想要寫,不過工作後時間少,覺得之前那種費工寫法的效率不佳。

目前正在思考要怎麼在少少的篇幅就能講到大大的細節。

之後會以「ENARSI」的程度去寫相關文章,會比起「Jan Ho的網路世界」這個入門級的更深入,再想想整體大綱要怎麼安排。

2021-02-02補充

努力了快要一周,也寫了不少文章,都主要為Infrastructure Service跟Security範圍內。

在這一周,因為走了最正規的路線,提前先調查好要準備的範圍,所以有了不小的進步。目前還有幾章沒有寫到「archive logging」、「IPv6 First Hop Security」、「CoPP (Telnet, SSH, HTTP(S), SNMP, EIGRP, OSPF, BGP)」、「BGP – TTL Security」。

ENARSI的題庫編修會在這些文章寫完後,用最快速度再多看蒐集來的題庫然後順便編修自已的版本。

雖然是Cisco的考試,但這些概念,就算不在Cisco產品身上,也有機會用到。

如果是考Cisco產品的,那我放棄。哈哈

ArubaOS 設定 Wi-Fi 開放時段

從WLAN,選擇SSID後,進入到Profile(※需開啟進階選項),就可以在這裡看到Deny time range。這裡也正是設定的關鍵。

內建有兩個時段,分別是:
night-hours:星期一到五,00:00-07:59 And 18:01-23:59。
working-hours:星期一到五,00:00-08:00。

要注意這邊的邏輯是「Deny」,如果是想要只在上班時間開放,就要選「night-hours」。

只有兩個時段是不夠的,今天收到一個的要求,需要讓它只在平日早上七點到下午五點開放,因此,需要再增加一個新的時段。

這個得透過SSH進入CLI才可以進行,先用 cd 先進入到目標的MD。
(Web介面是找不到的,雖然從 pending change看到是在 role & policy 中的 polices,但沒辦法操作。)

(Aruba_MM) *[MD] #conf t
(Aruba_MM) *[MD] (config) #time-range periodic newTimeRange

然後就可以輸入時段,可以從官方網站找到指令說明如下:

ArubaOS Command-Line Interface

因此可以照著需求去設定對應的符合時段,再次強調,最後應用在Wi-Fi上是以「Deny」的邏輯。換種思路,就是「打上不想給人連上網的時段」。

(Aruba_MM) ^*[MD] (config-submode)#weekday 00:00 to 06:59
(Aruba_MM) ^*[MD] (config-submode)#weekday 17:01 to 23:59
(Aruba_MM) ^*[MD] (config-submode)#weekend 00:00 to 23:59

打好了之後,別忘了輸入「write memory」去保存。

接下來要把新的時段應用在Wi-Fi上,這裡可以用Web去設定,也可以直接在CLI設定,既然都在CLI了,那就用CLI設定。

(Aruba_MM) *[MD] (config) #wlan virtual-ap <name>
(Aruba_MM) *[MD] (Virtual AP profile "<vap name>") #deny-time-range <name>
(Aruba_MM) ^*[MD] (config) #write memory

完成設定後,到了指定的時間,就會把該Wi-Fi的用戶全部踢掉,也無法再次連接上。但仍會繼續廣播SSID,仍然看得到Wi-Fi,但吃不到。

Spanning-Tree Protocol 經驗講述

本篇適合對Spanning-Tree Protocol(STP)有入門程度的人。

  1. STP的Priority是以「小」的優先。
  2. STP的預設值要特別注意!
  3. STP要穩定,盡量設定嚴格。
  4. STP請整體一致,最好要有一套規範,或是遵循原有的方式。

在目前上,STP主流使用Multiple Spanning-Tree Protocol(MSTP)、Papid Spanning-Tree Protocol(RSTP)跟Rapid PerVlan Spanning-Tree(RPVST+)三種,各家設備對於STP的預設值不同,有些如Cisco是啟用的,有些如Aruba是不啟用的,要特別留意機器的設定。STP是Layer 2防止環圈的機制,一個沒有注意就會接出迴圈,畢竟接線的人未必懂得STP。

STP的Priority是選「小」的,這點很不一樣,大部分都是選大的優先。

MSTP是可以依據選取的VLANs做切分,RSTP是VLANs一起算,RPVST是每一個VLAN都分開算,RPVST而可以兼容RSTP。會選用甚麼是看環境決定,看VLAN數決定,VLAN數少就用RPVST,多就是MSTP。少的不用MSTP,因為設定比較麻煩,理解也比較難。

簡單好懂比較重要。

實務上,STP是非常重視「穩定性」,一個穩定的ST,才能穩定網路。要增加穩定性,就要安排Priority跟Root,這是設計(Design),一定要先瞭解STP才能去規劃。

不穩定的STP會讓網路斷斷續續(Flapping),為什麼呢?你設定了保護機制,也設定了一段時間會恢復,然後被用了意想不到的接法,透過了一台沒有STP機制的Switch接了兩台有STP的Switch,然後就炸了。

在Switch間的用來當STP的LINK盡量使用光纖,因為光纖比較不容易被對接。其他的都設定BPDU Protection,一收到BPDU就Shutdown,盡量不要用BPDU FIlter去解決。

Root bridge多半是Core Switch,設定rootguard,可以避免規劃的STP被搶走。

這邊補充MSTP的基本概念,instance是一個計算單元,編號0-15,其中0是default intance,啟用時,所有的VLANs都會先在這個instance中,然後再將需要特別計算的VLAN放到instance 1-15中。

如果要切換SPT的模式,請先把BPDU-FILTER跟PORTFAST等功能關掉,然後再切換。不同STP支援的防護功能不同,改動之間也可能因此產生迴圈,雖然不至於卡死,但整個網路都會嚴重受影響。

最後,STP需要寫一套架構,這套架構需要十分嚴謹,然後要能讓其他設備或未來添加的設備加入在這個範圍內。看過一個網路架構,每一台Switch都是Root Bridge,每一台都各自作用,這樣就失去STP的用意了。

MPLS-VPN

這是一個最終架構,需要使用多種路由協定組合,才可以達成這種架構。

Mutil-Protocol Label Switching(MPLS),簡單來說,就是把IP位置轉化成標籤,然後用IP位置與標籤,參照標籤資料庫去傳遞資料。也因為標籤介於Layer 2 header 跟 Layer 3 header之間,因此有人說這是 Layer 2.5 。

關於路由為何要標籤化?這就要講述路由是如何學來的:自己設定、自己連接或是路由協定。一旦路由量一大,中間的路由器就得涵蓋所有邊際路由器(Provider Edge)的路由,才能正常傳遞資料,中間的路由器路由怎麼來?自己設定、自己連接或是路由協定,這使得負擔太大。

而標籤化產生同一規格,自動化將路由轉換成標籤,標籤資訊在同一區域內傳遞,藉此使被以標籤取代路由的資料可以傳到對的邊際路由器,最後,設定簡單。中間的路由器只需要學習區域內的路由器。

不過會面臨到一個問題,那就是客戶透過VPN去串連不同的Site點,跟ISP業者買這個服務。設定的責任便落於ISP身上,因此MPLS-VPN是個解決客戶想跟ISP設備做VPN串聯的方式,客戶端就不需要甚麼設定或買相關設備跟Lisence。

MPLS-VPN可以先拆成兩部分:MPLS、VPN。

MPLS設定很簡單,但是不能解決相同網段的問題,必須得因為不同客戶再加上不同標籤才能區隔。

VPN設定較為困難,因為相同網段出現在路由表上,會選擇AD值較小的,如果沒有區分都共用同一份,會變得很混亂。仔細思考,客戶A應該要有個客戶A的路由表,客戶B也得有個客戶B路由表,最後,自己ISP要有個內部路由表。

為了使路由表要有所區分,就會使用Virtual Routing and Forwarding(vrf),切出個虛擬路由器,這個虛擬路由器只需要兩個,分別是連接客戶Site1跟Site2的那兩顆。客戶sites的路由要怎麼彼此交換?需要有一個傳遞路由的橋樑。

BGP是個適合當中間橋樑的路由協定,因為它的鄰居可以相隔許多台,甚至是穿過Internet。BGP透過Redistribute變成路由的載體,也因為盛載著別的路由協定的關係,所以又稱為Multi-Protocol BGP(MPBGP)。

以下是Topology
第一行,是最基本的架構,中間Router有兩個介面跟SiteA跟B接起。
第二行,中間Router可以藉由MP-BGP跟VRF拆成兩個部分。

CUST_A_SiteA <-> ISP Router(CUST_A) <-> CUST_A_SiteB
SiteA <-> { ISP Router(CUST_A) <-MPBGP-> ISP Router(CUST_A) } <-> SiteB

換一種簡化的示意圖。

SiteA <-> db <-> SiteB
SiteA <-> d ———- b <-> SiteB

因此,要完成MPLS-VPN將會有三大部分要做到:

  1. MPLS
  2. VRF
  3. MPBGP

學習設定範例及說明請參考:Multi-Protocol Label Switching (MPLS) 多協定標籤交換

VRF需要設定:Route Distinguishers(RD)、Route-Target去區分不同的虛擬路由,相同的虛擬路由需要有一樣的設定。

MPBGP要做的,就是把客戶路由協定redistribute到BGP,BGP再redistribute到客戶路由協定,以及把客戶路由傳到兩端點對應的VRF中。

設定順序建議:VRF -> MPLS -> MPBGP , MPLS-VPN是一個大工程,要做好就要穩穩地一步步來。

HASHCAT之字典破解HASH入門

HASHCAT是一個逐一遞迴(暴力)運算去還原HASH的工具,沒有特別高深的技巧,最重要的就是運算能力。即便是擁有運算能力,對於常見的八位數密碼,依舊需要花上許多時間,如果是八位數純數字密碼,筆者電腦需要跑15分鐘,再加一位變成九位數,就要花上兩小時半。

密碼不一定是純數字,也可能加上英文字母,英文字母又有大小寫之分,更不要說有特殊符號,或者超過八位數,這些可能性都是讓計算時間大幅延長,輕則一年,多則上百年,因此暴力破解並不適合一般設備,就算換張頂規顯示卡,算力四倍,計算時間剩四分之一,一年變成三個月,還是要不久的時間。

因此,得把計算時間簡化成一週,這才是合理的時程。為此,需要去減少嘗試的組合,所幸,密碼並非是毫無章法,基本上都內藏一些規律,這些規律使得密碼容易被記住,如果掌握些規律,就能夠優先嘗試較為可能的組合,進而減少還原密碼的時間。

密碼設計是一門心理學,這個人會使用的密碼,會參照一些訊息,簡單來說是出生年月日、英文姓名或電話號碼等。這些訊息就藏在這個人的環境之中,如果你仔細觀察,也許就能從相處之中發現。

不過,想要用hashcat破解密碼成為駭客,這是不實際的,因為太沒有效率了。我也不建議拿它當作破解別人帳密的工具,這是違法的事情,但是如果是用在自己身上,也許就能順利找回自己遺忘的密碼。

入門:如何使用hashcat

先從官方網站下載HASHCAT,然後解壓縮後的資料夾內執行cmd,裡面會有幾個example.cmd作為範例,以下是簡單的模板跟範例,複製下面範例執行之後,HASHCAT就會進行運算。。

hashcat.exe <破解方法> <Hash類型> <Hash值>
hashcat.exe -a 3 -m 0 5E8667A439C68F5145DD2FCBECF02209

-a 3 是指用 暴力破解法。
-m 0 是指hash類型為 MD5
5E8667A439C68F5145DD2FCBECF02209 是本次要嘗試的密碼,本身為87654321。

計算出來後,按向上鍵並在最後面打上 –show,就可以看出還原出來的密碼。

hashcat.exe -a 3 -m 0 5E8667A439C68F5145DD2FCBECF02209 --show 
=> 5E8667A439C68F5145DD2FCBECF02209:87654321

就算拿到hash值,但也要知道是甚麼樣的hash類型才能復原,這才是實戰的重點,拿範例學習實在很容易。如果找出hash類型並不在本文範疇內,有興趣可以自行搜尋或是等待日後補充。

hashcat.exe -a 3 -m 100 A7D579BA76398070EAE654C30FF153A4C273272A

-m 100 是指hash類型為 SHA1
A7D579BA76398070EAE654C30FF153A4C273272A 是本次要嘗試的密碼,本身為87654321。

同一組字串換一種HAHS類型之後,計算速度不到MD5的一半,意味者計算時間的加倍與更多。如今MD5跟SHA1並不是主流(重要級)的加密方法,因為被算出的速度很快。真的要實戰,碰上使用其他種HASH加料,會比範例還要更花上不少的時間去計算。

暴力破解可行,只是太久。接下來要使用字典,讓計算可以更快完成。

正文:字典破解HASH

假設你會錄取wifi的shakehand包,然後得到一組HASH,這組還原了,你就有了wifi密碼。要知道wifi的Preshare Key至少會有八位,以及它的性質是供它人使用,所以不會設一堆令人難以理解的規律。

今天有一間旅館,名稱為「好和平」,電話為「49-5969798」,然後發現wifi有分成房間,你住在「501」房,要連上名為「room501」的wifi。※皆屬虛構

78AAE7BACFD940C154CB8F4BDE7E0BEBCBBAC566
92ED10EFAF1DC063FAB36CCB0C9BBA375912541A
54B87CC9227E6347950C268B883EA7C6C4B7C2BD

這有三個HASH,代表不同種可能,為了方便進行,這邊都是以「SHA1」類型。以下列出一些目前發現的線索,並且列出可能的組合。

NICEPEACE
NicePeace
nicepeace
Nice
nice
Peace
peace
NP
N
P
495969798
495
969798
room501
Room501
Room
501

把上面內容存成「sample.txt」放到hashcat資料夾,然後可以運行下方指令。

hashcat.exe -a 1 -m 100 78AAE7BACFD940C154CB8F4BDE7E0BEBCBBAC566 sample.txt sample.txt
hashcat.exe -a 1 -m 100 92ED10EFAF1DC063FAB36CCB0C9BBA375912541A sample.txt sample.txt
hashcat.exe -a 1 -m 100 54B87CC9227E6347950C268B883EA7C6C4B7C2BD sample.txt sample.txt

這會用從字典中,將兩個詞組合新字串,第一個詞從sample.txt出,第二個詞從sample.txt出。藉此,順利地破解出所有的密碼。

一個好字典,需要把各種訊息納入,並且做適當切割與轉化,這種思路便足以使用多數的情境。網路上有許多密碼字典,動則數十GB,甚至更大,如果使用者的密碼用得太過於簡單,用這樣的字典就能夠找出來,無須費心蒐集資訊。

最後,本文是HASHCAT的教學,並不鼓勵拿去破解他人的密碼。也希望可以今後在選擇密碼的時候,反思密碼會不會太容易被破解,避免使用很容易被他人知道的個人資料。