預設情況下,使用 ipv6 的捲曲不起作用
我正在嘗試捲曲 ipv6 地址,但沒有成功。
如果我嘗試讓我們說:
我等待超時並得到
network unreachable
如果我強迫
ipv4
,一切都很好。捲曲 -4 https://google.com
如果我再次強制使用 ipv6,就像這樣:
捲曲 -6 https://google.com
我得到:
curl: (7) 無法連接到 2800:3f0:4001:806::1005: 網路不可達
我想它與解析
ipv6
地址有關。我看到在其他具有某些 Linux 發行版的較新版本的電腦上,這些請求執行良好,所以我猜它必須與我使用 做一些事情
Ubuntu 10.10
,而這個問題沒有得到解決。我希望能夠在不使用選項的情況下正常捲曲:
-4
,我必須修改什麼才能正常使用捲曲ipv6
地址?
解析 IPv6 地址不是問題。該名稱解析工作正常,因為 curl 報告它無法訪問網路 2800:3f0:4001:806::1005; 這表明名稱翻譯確實成功了。這與名稱查找中的錯誤不同:
$ curl -6 http://does.not.exist.foo. curl: (6) Couldn't resolve host 'does.not.exist.foo.'
為了到達 IPv6 地址,您需要有到目標地址的路由,並且很少有連接有任何 IPv6 連接。在我寫這篇文章的機器上,我幾乎沒有 v6 路由:
$ route -A inet6 Kernel IPv6 routing table Destination Next Hop Flag Met Ref Use If fe80::/64 :: U 256 0 0 wlan0 ff00::/8 :: U 256 0 0 wlan0
這說明你我知道如何訪問我的本地網路,僅此而已。將此與我的 IPv4 路由進行對比
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0 …
這表明我有一個非常關鍵的路由資訊。我知道如何通過將數據包交給位於 192.168.1.1 的預設路由器來到達我沒有明確路由的任何地方。
您的名稱解析工作正常。您確實需要到目標網路的 IPv6 路由,但提供該設施的地方太少了。
檢查以 .
ifconfig
開頭的行的輸出inet6 addr
。有可能您的電腦分配了一個實際上不起作用的 IPv6 地址,並且 Linux 現在正嘗試使用這個非功能性地址而不是有效的 IPv4 地址。