一、簡介
二、服務端設定
1.安裝vsftpd軟體
yum install vsftpd -y
2.開啟匿名訪問和被動模式埠
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes --開啟匿名使用者訪問
anon_upload_enable=yes --匿名使用者名稱可以上傳檔案
anon_mkdir_write_enable=yes --匿名使用者可以建立檔案
anon_other_write_enable=yes --匿名使用者可以重新命名檔案
pasv_enable=yes --開啟被動模式
pasv_min_port=30000 --被動模式最小埠
pasv_max_port=31000 --被動模式最大埠
3.載入ftp模組
vim /etc/modprobe.d/vsftpd.conf
alias ip_conntrack ip_conntrack_ftp ip_nat_ftp --載入ftp模組
vim /etc/rc.local
/sbin/modprobe ip_conntract --開機載入模組
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
4.埠過濾
vim /etc/sysconfig/iptables
-a input -p tcp -m multiport --dport 20,21 -m state --state new -j accept --開啟20,21埠
-a input -p tcp -m state --state new -m tcp --dport 21 -j accept --開啟21主動埠
-a input -p tcp --dport 30000:31000 -j accept --開啟被動埠
5.重啟服務
service vsftpd restart
三、客戶端配置
1.安裝ftp包
2. ftp xx.xx.xx.xx
四、常見問題
1. 今天從公網的伺服器連線本地內網的ftp server copy檔案時,系統老是提示227 entering passive mode(***,***,,***,***,x),很是奇怪,於是上網找資料仔細研究了一下,原來ftp有兩種工作模式,port方式和pasv方式,中文意思為主動式和被動式 ,詳細介紹如下:
主動 ftp :
命令連線:客戶端 >1024 埠 → 伺服器 21 埠
資料連線:客戶端 >1024 埠 ← 伺服器 20 埠
被動 ftp :
命令連線:客戶端 >1024 埠 → 伺服器 21 埠
資料連線:客戶端 >1024 埠 ← 伺服器 >1024 埠
port(主動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 客戶端在命令鏈路上用port命令告訴伺服器:「我開啟了***x埠,你過來連線我」。於是伺服器從20埠向客戶端的***x埠傳送連線請求,建立 一條資料鏈路來傳送資料。
pasv(被動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 伺服器在命令鏈路上用pasv命令告訴客戶端:「我開啟了***x埠,你過來連線我」。於是客戶端向伺服器的***x埠傳送連線請求,建立一條資料鏈 路來傳送資料。
由於我的本地ftp伺服器在內網,只是從外網映**兩個埠(20,21),所以無法使用pasv方式,解決此問題的辦法也很簡單,關閉客戶端的pasv方式,強制其用port方式訪問伺服器,登入ftp伺服器後用passive命令關閉客戶端的pasv方式,如下:
ftp> passive
passive mode off.
ftp> passive(再次執行命令可開啟)
passive mode on.
2.ftp下:get 123.cap
報:200 port command successful. consider using pasv.
550 failed to open file.
該問題為123.cap的許可權不夠,使用chmode a+r+w 123.cap 試試
3.報:500 oops: cannot change directory
解決方法:
在終端輸入命令:
setsebool -p ftpd_disable_trans 1
service vsftpd restart
Linux上配置FTP服務
1.建立ftp使用者 groupadd g 1100 ftpgroup useradd u 1100 g ftpgroup s sbin nologin ftpuser 以上新建的ftpuser使用者無法登陸作業系統 2.安裝vsftp相關包 yum y install vsftp 3.修改ftp配...
Linux伺服器上搭建FTP服務
安裝 vsftpd0 使用 yum 安裝 vsftpd yum install vsftpd y啟動 vsftpd0 安裝完成後,啟動 ftp 服務 service vsftpd start啟動後,可以看到系統已經監聽了 21 埠 netstat nltp grep 21修改配置檔案 vsftpd ...
linux上構建ftp伺服器
可以參考這篇博文。進入 etc vsftpd目錄下,有以下幾個配置檔案 1 ftpusers 黑名單配置檔案,這個裡面的使用者不允許訪問ftp伺服器 2 user list 白名單配置檔案,允許訪問ftp伺服器的使用者列表 3 vsftpd.conf ftp核心配置檔案 vsftpd.conf配置檔...