天天看點

實作兩台MPTCP主機之間的通信——VSFTPD的配置與使用

​​javascript:void(0)​​

MPTCP主機USB無線網卡的選擇

在支援MPTCP的新核心中,USB無線網卡的驅動失效,查閱相關資料沒有很好的解決方法。用師兄的免Linux驅動的USB無線網卡試了一下,發現新核心也可以成功識别該網卡。是以最終選擇了免Linux驅動的USB無線網卡。

VSFTPD配置

配置目的

在兩台支援MPTCP的主機之間進行TCP傳輸時,會自動使用MPTCP協定,而其中任何一方不支援MPTCP時,則使用普通的TCP進行傳輸。現在已經成功的配置了兩台支援MPTCP的協定,我們将其中一台配置成FTP伺服器,通過FTP檔案傳輸抓包觀察MPTCP的支援情況。

VSFTPD介紹

VSFTPD是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。VSFTPD是一個UNIX類作業系統上運作的伺服器的名字,它可以運作在諸如Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp伺服器軟體,支援很多其他的FTP伺服器所不支援的特征。比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可建立虛拟使用者、支援IPv6、速率高等。VSFTPD是一款在Linux發行版中最受推崇的FTP伺服器程式。特點是小巧輕快,安全易用。

VSFTPD配置

安裝VSFTPD

sudo apt-get install vsftpd      

配置vsftpd.conf

sudo gedit /etc/vsftpd.conf      

具體的配置如下,找到相應代碼,去掉前面的注釋即可

#禁止匿名通路
anonymous_enable=NO
#接受本地使用者
local_enable=YES
#允許上傳
write_enable=YES
#使用者隻能通路限制的目錄
chroot_local_user=YES
#設定固定目錄,在結尾添加。如果不添加這一行,各使用者對應自己的目錄,當然這個檔案夾自己建
local_root=/home/ftp      

添加FTP使用者

sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser      

調整檔案夾權限,不然會500 OOPS報錯,這裡要将FTP目錄及其目錄下的所有檔案均設為555權限

sudo chmod -R 555 /home/ftp      

修改pam.d/vsftpd,不然會530 login incorrect報錯

sudo gedit /etc/pam.d/vsftpd      

注釋掉

#auth required pam_shells.so      

重新開機VSFTPD服務

sudo service vsftpd restart      

VSFTPD使用

将兩台主機連接配接到區域網路内,現在已經可以在用戶端用剛剛設定的賬号ftpuser登陸ftp了,并且可以看到目錄/home/ftp下的檔案并進行上傳和下載下傳活動。

可以通過浏覽器通路

ftp://xxx.xxx.xxx.xxx      

也可以直接通過終端進行通路

ftp xxx.xxx.xxx.xxx      

依次輸入賬号密碼,在終端通路時,各操作指令如下

##接入ftp伺服器  
ftp xxx.xxx.xxx.xxx
##檢視目前目錄
ls 
##進入某一目錄(以data檔案夾為例)
cd data
##以二進制方式傳送
bin
##下載下傳檔案(以1.MP4為例)到某目錄(預設為目前目錄)   
get 1.MP4
##上傳檔案  
put
##退出FTP模式
bye   quit   exit  
##查FTP目前狀态
status
##用其他使用者登陸
user      

VSFTPD測試

我們用搭好的FTP伺服器進行了如下功能性測試:

  • FTP伺服器:有線網卡一個,IP:192.168.100.120;無線網卡一個,IP:192.168.1.161;
  • FTP用戶端:有線網卡一個,IP:192.168.100.127;

用戶端從伺服器192.168.100.120下載下傳MP4檔案。

一開始隻有120的包,把IP為120的網線拔掉後,自動改用161傳輸,傳輸沒有中斷。重新插上網線後,恢複120的傳輸。

對照組實驗:用不支援MPTCP的核心重複上述,拔掉網線後,傳輸直接中斷。

利用wireshark抓包工具在傳輸的同時進行抓包,可以看到傳輸自動使用了MPTCP協定,可以看到封包中TCP->Options中有關于MPTCP的描述。

繼續閱讀