是否可以在沒有網路的情況下使用全球IP位址?

是否可以在沒有網路的情況下使用全球IP位址?

是否可以在沒有網路的情況下使用全球IP位址?

顯然,私有IP位址應該在沒有網路存取的情況下使用。但我很好奇我們是否可以使用任何IP位址作為私有IP。可以這樣做嗎?

例如,我們可以使用 8.8.8.8 作為私有網路中的私人 IP 位址(該網路永遠無法存取互聯網,因此網路中沒有人知道 8.8.8.8 被用作 Google DNS)?

答案1

這絕對是可能的 - IPV4 空間並沒有什麼神奇之處,而且一切都以相同的方式運作。當這個網路融入網路多年後,令人頭痛的問題就出現了。

答案2

是的,這是可能的,但不建議。

相反,您應該使用 RFC1918 分配的區塊和盡可能小的網路。避免將 10.0.0.0/8 用於擁有少量設備的家庭網路。

更多詳情請參見https://www.rfc-editor.org/rfc/rfc1918及其替代品https://www.rfc-editor.org/rfc/rfc6761

一個好的經驗法則是使用網路大小為可在該網路上運行的最大設備數量的 4 倍,或 /24(254 個主機),以較大者為準。 A /24 也簡化了子網劃分。

因此,請使用 10.yourstreetnumber.yourbirthyear.0 或 192.168.yourheightincm.0 發揮創意!

如果您可能要建立網站到網站 VPN,請考慮將 172.16 到 31.0.0 範圍作為候選範圍 - 因為它有點混亂,因此較少使用。

不使用現有公共範圍的另一個原因是 DNS 快取可能會擾亂更改網路的裝置。 IE 筆記型電腦、手機和平板電腦可以將「dns.google.com」快取為 8.8.8.8,並在連接到 LAN 後繼續使用該記錄。或者有人回家後,解析為 8.8.8.8 的主機名稱「fileserver.local」可能會被快取到記錄的 TTL。


愚蠢的 IP 重用範例 - 早在 vmware 工作站時代,我就嘗試使用 127.99.99.0/24 作為 IP 網絡,因為它比應用於環回介面的 127.0.0.0/8 更具體。

這對於 vmware 和 Linux VM 來說非常有效。但是當您將 127 輸入到 IP 位址的第一個八位元組時,Windows(xp?)就會說「停止,不」。當時我從未嘗試過透過 DHCP 分配 IP。

出現意外後果的可能性是巨大的。


有時,優雅的社交會讓你陷入困境,但這種情況很少發生。我曾經運行的網路是 192.168.0.0/16,它有很多東西可以愉快地共存,Windows 95、XP、NT4、linux、mac、印表機等。

然後我們得到了一堆 Linksys WRT54GL AP,當與 192.168 一起使用時,它們不接受大於 /24 的網路遮罩。這是因為 192.168.0.0 最初被定義為

256 個連續的 C 類網絡

因此網路必須有 256 台主機或更小。這僅出現在某些 linksys 套件中,並且帶有 OpenWRT 的閃存很樂意使用完整的 /16 網路。

結果是 /24 對於大多數用戶來說已經足夠了。 /8 或 /16 太大了。

答案3

是的,這是可以做到的。不,你不想。與我看到的其他一些答案不同,我將深入研究原因的更多細節(特別是我的第二句話)。

假設您控制一台計算機,並且可以設定它的 IP 位址。因此您輸入 IP 位址 8.8.8.8。你能做到嗎?是的。

現在,「路由」可能是一個問題(我將在本答案的後面部分詳細說明)。然而,可能有辦法解決這個問題。因此,假設遠端聯繫了您的 ICMP 伺服器並執行「ping 8.8.8.8」。您的 ICMP 伺服器(通常內建於「TCP/IP 堆疊」軟體元件中)會回應嗎?是的。沒問題。

假設您在此電腦上啟動伺服器,例如 DNS 伺服器。如果您的電腦正在運行 DNS 伺服器並收到回應,它是否可以回應並且一切都可以正常工作?是的。沒問題。

假設您啟動了一個 HTTP 伺服器。如果另一台電腦開啟網路瀏覽器並最終使用 IP 位址與您的電腦進行通信,那麼您的電腦可以回應並且一切正常嗎?嗯...好吧...過去答案是「是」。但現在,由於 HPKP,事情變得有點複雜了。欲了解更多詳情,可以查看維基百科有關 HTTP 公鑰固定的網頁]。所以,這可能效果不太好。總結一下:流行的 Web 瀏覽器認為這是一種攻擊方式,並提供了一些有關某些世界頂級網站的正確 HTTPS 憑證/連接的詳細資訊。另一種相關技術可能是“HSTS預先載入”,它與HSTS(“HTTP嚴格傳輸安全”)有關。因此,當人們安裝現代版本的網頁瀏覽器時,這些瀏覽器可能會附帶有關某些網站的一些詳細資訊。如果您的假「Google」網站與預期不符,瀏覽器可能會介入(並可能讓最終用戶知道問題)。

而且,正如您所建議的,如果您執行此類操作,將無法透過該 IP 位址聯繫合法網站。

現在,我為什麼說你不想這樣做呢?

首先,有更好的解決方案。讓設備依賴 DHCP。然後,在您的本地網路上,有一個DHCP 伺服器,該伺服器指向使用本地DNS 伺服器的位置,位址為合理的位址(例如FEC0:0:0:ffff::/126 或以fd 或fec0 開頭的IPv6位址: ,或使用 IETF BCP 5(“RFC 1918”))位址範圍的 IPv4。如果您對用戶端電腦進行標準化,那麼行動系統可能會根據需要在本機網路上遠端工作。

