Здравейте, имам нужда от насоки и идеи .. както и от малко помощ.
намерих си един скрипт за контрол на трафика,
GeSHi (Bash):
#!/bin/bash
PROG="/sbin/iptables"
CLASS="/sbin/tc class add dev eth1 parent"
MANGLE="/sbin/iptables -t mangle -A POSTROUTING"
FILTER_DST="/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst"
FILTER_SRC="/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src"
function CLASSDEF {
/sbin/tc class add dev eth1 parent $1 classid $2 htb rate $3 ceil $4 quantum 1500
}
function DST {
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $1 flowid $2
}
function SRC {
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $1 flowid $2
}
function SRCDST {
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $2 flowid 1:$1
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $2 flowid 1:$1
}
function CLIENT {
/sbin/tc class add dev eth1 parent 1:$1 classid 1:$2 htb rate $3 ceil $4 quantum 1500
/sbin/tc qdisc add dev eth1 parent 1:$2 sfq perturb 10
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src $5 flowid 1:$2
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst $5 flowid 1:$2
}
$PROG -t mangle -F
/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1: htb default 99
CLASSDEF 1: 1:1 512kbps 512kbps
#CLIENT 1 1001 512kbps 640kbps 192.168.0.1/32 # gw
CLIENT 1 1002 512kbps 640kbps 192.168.0.2/32 # user2
CLIENT 1 1003 512kbps 640kbps 192.168.0.3/32 # user3
CLIENT 1 1004 512kbps 640kbps 192.168.0.4/32 # user4
CLIENT 1 1005 512kbps 640kbps 192.168.0.5/32 # user5
CLIENT 1 1006 512kbps 640kbps 192.168.0.6/32 # user6
CLIENT 1 1007 512kbps 640kbps 192.168.0.7/32 # user7
CLIENT 1 1008 512kbps 640kbps 192.168.0.8/32 # user8
CLIENT 1 1009 512kbps 640kbps 192.168.0.9/32 # user9
CLIENT 1 1010 512kbps 640kbps 192.168.0.10/32 # user10
$MANGLE -d 192.168.0.0/24 -j eth1
$MANGLE -s 192.168.0.0/24 -j eth1
работи си скрипта, но при стартиране ми изкарва следната грешка ...но както казах дори и с грешка работи!
root@gw:~# ./tc.sh
RTNETLINK answers: No such file or directory
iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.10: Couldn't load target `eth1':/lib/xtables/libipt_eth1.so: cannot open shared object file: No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
root@gw:~#
----------------------------------------------------------------------------
Немога да разбера кое не е наред за да изкарва грешката и да работи ?
Друго което искам да попитам е, възможно ли е посредством скрипта да ограничавам интернет, но връзката ми с gw-то да се запазва локално бърза, тоест да достигам голями скорости с 192.168.0.1 и да няма ограничение. Какво трябва да направя за да задам ограничение на upload-а различен от download-а ?
П.С :
OS Ubuntu 11.04 server
eth0 - external ip
eth1 - internal ip
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward