iptables 限制流量

2016-01-29 18:10 18 1 收藏

iptables 限制流量,iptables 限制流量

【 tulaoshi.com - Linux 】

首先我們先新增兩條rule iptables -A FORWARD -s 192.168.0.1 -j ACCEPT iptables -A FORWARD -d 192.168.0.1 -j ACCEPT
我們內部有一個Nat的環境使用的IP範圍是192.168.0.0/24 要監控192.168.0.1這個ip的流量 首先我們先新增兩條rule iptables -A FORWARD -s 192.168.0.1 -j ACCEPT iptables -A FORWARD -d 192.168.0.1 -j ACCEPT 我們使用iptables -L FORWARD -nvx看看我們剛剛建的這兩個rule Chain FORWARD (policy ACCEPT 3109 packets, 1529728 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 192.168.0.1 0.0.0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.0.1 ^^^^^^ 這個就是我們要監控的主角了 第一個rule表示不管連到哪邊只要來源是192.168.0.1的封包都會經過這條規則 同時bytes也會根據封包的資料量作累加的動作 第二個rule則是不管來源是哪裡只要目的地是192.168.0.1就列入紀錄 所以拉第一條規則就192.168.0.1這個ip的上傳資料量 第二條就是下載的資料量了 我們用個簡單的文字處理規則取出上下傳的資料量 iptables -L FORWARD -nvx|grep "192.168.0.1 *0.0.0.0/0 *$"|awk {'print '}---->上傳 iptables -L FORWARD -nvx|grep "0.0.0.0/0 *192.168.0.1 *$"|awk {'print '}---->下載 然後寫個script擺在cron裡面定期的去檢查就ok拉....當使用量破表時嘿嘿就把這兩個rule設為drop那192.168.0.1這個ip就在也出不去了 [實作] 以下是我寫的兩支script 將checkquota.sh丟到crontab裡面每隔一段時間跑一次作檢查動作 #################checkquota.sh#################### #!/bin/bash HostRange=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) InQuota=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) OutQuota=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) TrafficIn=`iptables -L FORWARD -nxv|grep "0.0.0.0/0 *$HostRange *$"|awk {'print $2'}` TrafficOut=`iptables -L FORWARD -nvx|grep "$HostRange *0.0.0.0/0 *$"|awk {'print $2'}` echo "In:$TrafficIn/$InQuota" echo "Out:$TrafficOut/$OutQuota" if [ $TrafficIn -gt $InQuota ] ; then iptables -D FORWARD -d $HostRange -j ACCEPT iptables -A FORWARD -d $HostRange -j DROP fi if [ $TrafficOut -gt $OutQuota ] ; then iptables -D FORWARD -s $HostRange -j ACCEPT iptables -A FORWARD -s $HostRange -j DROP fi ############################################### 將zerocount.sh也擺到cron裡面每隔一段時間就將count歸0 ###################zerocount.sh#################### #!/bin/bash HostRange=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) InQuota=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) OutQuota=$(cat /etc/NetUsage.conf|grep "^[^ *#]"|awk {'print '}) iptables -F iptables -X iptables -A FORWARD -s $HostRange -j ACCEPT iptables -A FORWARD -d $HostRange -j ACCEPT 最後再編輯一個檔案/etc/NetUsage.conf 裡面的內容就像這樣 ip位址 下傳限制 上傳限制 例如 192.168.0.1 1024000 2048000 表示192.168.0.1這個ip下傳限制1024000bytes 上傳2048000bytes 也可以針對某個網段作限制 192.168.0.0/24 這樣表示192.168.0.0~192.168.0.255都列入限制(注意這裡是指全部加起來的流量喔) 這個script只有簡單的針對單一範圍作設限

来源:http://www.tulaoshi.com/n/20160129/1504700.html

延伸阅读
手机淘宝流量钱包怎么提取流量   1)打开手机淘宝,在栏点击,选择;     2)点击,输入要提取至的号码,选择流量包,再点击就可以了。     
手机淘宝流量钱包如何获取流量   1)首先先打开,进去之后点击,接着点击。   2)进去之后点击,然后点击。   3)进去之后有两种方法可以获得流量,一个是购买商品,一个是进行抽奖,下面小编以抽奖为例点击,进去之后点击店铺。   4)接着点击进行抽奖,就可以了。  
流量银行怎么把流量充值到手机   1)打开,点击。   2)输入,选择一个,然后就点击,充值成功的话手机才会收到短信哦,点击后就等待吧~  
360流量卫士怎么禁止应用偷跑流量 1)打开在主页点击下方。 2)点击在联网管理页点击你要禁跑的应用右边,打开功能列表选择点击即可。         注 :更多精彩教程请关注图老师手机教程栏目,图老师手机数码群:296605639欢迎你的加入
流量掌厅如何查看应用流量消耗 1)打开,进入首页后点击按钮。 2)跳转到更多页面后点击一项,即可看到应用流量消耗排行。

经验教程

776

收藏

13
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部