按預期行事的最大挑戰是路由。如果您在192.168.55.3/24 設定了一個位址,而另一台位於192.168.55.105/24 的電腦嘗試與您通信,那麼電腦將識別/24(又稱子網路遮罩255.255.255.0)找出任何內容匹配前三個八位元組(以“192.168.55”開頭)位於本地網路上,並將嘗試直接通訊。

如果 DNS 用戶端位於 192.168.55.105/24 並嘗試與 8.8.8.8 通信,則電腦將識別出 8.8.8.8 與前三個八位元組不匹配,因此電腦將嘗試將流量發送到網關設備,最常見的是傳送訊息給網際網路的「預設閘道」。 (這個「網關」設備需要位於本地網路上。用更專業的術語來說,網關需要位於同一子網路中。)

因此,可以採取三種方法來讓您的電腦與 8.8.8.8 進行通信

  • 您可以讓您的客戶端系統非法使用 8.8.8.0/24 範圍。那麼 8.8.8.8 看起來很接近。請注意,這會破壞與 8.8.8.8 的有效通信,並且您無法同時使用此策略使本地電腦與不同位址位於相同的封閉 IP 範圍內。
  • 您可以讓本機系統使用 192.168.55.105/0 而不是 192.168.55.105/24。這表示您使用的子網路遮罩為 0.0.0.0,因此現在您已經有效地讓電腦相信 8.8.8.8 是本機位址。因此,通訊不會到達您的“預設閘道”,而是會嘗試直接到達本機網路上的 8.8.8.8。如果客戶端和伺服器都這樣做,那麼這可能會起作用。
    • 然而,使用此處顯示的極端範例,您實際上所做的就是讓電腦相信所有 IP 位址都是本機網路的一部分。因此,這種非法方法現在已經讓受影響的電腦相信整個互聯網都將像在您的本地網路上一樣對待。現在,您不再中斷與 8.8.8.8 的合法 Google 網站的通信,而是有效地中斷了與 Internet 上所有合法 IP 位址的通訊。哎喲。壞的。
  • 您可以在「預設閘道」裝置上設定一些自訂路由,以便傳送到 8.8.8.8 的資訊被重新導向到您想要的本機 IP 位址,而不是傳遞到您的 Internet 服務供應商。

雖然第三種方法理論上可以工作,不會出現太多問題或不必要的副作用,但最大的缺點是它需要您對流量路由進行處理。如果你要搞砸某件事,我建議你先充分理解它。

作為一個了解流量路由的人,我建議您可能需要一定的專業知識才能成功破壞您想要的合法連接(到真正的 8.8.8.8),同時又不破壞您不想破壞的合法連接。如果您擁有足夠的專業知識來實現這一目標,那麼您可能還擁有一些專業知識來在已建立的私人位址上簡單地運行 DNS 伺服器。那麼,為什麼不以標準化的方式做事,這樣就不太可能導致難以預見和排除故障的奇怪的罕見副作用呢?

回答你的問題以及你如何提出這個問題,是的,從技術上講,這樣的事情是可能的。但也要記住,如果通訊沒有到達應有的位置,那麼這通常被描述為「中間人」(「MITM」)攻擊。網路瀏覽器連線已經發展到支援 HKPK 挫敗此類惡作劇。一個鮮為人知的事實是,DNS 已在很大程度上被 EDNS(使用「DNS 擴展機制」)所取代,而一個更廣為人知的事實是,有一些更新的 DNS 安全性增強功能,稱為 DNSSec。如果您沒有意識到這一點,那麼請意識到流行的基於互聯網的軟體程式碼的當前維護者可能已經遠遠領先於您,因此在嘗試將「MITM 攻擊」納入之前,您可能需要記住這一點您所監管的任何網絡的某種奇特的新設計的關鍵部分。

因此,總而言之,我認為您不想對真實網路(而不是您正在探索可能性的測試實驗室)執行此操作的主要原因很簡單,為了實現有用的合法目標,有更好的方法。也就是說,當您嘗試設計網路的行為方式時,請以正確的方式做事。總體而言,您可能會感受到更少的疼痛。

再次澄清,以防忘記,我指的“正確方法”是在私有地址上運行本地 DNS 伺服器,欺騙任何人,並鼓勵計算機使用本地私有地址或依賴 DHCP,並讓您的本地DHCP 伺服器告訴設備依賴您的本地DNS 伺服器。這是一種更誠實的設計風格,不會破壞與公共站點通信的能力,並且受到廣泛支持,因此互聯網標準的維護者不太可能做一些破壞整個互聯網上使用的許多本地網絡上的合法設計的事情。

答案4

理論上來說,應該沒問題。

在實踐中:

  1. 可能會打破第三方的假設。
    您可能使用假設某些眾所周知的 IP 約定成立的軟體/硬件,當您打破這些假設時,會導致意外行為。

  2. 可能會觸發隱藏的錯誤。
    一些有缺陷的軟體在大多數情況下都可以正常工作,但奇怪的細節可能會觸發它們。此類錯誤可以在註意到時修復,但如果您使用非標準配置,則遇到其他人沒有機會遇到的錯誤的可能性可能會增加。

  3. 可能會使使用您網路的其他人感到困惑。
    即使您很樂意記住這8.8.8.8在您的內部網路中意味著其他內容,這也可能會讓其他人感到困惑。同事、技術支援、閱讀您可能在幫助論壇上分享的日誌的人等可能會遇到麻煩。

  4. 可能會在快取中產生矛盾。
    如果網路上的任何裝置之前連接到全球互聯網,它們的設定、防火牆規則等中可能儲存有 IPv4 位址,當它們加入本機網路時可能會導致意外的衝突。

從理論上講,糟糕的第三方設計和錯誤可能不是你的錯。但在實踐中,你可能會開始相信有鬼魂

相關內容