共計 1589 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 PureFTPd 中全局帶寬限制知識點有哪些的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
如何限制 FTP 占用的總的帶寬?
Pure-FTPd 可以限制每個會話占用的帶寬. 不過, 限制總的帶寬是故意不添加的一種功能, 因為大部分的操作系統已經有了有效的算法來處理帶寬限制.
下面是 Linux 上的一個例子.
1) 查看 /proc/sys/net/ipv4/ip_local_port_range 文件. 可以看到兩個數字: 這就是 Linux 內核處理外界連接的時候使用的本地端口的范圍. 你希望為被動模式 FTP 保留的 FTP 端口一定不能在這個范圍內. 所以, 如果:
cat /proc/sys/net/ipv4/ip_local_port_range 返回 32768-61000 , 那么你可保 留端口 10000 到 20000 給 FTP 服務器, 而不是 30000-40000.(同樣, 你也可以選擇改編本 地的端口范圍).
2) 更改前面的那些行, 保存下面的腳本.
#! /bin/sh
# 簡單的帶寬限制 – 英文原本作者 j@4u.net
# 將下面的數據更改為你的連接帶寬
#(對于等用戶, 寫上你可能得到的 *** 帶寬, 而不是本地以太網連接的速度.)
REAL_BW= 10Mbit
# 將下面的數據改為你想給 FTP 分配的帶寬
# 我們使用的帶寬單位都是 megabits, 不是 megabytes, 所以 80Kbit 就是 10 Kilobytes/s
FTP_BW= 80Kbit
# 將下面的數據改為你的物理設備 (或者 ppp0)
NIC= eth0
# 將下面的數據改為你給被動 FTP 分配的端口范圍
FTP_PORT_LOW= 10000 FTP_PORT_HIGH= 20000 tc qdisc add dev $NIC root handle 1: cbq \ bandwidth $REAL_BW avpkt 1000 tc class add dev $NIC parent 1: classid 1:1 cbq bandwidth $REAL_BW \ rate $REAL_BW maxburst 5 avpkt 1000 tc class add dev $NIC parent 1:1 classid 1:10 cbq \ bandwidth $REAL_BW rate $FTP_BW maxburst 5 avpkt 1000 bounded tc qdisc add dev $NIC parent 1:10 sfq quantum 1514b tc filter add dev $NIC parent 1: protocol ip handle 1 fw flowid 1:10 iptables -t mangle -A OUTPUT -p tcp --sport 20:21 -j MARK --set-mark 1 iptables -t mangle -A OUTPUT -p tcp \ --sport $FTP_PORT_LOW : $FTP_PORT_HIGH -j MARK --set-mark 1
3) 確保你已經安裝了 tc 命令. 要是你的發行版不提供 ip 和 tc 命令, 腳本就無法 運行, 要使用這兩個命令, 你得安裝一個叫做 iproute2 的軟件包.
4) 加上你給定的被動端口范圍, 啟動 Pure-FTPd.
/usr/local/sbin/pure-ftpd -p 10000:20000 -HBA
5) 運行第二步的時候建立的腳本. 要是腳本無法運行, 那就檢查 QOS 支持是否編譯進了你的 Linux 內核.
感謝各位的閱讀!關于“PureFTPd 中全局帶寬限制知識點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!