永利酒店赌场指南:使用 Trickle 限制应用程序带宽占用(1)

指南:使用 Trickle 限制应用程序带宽占用(1)

有没有遇到过系统中的某个应用程序独占了你所有的网络带宽的情形?如果你有过这样的遭遇,那么你就会感受到Trickle这种带宽调整应用的价值。不管你是一个系统管理员还只是普通Linux用户,都需要学习如何控制应用程序的上下行速度,来确保你的网络带宽不会被某个程序霸占。

永利酒店赌场 1

在 Linux 上安装 Trickle 带宽限制

什么是
Trickle?Trickle是一个网络带宽调整工具,可以让我们管理应用程序的网络上下行速度,使得可以避免其中的某个应用程序霸占了全部或大部分可用的带宽。换句话说,Trickle可以让你基于单个应用程序来控制网络流量速率,而不是仅仅针对与单个用户——这是在客户端网络环境中经典的带宽调整情况。

Trickle 是如何工作的?另外,trickle
可以帮助我们基于应用来定义优先级,所以当对整个系统进行了全局限制设定,高优先级的应用依然会自动地获取更多的带宽。为了实现这个目标,trickle
对 TCP
连接上的套接字的数据发送、接收设置流量限制。我们必须注意到,除了影响传输速率之外,在这个过程中,trickle任何时候都不会以任何方式来改变其中的数据。

Trickle不能做什么?这么说吧,唯一的限制就是,trickle不支持静态链接的应用程序或者具有SUID或SGID位设置的二进制程序,因为它使用动态链接的方式将其载入到需要调整的进程和其关联的网络套接字之间。
Trickle此时会在这两种软件组件之间扮演代理的角色。

由于trickle并不需要超级用户的权限来运行,所以用户可以设置他们自己的流量限制。可能这并不是你想要的,我们会探索如何使用全局设定来限制系统中的所有用户的流量限制。也即是说,此时系统中的每个用户具有管理各自的流量速率,但是无论如何,都会受到系统管理员给他们设置的总体限制。

在这篇文章中,我们会描述如何通过trickle在linux平台上管理应用程序使用的网络带宽。为了生成所需的流量,在此会在客户端(CentOS
7 server – dev1: 192.168.0.17)上使用 ncftpput 和 ncftpget,
在服务器(Debian Wheezy 7.5 – dev2: 192.168.0.15)上使用vsftpd
来进行演示。 相同的指令也可以在RedHat,Fedora和Ubuntu等系统使用。

前提条件对于 RHEL/CentOS 7/6, 开启EPEL仓库。这些用于企业版 Linux
的额外软件包是一个由Fedora项目维护的高质量、开源的软件仓库,而且百分之百与其衍生产品相兼容,如企业版本Linux和CentOS。
在这个仓库中trickle和ncftp两者都是可用的。

按照如下方式安装ncftp:

# yum update && sudo yum install ncftp [基于 RedHat 的系统]#
aptitude update && aptitude install ncftp [基于 Debian 的系统]

在单独的服务器上设置一个FTP服务器。需要注意的是,尽管FTP天生就不安全,但是仍然被广泛应用在安全性无关紧要的文件上传下载中。
在这篇文章中我们使用它来演示trickle的优点,同时它也会在客户端的标准输出流中显示传输速率。我们将是否在其它时间使用它放在一边讨论。

# yum update && yum install vsftpd [基于 RedHat 的系统]# aptitude
update && aptitude install vsftpd [基于 Debian 的系统]

现在,在FTP服务器上按照以下方式编辑 /etc/vsftpd/vsftpd.conf 文件。

anonymous_enable=NOlocal_enable=YESchroot_local_user=YESallow_writeable_chroot=YES

在此之后,确保在你的当前会话中启动了vsftpd,并在之后的启动中让其自动启动。

# systemctl start vsftpd [基于 systemd 的系统]# systemctl enable
vsftpd# service vsftpd start [基于 init 的系统]# chkconfig vsftpd on

如果你选择在一个使用 SSH 密钥进行远程访问的 CentOS/RHEL
7中搭建FTP服务器,你需要一个密码受保护的用户账户,它能访问root目录之外的某个目录,并有能在其中上传和下载文件的权限。

你可以通过在你的浏览器中输入以下的URL来浏览你的家目录。一个登录窗口会弹出来提示你输入FTP服务器中的有效的用户名和密码。

