Здравейте, имам нужда от насоки и идеи .. както и от малко помощ.
намерих си един скрипт за контрол на трафика,
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