实现两台MPTCP主机之间的通信——VSFTPD的配置与使用

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的描述。

你可能感兴趣的:(ubuntu,vsftpd,MPTCP)