ftp://192.168.0.15

如果验证成功,你就会看到你的家目录中的内容。该教程的稍后部分中,你将可以刷新页面来显示在你之前上传过的文件。

永利酒店赌场 2

FTP 目录树


永利酒店赌场 3


Trickle 限制应用程序带宽占用(1)
有没有遇到过系统中的某个应用程序独占了你所有的网络带宽的情形?如果你有过这样的遭遇,…

你有没有遇到过一个程序占用了你所有的网络带宽的情况?如果你遇到过,那么你就需要限制带宽的应用。不管你是一个系统管理员还是一名普通Linux用户,您都应该学习如何控制应用的上传和下载速度来确保你的网络带宽不会被一个程序耗光。

CentOS下vsftpd服务器搭建

CentOS下vsftpd服务器搭建

1.最为简单的vsftpd服务器搭建
  1.安装vsftpd
    1.yum 安装

 yum install vsftpd 

    2.rpm文件安装(如果没有rpm文件,可以到)

rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

  2.防火墙(centos 6.5 使用的是iptables防火墙)
    1.开放21端口

1 iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    2.开放20端口

1 iptables -A INPUT -p tcp --dport 20 -j ACCEPT

    3.开放20主动端口

1 iptables -A INPUT -m state --state NEW -p tcp --dport 20 -j ACCEPT

    4.开放21主动端口

1 iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

    5.写入被动模式端口

1 2 echo pasv_min_port=30000 >> /etc/vsftpd/vsftpd.conf echo_pasv_max_port=31000 >> /etc/vsftpd/vsftpd.conf

    (注意:min 和 max 可以随意填写,但要遵守如下规则
    max > min && min > 1000 && max < 65536)

    6.写入被动端口

1 iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT

    7.保存配置

1 /etc/init.d/iptables iptables save

    8.重启iptables防火墙

1 /etc/init.d/iptables iptables restart

  3.赋予权限

1 chmod -R 755 /var/ftp

  4.测试
    成功!!!

