iptables 限制流量

假鼓wn

假鼓wn

2016-01-29 18:10

iptables 限制流量,iptables 限制流量
首先我們先新增兩條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只有簡單的針對單一範圍作設限
展开更多 50%)
分享

猜你喜欢

iptables 限制流量

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables 限制流量

Iptables来限制上QQ

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Iptables来限制上QQ

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

iptables & wrap

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables & wrap

Linux系统服务器站点流量限制的方案

电脑入门
Linux系统服务器站点流量限制的方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

iptables 的配置问题?

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables 的配置问题?

Linux下IpTables的配置

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux下IpTables的配置

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《上古卷轴5 天际》极限炼金附魔与锻造心得攻略

《上古卷轴5 天际》极限炼金附魔与锻造心得攻略

提升XP系统运行速度九则技巧

提升XP系统运行速度九则技巧
下拉加载更多内容 ↓