配置虛擬FTP服務器
所謂虛擬FTP服務器,是指一臺機器上有多個IP地址,並且可以向外提供多FTP服務,這些服務器在邏輯上是獨立的,有不同的訪問控制表和不同的下載內容。
配置虛擬FTP服務器的步驟如下所示:
(1)爲一個服務器配置多個IP地址。假設原來的主機內部地址爲210.77.27.222,可再綁定一個IP地址如下:
向接口添加一個新的IP210.77.27.223
#/sbin/ifconfig eth0:0 210.77.27.223 up
(2)創建虛擬FTP服務器的根目錄,並確保/var/newftp和/var/newftp/pub目錄的擁有者和組均爲root,掩碼爲755。
#mkdir -p /var/newftp/pub #chmod 755 /var/newftp #chmod 755 /var/new/ftp/pub
(3)增加虛擬FTP服務器的匿名用戶賬號。原先的FTP服務器使用系統用戶ftp作爲其匿名用戶賬號。需要增加一個newftp用於虛擬FTP服務器。
useradd -d /var/newftp -M newftp
(4)創建虛擬FTP服務器的配置文件。複製原來的vsftpd.conf作爲虛擬FTP服務器的配置文件,並修改相關參數。
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
新添或修改以下參數:
listen=YES listen_address=210.77.27.223 ftp_username=newftp
此處需要特別注意:由於vsftpd默認是監聽所有的IP地址,當設定基於IP的虛擬FTP服務器時,爲防止原來的FTP服務器與虛擬FTP服務器發生監聽上的衝突,原FTP服務器須要指定監聽的IP地址。在這裏,原來的配置文件中就要設置listen_address=//向接口添加一個新的IP210.77.27.222。
(5)啓動和測試虛擬FTP服務器。
可以使用命令同時啓動或關閉原FTP服務器和新加的虛擬FTP服務器,如下:
#service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd2: [ OK ] Starting vsftpd for vsftpd: [ OK ]
啓動成功後,就可以對該虛擬服務器登錄進行測試,如下面所示:
測試以127.0.0.1登錄:
# ftp 127.0.0.1 ftp: connect: Connection refused ftp> bye //測試失敗,因爲該服務器具有兩個不同的IP
連接原來的FTP服務器,其IP地址爲210.77.27.222,端口號爲10003:
# ftp 210.77.27.222 10003 Connected to 210.77.27.222 (210.77.27.222). 220 Welcome to virtual FTP service.
使用匿名用戶登錄,成功:
Name (210.77.27.222:root): anonymous 331 Please specify the password. Password: 230 Login successful. Have fun. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (210,77,27,222,51,224) 150 Here comes the directory listing. drwxr-xr-x 2 0 0 4096 Jul 09 15:26 pub 226 Directory send OK. ftp> cd pub 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (210,77,27,222,223,123) 150 Here comes the directory listing. -rw-r--r-- 1 0 0 10 Jul 09 15:26 test.c 226 Directory send OK. ftp> bye 221 Goodbye.
連接虛擬FTP服務器,其IP地址爲210.77.27.223,端口號爲10004:
# ftp 210.77.27.223 10004 Connected to 210.77.27.223 (210.77.27.223). 220 Welcome to virtual FTP service.
使用匿名用戶登錄,成功:
Name (210.77.27.223:root): anonymous 331 Please specify the password. Password: 230 Login successful. Have fun. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (210,77,27,223,102,119) 150 Here comes the directory listing. drwxr-xr-x 2 0 0 4096 Jul 10 13:23 pub 226 Directory send OK.
進入該登錄文件夾:
ftp> cd pub 250 Directory successfully changed. ftp> ls //由於該虛擬服務器沒有加入任何文件,所以ls結果爲空 227 Entering Passive Mode (210,77,27,223,170,40) 150 Here comes the directory listing. 226 Directory send OK. ftp> bye 221 Goodbye.