業(yè)務(wù)反饋,現(xiàn)網(wǎng)的一些主機(jī)通過(guò)ftp連接時(shí),經(jīng)常會(huì)遇到超時(shí)情況,通過(guò)手動(dòng)連接也發(fā)現(xiàn)正常響應(yīng)后,后面認(rèn)證時(shí)花很長(zhǎng)時(shí)間才連上。查看vsftpd.conf配置沒(méi)發(fā)現(xiàn)什么異常。
先在本機(jī)通過(guò)連接回環(huán)地址,發(fā)現(xiàn)連接還是比較快的,沒(méi)有出現(xiàn)卡頓情況,通過(guò)其他主機(jī),連接本機(jī)的兩個(gè)地址,發(fā)現(xiàn)都出現(xiàn)卡頓情況。換其他客戶端連接,也是出現(xiàn)同樣的情況 。這就出現(xiàn)了悖論 ——— 如果服務(wù)器端有問(wèn)題,理論回環(huán)地址連也會(huì)出現(xiàn)卡的情況,如果客戶端有問(wèn)題,換了其他主機(jī)也有該情況,同時(shí)ping回包很快,而且直接連接的時(shí)候,出現(xiàn)輸入用戶名的界面也很快。讓網(wǎng)絡(luò)的同事抓了個(gè)包看了下:
通過(guò)查看包信息發(fā)現(xiàn),認(rèn)證過(guò)程中延遲在20s左右,這20s花在了哪里呢?
網(wǎng)上查詢vsftpd連接慢的問(wèn)題后,發(fā)現(xiàn)有人提出reverse_lookup_enable參數(shù)可能會(huì)出現(xiàn)較大的延遲。關(guān)于該數(shù)的man信息如下:
reverse_lookup_enable Set to YES if you want vsftpd to transform the ip address into the hostname, before pam authentication. This is useful if you use pam_access including the hostname. If you want vsftpd to run on the environment where the reverse lookup for some hostname is available and the name server doesn’t respond for a while, you should set this to NO to avoid a performance issue. default: YES
既然默認(rèn)是YES,而且是其會(huì)嘗試反解析,這里就修改下,在/etc/vsftpd/vsftpd.conf文件中增加reverse_lookup_enable=NO,并重啟vsftpd服務(wù)后,問(wèn)題解決。