在网络传输中,限速是一种很常见的操作,特别是在大规模的文件传输过程中。FTP(文件传输协议)是一种常用的传输协议之一,而在Linux系统下,我们可以通过一些方法对FTP进行限速。
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!成都创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,做网站、成都网站制作负责任的成都网站制作公司!
本文将介绍如何在Linux系统下对FTP进行限速的具体过程。
步骤一:安装vsftpd
vsftpd是Linux中一个常用的FTP服务器软件,我们可以使用此软件进行FTP上传或下载。首先需要在系统中安装vsftpd,可以通过以下命令进行安装:
sudo apt-get install vsftpd
步骤二:配置vsftpd
安装完成后,需要对vsftpd进行配置。使用文本编辑器(如nano)打开vsftpd.conf文件,编辑以下内容:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftpsecure
ftp_username=ftpsecure
chroot_local_user=YES
其中,listen=YES 表示vsftpd服务器开启。其他参数的含义详解如下:
anonymous_enable=NO: 禁止匿名登录,只允许具有账号和密码认证的用户登录FTP服务器。
local_enable=YES: 允许本地用户登录FTP服务器。
write_enable=YES: 允许用户上传文件。
local_umask=022: 设置FTP远程目录的默认权限掩码(UMASK),默认情况下是022,即指目录具有755权限,文件具有644权限。
anon_upload_enable=NO: 禁止匿名用户上传文件。
anon_mkdir_write_enable=NO: 禁止匿名用户在FTP上创建文件夹。
dirmessage_enable=YES: 允许向FTP客户端发送一些目录内容提示。
xferlog_enable=YES: 启用传输日志。如果启用,则可以在/var/log/vsftpd.log中找到FTP传输时的详细记录。
connect_from_port_20=YES: 启动主动FTP传输模式。在这种模式下,傳輸的开始是由FTP客户端发送来的请求,FTP服务器则通过主机的20端口与FTP客户端建立连接,并返回FTP客户端所请求的文件。
xferlog_file=/var/log/vsftpd.log: 设置vsftpd传输日志的位置。
xferlog_std_format=YES: 使用标准的xferlog格式记录传输日志。
idle_session_timeout=600: 设置FTP会话连接超时时间(以秒为单位)。
data_connection_timeout=120: 设置传输连接的超时时间(以秒为单位)。
nopriv_user=ftpsecure: 指定vsftpd运行用户名。
ftp_username=ftpsecure: 同上。
chroot_local_user=YES: 将用户限定在传输根目录下。
步骤三:限速策略
本例中使用tc命令为FTP传输设置限速。tc命令可以控制网络流量,特别是可以为各种数据流设置带宽限制。如果你没有tc命令,请使用以下命令进行安装:
sudo apt-get install tc
完成安装后,请按照以下步骤进行设置:
1.创建一个新的类别 c1,将带宽限制为1M(即,举例下行传输速度不超过1Mbps):
tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1mbit ceil 1mbit prio 0
以上命令将创建一个句柄为1:的层次控制器,将其设置为htb规则,将默认类别设置为12.在此类别中,将下行传输速度限制为1M(rate 1mbit),将上行传输速度限制为1M(ceil 1mbit)。
2. 将所有FTP流量分配给 c1 类别。
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 21 0xffff flowid 1:1
这个命令将所有FTP流量分配到类别1:1。
3. 启动iptables并允许FTP传输。
iptables -t raw -A PREROUTING -p tcp –dport 21 -j NOTRACK
iptables -t mangle -A PREROUTING -p tcp –sport 21 -j MARK –set-mark 1
这个命令将FTP传输连接的所有数据流量(端口21/20)设置到关联的标记“1”中(MARK),这样就保证了所有FTP传输流量按照我们的要求进行限速。
通过执行以下命令来验证设置是否起效:
sudo tc -p -s -d class show dev eth0
该命令将在屏幕上显示类别和调度器的详细信息,并且你可以看到带宽限制在 1M 的类别 c1。
:
在Linux系统中,我们可以使用vsftpd和tc命令来实现FTP传输限速。vsftpd作为FTP服务器软件,可以帮助我们快速建立FTP传输环境。而tc命令则可以控制网络流量、限制传输速度,从而保证FTP传输速度的稳定和安全。以上设置只是一个基本示例,在实际使用过程中,可以根据需要进行一定的调整,以便更好地适应实际需求。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220看了你的服务器。是SERV-U 8.1搭镇早建的。是最新版本御敬雀。可以直接在SERV-U里面设置速度限制。。可以设置到稿侍很具体。这个软件功能强大。请摸索。碰到问题百度一下基本搞定。关于这个的文章非常多
可以使用
服务器管理工具
来进行相局此关的操作;顷举如果是想雀腊碧抑制的话,可以直接使用IDM等一些线程下载工具进行线程数量上的限制,就能够达到效果!如果是单纯的FTP的话,使用服务器管理工具操作即可
你的路由中如果有限速弊洞功能的话,那就给这个FTP服务器做个限速的,如果没有,岁迟就利用第三方软件来实现,具租雀枯体怎么做,要看什么路由器,或是什么软件,
WINDOWS下载培谨运行里直接输入~ 就行码改了~~~上去的时候是匿名登录~~可以右键有个迟中判登录~~上去用用户登录~~不用设置~~~和在windows下搭建ftp 一样~~
ping不通的话首先看看网卡,linux是虚拟机的话就换成仅主氏衫机或是桥接!在linux上做ftp服务,开启服务!把它们换成一个网段,在客户端ctrl+r运行!输入ftp://ip(服务器的)就可以了!要是匿名登录上传埋核携的话需要改配置文件,弯伏/etc/vsftpd/vsftpd.conf要记得起服务哦!!!1
FTP服务器配置
VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数:
anonymous_enable=yes/no
是否允许匿名用户访问
anon_upload_enable=yes/no
是否允许匿名用户上传文件
anon_mkdir_write_enable=yes/no
是否允许匿名用户创建目录
anon_other_write_enable=yes/no
匿名用户和虚拟用户是否拥有删除权限
local_enable=yes/no
是否允许本地用户登陆
write_enable=yes/no
设置全局是否可写
anon_root=/var
指定匿名用户目录
chroot_local_user=yes
锁定所有用户到用户主目录
chroot_list_enable=yes/no
锁定列表中的用户到主目录,需要配合下一参数使用
chroot_list_file=/etc/vsftpd/chroot_list
指定存储被锁定用户的列表文件位置
chown_uploads=yes/no
匿名用户上传所有者指定功能,需要与下一参数配合使用
chown_username=用户名
指定匿名用户上传文件的所有者
max_clients=300
更大客户端连接数为300
anon_max_rate=30000
匿名用户和虚拟用户限速为30K/S
local_max_rate=30000
本地用户限速为30K/S
max_per_ip=10
每租脊个IP更大连接数
listen_port=22
更改监听端口
实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,更大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:
直接添加以下选项:
vsftpd>#
service
vsftpd
restart
添加用户ftp1,设置登录脚本为
/in/nologin:
vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件”testLocal”,在”/var/ftp/pub”新建一个文件”testAnon”。
由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才弊备渗能读取该文件
设置/var/ftp/pub权限为777,表示所有用户均有读写权限.
由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。
客户端用Flashfxp测试:新建站点”VsftpTest”,输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击”连接”按钮:
由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹:
切换到目录”/var/ftp/pub”,该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度:
新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选”匿名”选项并连接:
匿名用户登陆成功:
进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。
尝试上传文件失败,符合匿名用户只允许下载的要求:
最后测试匿名用户的:
vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.
匿名用户的配置:
anonymous_enable=YES
//允许匿名用户登录
anon_root=/var/ftp/anonymous
/滚枣/设定匿名用户登录后的根目录
anon_upload_enable=YES
//允许匿名用户上传文件
只需要打开如上的参数即可,不用做其他的设置.本地用户登录配置
首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.
local_enable=YES
//允许本地用户登录
local_root=/home
//限制本地用户登录后的根目录
eg:
ftp>#
ftp
192.168.0.125
Connected
to
192.168.0.125.
220
(vsFTPd
2.0.5)
530
Please
login
with
USER
and
PASS.
530
Please
login
with
USER
and
PASS.
KERBEROS_V4
rejected
as
an
authentication
type
Name
(192.168.0.125:root):
xu
331
Please
specify
the
password.
Password:
230
Login
successful.
Remote
system
type
is
UNIX.
Using
binary
mode
to
transfer
files.
ftp>
ls
227
Entering
Passive
Mode
(192,168,0,125,135,123)
150
Here
comes
the
directory
listing.
drwx——
505
503
4096
Jun
09:42
chuan
drwx——
507
507
4096
Jun
22:26
ftp
drwx——
504
502
4096
Jun
09:42
joe
drwx——
506
503
4096
Jun
09:43
laomeng
drwx——
502
504
4096
Jun
09:42
master
drwx——
503
502
4096
Jun
09:42
mike
drwx——
500
500
4096
Jun
21:34
xiaochuan
drwxrwxrwx
508
508
4096
Jun
22:39
xu
drwx——
501
501
4096
Jun
20:25
xujunchuan
226
Directory
send
OK.
ftp>
pwd
257
“/home”
限制用户目录部分
chroot_local_use=YES|NO
//是否将本地用户锁定在家目录
chroot_list_enable=YES|NO
//是否锁定使用者在家目录中
chroot_list_file=/etc/vsftpd/chroot_list
//一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户
设置欢迎信息
dirmessage_enable=YES
message_file=.message
ftp>#
cd
/home
home>#
vi
.message
welcomt
to
VSFTP………….
C:\Documents
and
Settings\Administrator>ftp
192.168.0.125
Connected
to
192.168.0.125.
220
(vsFTPd
2.0.5)
User
(192.168.0.125:(none)):
xu
331
Please
specify
the
password.
Password:
230-welcomt
to
VSFTP………….
230
Login
successful.
ftp>
服务器端设置好就可以了,客户端不用任何设置
linux ftp限速的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux ftp限速,如何在Linux下对FTP进行限速?,【急】如何限制我的ftp服务器上下载的速度,Linux搭建ftp在windows下这么访问,需要怎么设置的信息别忘了在本站进行查找喔。
创新互联是成都专业网站建设、网站制作、网页设计、SEO优化、手机网站、小程序开发、APP开发公司等,多年经验沉淀,立志成为成都网站建设第一品牌!
新闻名称:如何在Linux下对FTP进行限速?(linuxftp限速)
转载源于:http://www.mswzjz.cn/qtweb/news35/53635.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能