[FreeBSD 10]_Change FTP passive mode DataPort range NCKU CSNA HW03-1 extra

這篇是快速筆記,主要是因為在內網的Server/Client對外建立連線時都得採用Passive Mode

至於什麼是Passive Mode,以下幾個連結能快速幫助你了解:

http://note.tc.edu.tw/222.html

http://phorum.com.tw/ShowPost/5609.aspx

 

總之,Server在內網的時候,外網要連進來必須要特別幫Server打幾個DataPort才能順利傳輸,預設FTPD是在49152~65535隨機開

這個range實在有點大,如果你的FTP根本不太可能同時有這麼多CONNECTION建立並且傳輸DATA…建議把這個範圍改小一些

 

很不幸的FBSD內建的FTPD並沒有所謂的服務設定檔,像是VSFTP或者PURE-FTP就有專門的設定檔可以去調整這個DATAPORT的範圍…

FTPD則是跟著系統的設定檔走,也就是系統的兩個參數控管,分別是:

net.inet.ip.portrange.hifirst (預設49152) 以及 net.inet.ip.portrange.hilast (預設65535)

 

可以使用下列指令觀察目前系統內的參數:

# sysctl -a | grep net.inet.ip.portrange

#//將會顯示以下內容:
net.inet.ip.portrange.lowfirst: 1023
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.first: 1024
net.inet.ip.portrange.last: 5000
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.hilast: 65535

 

我想要縮小49152~65535這個range變成65500~65535

所以我們必須手動的去調整net.inet.ip.portrange.hifirst的值

 

可以編輯/etc/sysctl.conf,基本上裡面會長的向下列內容,並且手動override net.inet.ip.portrange.hifirst:

# $FreeBSD: release/10.0.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
net.inet.ip.portrange.hifirst=65500

 

儲存離開之後,你可以測試一下,透過client測試幾次會發現DataPort都會開在這個範圍內了~

1

 

 

thx for:

http://n3tl04d.blog.51cto.com/89255/111301

https://forums.freebsd.org/threads/ftp-server-passive-ports.11460/

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料