Networking

IPv6 解析為環回/私有 IP

  • December 29, 2015

我正在執行一個網路爬蟲,我從我的數據中心收到了一些關於指向私有 IP(如 10.0.0.1)的連接的報告。我已經對我的爬蟲程式碼實施了環回/私有 ip 檢查,並且我意識到許多域都解析為以下 IPv6 地址。

  • 7777:772e:726f:7763:6174:6368:2e63:6f6d
  • 7777:772e:726f:7763:726f:6674:2e6f:7267

我正在使用自己的綁定 DNS 記憶體,並且當我嘗試在其他電腦/網路上訪問這些域時,我可以毫無問題地訪問它們,並且它們的所有 DNS 設置看起來都很好。

如上所示,將這些域解析為私有/環回 IPv6 地址的原因是什麼?我可以做些什麼來檢查與此問題相關的任何其他事項?

可能是因為我的 BIND DNS 記憶體嗎?可能是因為我的數據中心的路由器配置錯誤嗎?

非常感謝您提前…

解決方案: @kasperd 在這個問題上幫了我很多,他發現這是因為我的程式碼實現錯誤。

您在問題中做出了一些不正確的假設。

大部分 IPv6 地址空間是保留的,包括6000::/3您提到的兩個地址所屬的範圍。

如果任何保留地址曾經出現在 AAAA 記錄中,則表明配置無效。這可能會導致連接問題,儘管正確實施的客戶端將回退到使用該域的其他地址之一。

AAAA 記錄中出現無效地址的第一個明顯原因是首先配置該 AAAA 記錄的人犯了一個錯誤。如果您提到了域名,我們可能會告訴您是否是這種情況。

錯誤配置記憶體 DNS 伺服器也可能產生此類無效的 AAAA 記錄。我認為 Bind 有足夠的靈活性來引入此類問題。

配置錯誤的路由器本身不足以產生這樣的問題。但是很多路由器都有與路由無關的附加特性,所以理論上你的路由器可能有特性,如果使用不當會產生這樣的無效記錄。

如果您仔細查看無效的 IPv6 地址,您會發現每個八位字節都在可列印的 ASCII 字元 ( 20- 7e) 範圍內。這可能會提示無效地址的來源。

聊天調試總結。問題是由於爬蟲程式碼中的錯誤引起的:

ip = ipaddress.ip_address(hostname)

該行將解釋恰好是 16 個字元長的任何主機名,就好像它是 IPv6 地址一樣。沒有對主機名執行 DNS 解析。

引用自:https://serverfault.com/questions/745744