請問各位前輩
在一本書中提到以下範例:
他的答案提到伺服器B 192.168.26.3 的機器 pin 伺服器A 192.168.26.129 是通的?
但是 這兩個IP 不在同一個網段,卻可以通?
書中提到的原因是 透過 GateWay : 192.168.26.2
但是我透過 Cisco Packet Tracker 做出來卻無法通?
不知道是哪邊的問題?
原始完整題目位置:(5頁)
https://jasonlinlinlin.blogspot.com/2023/09/blog-post.html
2023.09.13 更新:
依照 raytracy 大大 提到增加一台 Router 如下:
從PC1 (192.168.26.3) pin router(192.168.26.2) 可以通,但是 pin PC0(192.168.26.129) 卻不通,不知道是否Cisco Packet Tracker 哪邊設定有問題?
將封包流程整理一下,文中提到閘道器,應該就是對應到有一個 Router (路由器),不是普通的Switch (交換器)。3號封包是個關鍵! 閘道器 跟 A 是同個網段,但是跟 B 不是同個網段
樓主隱約知道關鍵是在 Gateway (.2), 但請問: 實作圖中的 .2 Router 設備畫在哪裡?
你實作了 Layer 2, 卻沒有實作 Layer 3, 少畫了一個設備, 當然不會如題目般運行.
考題裡面常常有這樣隱含存在的設備, 如果題目中沒有提到任何關於此設備的設定或現象, 解題技巧是: 你必須先假設這個(沒有提到的)設備是可以正常運作的.
如果我們把整個 ping 封包的傳輸過程, 改用文字來敘述, 他就會變成這樣:
當 192.168.26.3 對 .129 發出 ICMP Echo Request 封包時:
接下來換 Gateway (.2), 雖然題目中沒有提到, 但我們應假設他是正常運作:
然後輪到 .129 出場:
最後回到 .3 手上:
以上過程, 完全符合題目後面 ping 出來的結果.
而且每一句文字判斷, 都符合 IETF RFC 的標準.
Wireshark 擷取的 Packet 也可驗證以上過程...
所謂的: 同網段/不同網段, 並不是只看整個系統, 而是要在每個網路節點個別運算.
你犯的錯誤有:
此外, 這個題目雖然會通, 但她會形成 Asymmetric Route, 也就是去/回的路徑 (Route) 不同, 某些廠牌的防火牆 (如果被拿來當成 Gateway 的話) 會阻擋這類封包 (當然也可以被手動設定為: 例外允許), 這在現場查修情境中經常會遇到, 所以考這題是有它特別的意義(因為實務上常遇到).
同時某些 Router/Gateway 發現有此現象, 也會發出 IP Redirect 訊息給 .3 要求他修正, 有的 Router 甚至會在第一次轉發之後, 第二次就拒絕轉發, 此時你會發現: 只收到一個 ICMP Echo Reply, 後面的通通都是 Timeout.
真正的神級解答。學到很多。
謝謝前輩的回覆,訊息量很大~我需要消化一下,再把圖畫出來。
追蹤雷神都能學到很多
大神解說真詳細,另外想請問大神:
這樣封包可以丟回到 .3 嗎?不是認為同網段了,所以應該不會往 .2 的 Gateway 丟吧?還是因為是回應的關係,知道封包是從 .2 轉來的,所以還是會往 .2 丟?
謝謝!
可以直接丟給.3喔; 他並不會因為封包是由 .2 轉來的, 就被約束成:忽略 Netmask, 只能回給 .2 (如果有哪個 RFC 這樣寫, 還請告知編號); 所有封包在發送之前, 都要經過 Netmask 運算, 只要運算出來發現是同網段, 他就直接走 Layer 2 發送給 .3, 不會經過 Layer 3 的路由處理. (所以在此例中, 雖然 Echo request 是被 .2 轉送過來, 但回 Echo reply 並不會經過 .2)
IP 的接收與發送是兩個各自獨立的處理程序, 所以發送時並不會 受到過去接收資訊的影響, 他仍然會有自己的獨立判斷. 每一個封包的每一次發送, 都要重新算一次 Netmask 結果, 來決定這個封包該往哪裡丟?
您的意思是,如果中間的是 Switch ,那麼在 .3 丟給 .129 時,用的是 Layer 3 功能,但是在 .129 丟回給 .3 時,用的是 Layer 2 功能,我還真只單純的想成了只有 Router 的功能。
如果中間是 Router ,那 .129 的封包是不是就無法丟回給 .3 了?
如果中間的是 Switch ,那麼在 .3 丟給 .129 時,用的是 Layer 3 功能,但是在 .129 丟回給 .3 時,用的是 Layer 2 功能
事實上, 樓主的圖改畫成這樣, 一切就都正確:
我不知道在這張圖上, .2 算不算放在中間?
看到這張圖,回憶就回來了,好久好久以前,還是資淺菜鳥工程師的時候,公司的環境好像就是這樣設計的,那個時候 Switch 剛出來,還是 Hub 的天下,更沒有什麼 Layer 幾的 Switch。
如果是這種架構,.3 跟 .129 溝通就應該不會有問題。
應該算在中間吧。
.3 跟 .129 溝通就應該不會有問題。
.3發起的溝通不會有問題,但.129發起的全新溝通會找不到.3。
請教大大:如2023.09.13 更新,增加一台 Router,但是從PC1 (192.168.26.3) pin router(192.168.26.2) 可以通,但是 pin PC0(192.168.26.129) 卻不通,不知道是否Cisco Packet Tracker 哪邊設定有問題?
(刪....剛回的資訊不正確, 太多題目我回到自己亂了; 重新整理後再回...)
但是 pin PC0(192.168.26.129) 卻不通,不知道是否Cisco Packet Tracker 哪邊設定有問題?
我不確定這是甚麼原因, 因為我並不瞭解模擬器裡面, 他對於非對稱路由的處理原則是甚麼? 有可能在模擬器內部就已經預設將它阻擋掉了.
您可能要先去找一個, 可以在模擬器裡面跑非對稱路由的案例來測看看....
此外, 非對稱路由需要用到 ICMP Redirect 功能, 但很多現代的設備(或者 OS), 出廠預設就是關閉 ICMP Redirect, 這樣自然就不會通.
ICMP Redirect 的資安弱點是在 1999 年被發現的, 在那之後才問世的設備或軟體, 都有可能出廠預設關閉 ICMP Redriect, 導致非對稱路由不通 (CVE-1999-1563
CVE-1999-0265)
除非像 Cisco 的 FWSM 3.x 和 ASA 7.x 那樣, 有特別提到可以支援非對稱路由; 其他採用 Stateful 技術的防火牆, 大多預設不允許非對稱路由:
https://www.cisco.com/web/services/news/ts_newsletter/tech/chalktalk/archives/200903.html
請教大大:
文中提到 Router 的 ICMP Redirect 功能,是否是對應上圖3號封包的動作?
B發出 ping 封包,指定目的IP為A(192.168.26.129),
但是目的 MAC卻是閘道器MAC,這顯示B希望閘道器把封包轉給A
另外: 1號封包 中 B 應該 跟閘道器不同網段,正常閘道器是否應該收不到 B 的廣播?
難道只是因為 B 的閘道器設為 Router 的IP ?
是的, 對一半. 那個圖畫的單純就是 Router 功能(這個對), 但他還沒有用到 ICMP Redirect. 每一個 Router 收到這樣的封包都會幫她轉送.
Gateway=Router=Gateway=Router...(這兩個名詞通常指同一件事情)
另外: 1號封包 中 B 應該 跟閘道器不同網段,正常閘道器是否應該收不到 B 的廣播?
上面這個推論不正確, 你再一次犯了前面講的錯誤:
試圖以一個系統性統一的 Netmask 去解算所有 Node 的網段異同.
網段的解算判定, 只有在封包要發送的時候才會做; 當 Node 接收封包的時候, 不會做這些解算判定的動作, 也就是: 接收端是不管 Netmask 的, 有封包進來他就會收.
然後永遠要記得:
每個 Node 的網段都是自己計算的, 跟別人無關.
所以別人把 Netmask 設成 255.255.255.224,跟我的 Netmask 設成: 255.255.255.0, 這件事, 跟我要不要接收封包有沒有關係? 完全無關. 只要他能透過任何辦法, 把封包送到我的網卡, 我就會收, 因為我是接收端, 不會去計算網段.
前提是: 他要有辦法把封包送到我手上. (發送端才需要計算有沒有同網段?)
(以上所談的接收端, 都是指 Layer 3 以下的 IP 封包或信號; Layer 4 以上要另外考慮其他 Protocol 的規範)
加考一題觀念:
同樣用你的圖, 如果多加一台 .4, 且 .4 的 Netmask 也設定成 2552.555.224, 然後從 .3 去 ping .4 (同網段, 封包不會走 Gateway), 請問: 此時在 .129 開啟 Wireshark, 能不能聽到 .3 和 .4 之間傳送的 ICMP 封包?
收到~謝謝
另外我沒注意到其實 A (192.168.26.3) 跟 閘道器(Router) (192.168.26.2) 其實是同一個網段,所以pin 的到,當我把閘道器(Router)的IP改為 (192.168.26.200)時, A 其實就 Ping 不到了(不同網段)。
這樣的狀況有意思,此題目 閘道器(Router) 跟 A 及 B 都是同網段,但是 A 與 B 卻互相不是同網段!
謝謝raytracy大大的回覆:
此題是否可以簡化為 B pin A 應該不通,除非 Router 開啟ICMP Redirect。
恭喜樓主jasonr,終於看懂題目了
哈~有時候看懂題目比做題目還難~~
子網遮罩:255.255.255.224
這個子網遮罩對應二進位:1111111.11111111.11111111.11100000
此子網遮罩表示其子網範圍為 192.168.26.0 到 192.168.26.31
他的答案提到 192.168.26.3 的機器 pin 192.168.26.129 是通的?<--這句有問題
或還有其他條件
資深菜鳥工程師的不負責任發言。
就我所知,不同網段要溝通,好像只能透過 Router ,然後一般的 Gateway 也都是指向 Router。
所以兩台電腦要能溝通,中間應該要有個 Router ,或者是 Layer 3 Switch ,2960 那顆 Switch 除非有 Layer 3 能力,不然應該不會通。
說對了,當複習,說錯了,當學習。(千萬不要被大神看到)
我將原始完整題目放在以下網址
https://jasonlinlinlin.blogspot.com/2023/09/blog-post.html
題目看起來感覺不像是 Router?
不用 router 也能通啦
我看懂樓主的測試與題目差異在哪 : Gateway
192.168.26.2對第一台電腦來說同網段,對第二台電腦來說也是同網段,
所以基本上這個案例要模擬,你會需要一台Router或是一台L3交換器進行routing
書本敘述"基本沒錯",但是就是少了對Gateway敘述。
我將原始完整題目放在以下網址
https://jasonlinlinlin.blogspot.com/2023/09/blog-post.html
題目看起來感覺不像是有 Router?
Gateway一般是指2個網段連接的機器,L3以上都可以,應該是不用特別做敘述。