天天看點

rhel7 Couldn't resolve host 'mirrors.163.com'

今天早上使用yum來安裝vsftpd的時候,出現Couldn't resolve host 'mirrors.163.com'錯誤。

rhel7 Couldn't resolve host 'mirrors.163.com'

首先,網易的這個鏡像是沒有問題的,畢竟我的同僚能夠正常通路,是以,這個問題就出在我自己的電腦上了。

我一開始以為是網絡斷了。

于是,我 ping www.baidu.com

rhel7 Couldn't resolve host 'mirrors.163.com'

真的是我網絡斷了?

接下來我又直接ping 百度的IP位址

rhel7 Couldn't resolve host 'mirrors.163.com'

發現能夠ping 通。

那麼這個問題就明了了,應該就是DNS配置的問題了。

于是,我檢視了DNS的配置

rhel7 Couldn't resolve host 'mirrors.163.com'

并且驗證了114.114.114.114這個DNS伺服器是可達的。

rhel7 Couldn't resolve host 'mirrors.163.com'

順便檢視了網關的配置

rhel7 Couldn't resolve host 'mirrors.163.com'

這個DNS和網關的配置都沒有問題啊,那到底是哪裡出問題了呢?

這個時候我想到了一個問題,是不是防火牆的問題?因為最近使用了rhel7的防火牆,用不慣firewall,是以我安裝了iptables服務,但是還來不及配置iptables的規則。

嗯,問題可能就出在這裡,讓我們來一探究竟。

我直接将iptables 服務給關了 ,測試一下看看能不能成功

rhel7 Couldn't resolve host 'mirrors.163.com'

果然是防火牆的問題!!!

于是我又重新将防火牆打開了,由于我防火牆的INPUT預設是DROP,是以我配置了兩條DNS源端口的INPUT規則

rhel7 Couldn't resolve host 'mirrors.163.com'

順便将iptables服務重新開機了一下,然後測試

rhel7 Couldn't resolve host 'mirrors.163.com'

果然可以了!

接下來就是用yum 安裝 vsftpd了

rhel7 Couldn't resolve host 'mirrors.163.com'

哎?這裡怎麼還是有錯誤,看來是源端口沒有設定對,這個時候就需要了解一下yum的原理了。

YUM的基本工作機制如下:

伺服器端:在伺服器上面存放了所有的RPM軟體包,然後以相關的功能去分析每個RPM檔案的依賴性關系,将這些資料記錄成檔案存放在伺服器的某特定目錄内。 

用戶端:如果需要安裝某個軟體時,先下載下傳伺服器上面記錄的依賴性關系檔案(可通過WWW或FTP方式),通過對伺服器端下載下傳的紀錄資料進行分析,然後取得所有相關的軟體,一次全部下載下傳下來進行安裝。

yum下載下傳檔案的協定具體可以檢視自己的repo檔案。我這裡是通過HTTP協定。

rhel7 Couldn't resolve host 'mirrors.163.com'

我配置了80端口後,發現下載下傳就可以了。(HTTPS的端口是我随意配置的,不用理會)

rhel7 Couldn't resolve host 'mirrors.163.com'
rhel7 Couldn't resolve host 'mirrors.163.com'

接下來使用Yum就都可以了。

PS:這裡總結一點,防火牆很重要!并且大家需要厘清dport和sport的規則,具體的可以檢視部落格

dport和sport的差別