2.ftp匿名服务器
  1.配置
  在/etc/vsftpd/vsftpd.conf(此为vsftpd的主配置文件) 下:
  打开以下配置即可(删除前面的#号,如果没有,可以自行添加,默认配置文件最好不要注释掉)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 anonymous_enable=YES #允许匿名访问   local_enable=YES #支持本地端实体用户登录   write_enable=YES #如果要允许用户上传   local_umask=022 #限制上传文件的权限   anon_upload_enable=YES #允许上传文件   anon_mkdir_write_enable=YES #允许建立文件夹   anon_other_write_enable=YES #对文件有读写操作权限,意味着可以删除文件   xferlog_enable=YES #记录日志   xferlog_file=/var/log/xferlog #日志位置   pam_service_name=vsftpd #支持PAM模块的管理   tcp_wrappers=YES #支持TCP Wrappers 的防火墙机制

  2.测试
永利酒店赌场 4

能够访问,并且能够下载但是不能上传

  3.selinux的配置

    查看selinux:

1 getsebool -a | grep ftp

    设置

1 setsebool -P allow_ftpd_anon_write=1 && setsebool -P allow_ftpd_full_access=1 &

    命令执行比较慢,可以放入后台执行

4.测试

  成功

3.实体用户配置
1.配置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 anonymous_enable=no #禁止匿名用户访问   local_enable=yes #支持实体用户登录   write_enable=yes #拥有写权限   local_umask=077 #默认目录权限是755 默认文件权限是644   dirmessage_enable=yes #显示文件内容   connect_from_port_20=YES #主动连接   xferlog_std_format=YES #记录日志   listen=YES #使用stand alone 方式启动   pam_service_name=vsftpd #支持pam模块   tcp_wrappers=yes #支持tcp防火墙   userlist_enable=yes #不允许/etc/vsftpd/user_list内的用户登录vsftpd 

  2.selinux的设置

1 setsebool -P ftp_home_dir=1

  3.测试

    成功!!!

4.ftp服务器安全
  1.chroot
    目录:/etc/vsftpd/chroot_list

    使用:
      1.将需要限制的用户名写入即可,一排一个用户名,最好通过
>> 来写入
      2.设置vsftpd.conf
        chroot_list_user=YES
        chroot_list_enable=YES
        chroot_list_file=/etc/vsftpd/chroot
    目的:
      在文件内的用户名登录ftp之后,只能在用户主目录下

  2.userlist
    目录:/etc/vsftpd/user_list

    使用:
      1.将需要限制的用户名写入即可,一排一个用户名,最好通过
>> 来写入
      2.设置vsftpd.conf
        userlist_enable=YES
        userlist_file=/etc/vsftpd/user_list

        如果 [ userlist_deny=NO ];那么
          此时文件内的用户才能访问ftp

        另外 [ userlist_deny=YES ];那么
          此时文件内的用户不能访问ftp

   目的:
    想让某人使用或者不使用ftp都可以

5.总结

  1.ftp 使用的端口为20,21 其中 21 为通道端口,20为连接端口

  2.防火墙与selinux开发规则即可

玩转vsftpd服务器的四大高级配置:

vsFTPd配置教程:

Ubuntu实用简单的FTP架设

Ubuntu 上架设FTP服务器和Apache服务器

Ubuntu 13.04 安装 LAMPvsftpdWebminphpMyAdmin 服务及设置

RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例

Linux系统vsftpd源码安装

openSUSE 13.2/13.1 下安装配置 FTP服务器
vsftpd 

本文永久更新链接地址:

CentOS下vsftpd服务器搭建
1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd
2.rpm文件安装(如果没有rp…

永利酒店赌场 5

Trickle 是什么?

Trickle是一款带宽控制供给,用来限制如Firefox, FTP ,
SSH
以及其他使用网络带宽的程序的带宽。你希望你的Youtube音乐体验影响到你的ftp下载么?如果不想,请继续阅读这篇文章,学习如何在你的机器上安装和使用trickle。

怎样在Linux上安装Trickle

trickle工具有一些依赖包,安装和使用trickle之前必须安装“libevent
”,不过这个库在大多数现在的Linux机器上已经默认安装。

在 Debian/Ubuntu/Linux Mint 上

Debian/Ubuntu/Mint 机器上运行 apt-get install
trickle
进行安装。请确保源列表已经更新,接着安装你想要的应用。

$ sudo apt-get update
$ sudo apt-get install trickle

在 RHEL/CentOS/Fedora 上

首先你需要更新系统,然后使用下面的命令安装trickle。

# yum update
# yum install trickle

Trickle如何工作?

Trickle通过控制socket数据读写量来控制和限制应用的上传/下载速度。它使用另一个版本的BSD套接字API,但是区别是trickle还管理socket调用。

要注意的是trickle使用动态链接和加载,所以它只对于使用”Glibc库”的程序有用。由于trickle可以设置数据在socket上的传输延迟,所以它可以用来限制一个应用的网络带宽。

Trickle不能做什么?

Trickle不能用于限制使用UDP协议的应用的带宽,它只可用于TCP连接,但是你要知道它也并不是对所有的TCP连接有效。如果你一直仔细地看这篇文章,你可以猜到原因是什么。你还记得trickle只对使用Glibc库应用有效吧?

还要说一下,trickle无法工作在使用静态链接的可执行程序上。

确定Trickle是否可运行在某个特定应用上

既然trickle无法限制每个应用的上传/下载速度,就应该有个方法找出trickle可以工作的应用。

ldd工具可以帮我们找出某个特定的程序是否使用了libc.so库。如果程序使用了这个库,就可以使用trickle来限制它的网络带宽使用。

ldd命令用于打印每个程序需要的共享库。如果你是一个好奇的Linux
Geek
,那么你可以使用man命令来找出关于ldd工具的更多信息。

# man ldd

Filezilla是一款使用ftp协议传输文件的程序,trickle可以用来限制它的下载或者上传速度么?在你考虑的时候,我使用以下的命令来找出trickle是否可用于filezilla。

# ldd filezilla | grep libc.so

就我而言,它输出了如下:

oltjano@oltjano-X55CR:/usr/bin$ ldd filezilla | grep libc.so
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6bc4000)

既然filezilla使用了“libc.so”库,那么trickle可以用来限制它的网络带宽。这个方法可以用在任何你感兴趣的程序上。

Linux下的带宽控制心得体会 
http://www.linuxidc.com/Linux/2007-07/6006.htm

永利酒店赌场 6

网站地图xml地图