名稱解析不適用於 centos 上的 ipv6
我剛剛在要安裝在數據中心的伺服器上安裝了 CentOs 6.3,但無法讓名稱解析 / curl 工作。
我知道這是因為它試圖使用 ipv6,因為
ping google.com
有效,curl -4 google.com
有效,但不是curl google.com
。我從界面中刪除了 ipv6 地址,它並沒有改變任何東西。
這是非常有問題的,因為目前大多數係統工具(如
yum
名稱解析)都失敗了。像 Firefox 這樣的瀏覽器之所以有效,是因為它們可能使用另一種工具來解析名稱,而不是curl
.我設法在工作站上通過完全禁用 ipv6 來解決這個問題,如
/etc/hosts
. 但是由於我在這裡配置了一台稍後將安裝在遠端數據中心中的伺服器,所以我不想搞砸,了解發生了什麼並正確修復它。此外,隨著更多伺服器的出現,我將面臨同樣的問題,因此我非常感謝您幫助理解這個問題以及如何解決它。如果需要幫助了解正在發生的事情,我很樂意提供更多資訊。
目前的網路配置是一個小型企業網路,很久以前就配置 了一個DNS伺服器(我們稱之為A )。
dig google.com
並且dig -4 google.com
都被A DNS 拒絕。但這對於我curl
正在工作的工作站也是如此(是的,它們都使用相同的 A DNS 伺服器)。事實上,這個有故障的伺服器和我的工作站有多個名稱伺服器/etc/resolv.conf
,第二個對它們都執行良好,所以如果我從我的一切中刪除Aresolv.conf
一切正常!問候,
奧利維爾
我通過以下診斷過程解決了這個問題,可以在處理名稱解析問題和 ipv6 時應用
- 測試
dig google.com
和dig -4 google.com
,在一台有此問題的機器上和同一網路上的另一台沒有此問題的機器上進行測試。- 如果四個命令(兩個由機器)失敗,這意味著它們中的第一個名稱伺服器
/etc/resolv.conf
沒有為 ipv6 配置。刪除它並重新測試。一個 cal 還用於
digg @nameserver google.com
在/etc/resolv.conf
不更改此文件的情況下測試其他最終的名稱伺服器。