來請教個ftp的port設定的問題(vsftpd)?

防火牆我是使用ns100 ftp server是用vsftpd
client端是用filezilla來連
我在vsftpd限制pasv_max_port及pasv_min_port是9981-10000
防火牆的連入開放了ftp服務 連出開放9981-10000
我的filezilla的limit local port限在9981-10000
這樣設是連的上 但是很慢
如果把ns100的連出全開 okay 這樣連很快
觀查netstat是以33xx port在連
我的疑問是 不是限制在跑9981-10000嗎
為何它還是挑選了33xx多在跑
如何在active mode下 能夠限制在我指定的port範圍通過呢?
並且是防火牆同樣限制連出的情況之下
那... 你看 filezilla 的 log, 是用 active mode 還是 passive mode 在連線的呢?
因為你說的 server 上的那幾個設定是給 passive mode 用的.
而你說 filezilla 那個設定, 是給 active mode 用的.

如果是用 passive 連線, 又怎麼會去用到 active mode 的設定呢?
如果是用 active 連線, 又與 server 上頭的 passive 設定有什麼關係呢?

passive 指定的 port 是在 server 上頭.
active 指定的 port 是在 client 上頭.

你看到的是那一個呢?
nokia1220 wrote:
我在vsftpd限制pasv_max_port及pasv_min_port是9981-10000...(恕刪)


先檢查設定 vsftpd.conf 的設定是不是下面這樣

pasv_enable=YES
pasv_min_port=9981
pasv_max_port=10000


再檢查 firewall 的是否有開放外部IP可對內部IP的 port 21 與 port 9981-10000


圖片來源:鳥哥 (vbird)

由於 FTP Server 會傳送 Port PASV 告知用戶端所需要連接的Port

所以你的ns-100的firewall rules 需要開放如下:
LAN to WAN 須開放 FTP Server Port 21
WAN to LAN 的部份需要開放 FTP Server Port 21、 9981-10000
阿胖技研,專研資訊相關技術!
twu2 wrote:
那... 你看 fi...(恕刪)


啊 對吼 我搞笑了 歹勢
wst2080 wrote:
先檢查設定 vsft...(恕刪)



剛試了一下 先採active
顯然是在udp的那部份
像是我在server上用netstat來看
它會去建立
udp 0 0 220.130.xxx.xxx:57843 168.95.1.1:53
udp 0 0 220.130.xxx.xxx:57845 168.95.192.1:53
server的防火牆若是內對外的udp沒全開的話 連線就會變的很慢
udp全開 就可以1秒就連上 但我似乎無法去控制那個server使用udp的port
還是說我漏掉了哪裡 觀念沒理清楚呢?

後來我加了一條規則在ns100的內對外
source 57000 - 59000 to destination 53-53
這樣連線就很迅速!
不過還是一樣的老問題 我還是無法去控制它出去的udp是在57000-59000之間
nokia1220 wrote:
udp 0 0 220.130.xxx.xxx:57843 168.95.1.1:53
udp 0 0 220.130.xxx.xxx:57845 168.95.192.1:53...(恕刪)



注意一下喔~~~

這個UDP使用的事 從 220.130.x.x 的 > 1024 隨機Port 連到 CHT DNS(那兩個IP都是DNS IP) 的 DNS 53 Port ... 使用的是 UDP 的 Port 連結過去~~~

這代表有可能你是透過DNS去做解析之後~~~

才解析出來的IP位置~~~

換句話說就是...

你可能向你的FTP Server建立連線的時候...

不是使用 IP 的方式來進行連結... 而是使用 FQDN (ftp.a.b.com.tw) 這樣的方式來進行連結~~~ 我猜想這兩個的原因就是這樣~~~

由於不知道你的網路架構與FTP Server所處在的問題~~~

你要查看的是 FTP Server 端的 netstat 才對~~~

用戶端所使用的Port就別管~~~ 要看的是 FTP Server 的 Port~~~

看看你的FTP Server所開放的連接埠是否有在規範的 Port Range 當中~~~

將我上面提供鳥哥的圖詳細的看一看... 花點時間消化消化~~~

不要搞混 Client 與 Server 之間的連接方式~~~

假設我是Client要連線到mobile01當中~~~

就是 www.mobile01.com 這台伺服器需要開放 Port 80 來提供 www 的服務~~~

而不是用戶端使用自己的 80 Port 連線到 www.mobile01.com ...

而用戶端會使用大於 1024 的隨機連接埠連線到 www.mobile01.com 的 80 Port...

不知道這樣的說明~~~ 是否能夠理解呢?!


連線的時候不要使用FQDN來進行連線...

使用IP直接連線就不會有這樣的問題了~~~


阿胖技研,專研資訊相關技術!
udp53 port 是 DNS用的~你的vsftp應該是會去反查連線進來的ip,所以你server的對外連線關掉的時候~他就會一直查到dns time out的時候才會進行下一步~很多服務都有這個問題~像ssh也會,有幾個方式解決~
1、就是你所做的,開放server對外向DNS查詢的權限~
2、把server的dns設定拿掉,也就是server完全不對外~/etc/resolv.conf 裡面的nameserver前面全加上註解~存檔後立即生效~不過這樣的做法會造成你server沒辦法用網址連線哦~但通常server設定都是不對外連線的~應該是沒差~

3、如果你的 client是固定ip,在你的/etc/hosts/ 直接加上client的設定~比如
123.123.123.123 abc.com
後面那個abc.com隨便你設~前面的ip對就好了~當hosts有ip的相關資料時,會以hosts為優先,而不會去跟dns要反查~所以前面等待連線的速度就會加快了~
wst2080 wrote:
注意一下喔~~~這個...(恕刪)




我了解 不過有一點就是我並不是用domain的方式去連線
我是使用vpn播連進去後 再使用配給的內部ip去連線
它會去查dns 我也是很納悶
流浪不想去淡水 wrote:
udp53 port...(恕刪)



感謝您的指導
不過那台我還是有對外的需求
所以nameserver還是不拿掉
我後來還是開放udp1024-65535 到 53
這樣我想安全性不知道是否有問題
nokia1220 wrote:
感謝您的指導不過那台...(恕刪)


這個部份倒是還好啦~~~

畢竟是從220 (這台應該是你ftp Server吧) 這邊連出去的~~~

自己連出去的查詢應該是還OK~~~ 這點就別擔心了~~~

若真的怕... vsftpd 算是蠻安全的FTP Service...

要不然就檢視好你的FTP Configuration 是否有設定完整...

有沒有啟用 change root 的機制...

還有是否有設定好每個 ftp user 與 各個目錄與檔案之間的權限...

真的很怕~~~ 那建議啟用 SELinux 吧~~~

並且設定你的 iptables or 你的防火牆~~~ 開放你所信任的IP即可~~
(印象中 /etc/host.deny and /etc/host.allow 這兩個好像也支援)

阿胖技研,專研資訊相關技術!
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!