今天早上使用yum來安裝vsftpd的時候,出現Couldn't resolve host 'mirrors.163.com'錯誤。
首先,網易的這個鏡像是沒有問題的,畢竟我的同僚能夠正常通路,是以,這個問題就出在我自己的電腦上了。
我一開始以為是網絡斷了。
于是,我 ping www.baidu.com
真的是我網絡斷了?
接下來我又直接ping 百度的IP位址
發現能夠ping 通。
那麼這個問題就明了了,應該就是DNS配置的問題了。
于是,我檢視了DNS的配置
并且驗證了114.114.114.114這個DNS伺服器是可達的。
順便檢視了網關的配置
這個DNS和網關的配置都沒有問題啊,那到底是哪裡出問題了呢?
這個時候我想到了一個問題,是不是防火牆的問題?因為最近使用了rhel7的防火牆,用不慣firewall,是以我安裝了iptables服務,但是還來不及配置iptables的規則。
嗯,問題可能就出在這裡,讓我們來一探究竟。
我直接将iptables 服務給關了 ,測試一下看看能不能成功
果然是防火牆的問題!!!
于是我又重新将防火牆打開了,由于我防火牆的INPUT預設是DROP,是以我配置了兩條DNS源端口的INPUT規則
順便将iptables服務重新開機了一下,然後測試
果然可以了!
接下來就是用yum 安裝 vsftpd了
哎?這裡怎麼還是有錯誤,看來是源端口沒有設定對,這個時候就需要了解一下yum的原理了。
YUM的基本工作機制如下:
伺服器端:在伺服器上面存放了所有的RPM軟體包,然後以相關的功能去分析每個RPM檔案的依賴性關系,将這些資料記錄成檔案存放在伺服器的某特定目錄内。
用戶端:如果需要安裝某個軟體時,先下載下傳伺服器上面記錄的依賴性關系檔案(可通過WWW或FTP方式),通過對伺服器端下載下傳的紀錄資料進行分析,然後取得所有相關的軟體,一次全部下載下傳下來進行安裝。
yum下載下傳檔案的協定具體可以檢視自己的repo檔案。我這裡是通過HTTP協定。
我配置了80端口後,發現下載下傳就可以了。(HTTPS的端口是我随意配置的,不用理會)
接下來使用Yum就都可以了。
PS:這裡總結一點,防火牆很重要!并且大家需要厘清dport和sport的規則,具體的可以檢視部落格
dport和sport的差別