[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都會開在這個範圍內了~
thx for:
http://n3tl04d.blog.51cto.com/89255/111301
https://forums.freebsd.org/threads/ftp-server-passive-ports.11460/
Leave a comment
很抱歉,必須登入網站才能發佈留言。