Мне очень нужно экономить трафик, так как стоит дорого (100$ за 5 GB). Поэтому пришла мысль попробывать часть используемого трафика пропускать через SQUID и как можно больше там его кешировать. Основное ограничение трафика уже настроено средствами IPTABLES и модуля QUOTA, при достижении лимита трафика, включается политика DROP и пакеты отбрасываются. Сеть такая: Инет идёт через 3G Router(192.168.1.1)- это wlan0, на нём запущен DHCP и DNS сервер. На целевой машине, т.е. этой, которая будет являтся роутером и ограничителем трафика, wlan0 имеет адресс 192.168.1.110(прописан статически, dns/gw 192.168.1.1). Второй интерфейс, это wlan1, который Инет не имеет(беспроводной, но это не столь важно), вот к нему, подсоединено несколько компьютеров, которым нужно ограничить трафик. Адресс wlan1 целевой машины(роутера)- 172.16.1.110 (dns и шлюз не прописаны). Далее, в качестве свитча в wlan1, выступает беспроводной роутер, который уже разветляет сеть и к которому подключены машины, которым надо ограничить Инет: 172.16.0.101 172.16.0.102 172.16.0.103..... ит.д. Code: #!/bin/bash #wlan0 has internet and wlan1 not #wlan0 192.168.1.0 #wlan1 172.16.0.0 iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -t nat -F POSTROUTING iptables -t nat -F PREROUTING iptables -t nat -F OUTPUT iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # allow local loopback connections iptables -A INPUT -i lo -j ACCEPT # drop INVALID connections iptables -A INPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP # allow all established and related iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #allow pings iptables -A INPUT -p icmp -j ACCEPT #iptables -A FORWARD -p icmp -j ACCEPT #QUOTA for iPs in wlan1 iptables -A FORWARD -s 172.16.1.101 -m quota --quota 3146000 -j ACCEPT iptables -A FORWARD -d 172.16.1.101 -m quota --quota 13636000 -j ACCEPT iptables -A FORWARD -s 172.16.1.102 -m quota --quota 3146000 -j ACCEPT iptables -A FORWARD -d 172.16.1.102 -m quota --quota 13636000 -j ACCEPT iptables -A FORWARD -s 172.16.1.103 -m quota --quota 3146000 -j ACCEPT iptables -A FORWARD -d 172.16.1.103 -m quota --quota 13636000 -j ACCEPT iptables -A FORWARD -s 172.16.1.104 -m quota --quota 3146000 -j ACCEPT iptables -A FORWARD -d 172.16.1.104 -m quota --quota 13636000 -j ACCEPT iptables -A FORWARD -s 172.16.1.105 -m quota --quota 3146000 -j ACCEPT iptables -A FORWARD -d 172.16.1.105 -m quota --quota 13636000 -j ACCEPT iptables -A FORWARD -s 172.16.1.113 -m quota --quota 104857600 -j ACCEPT iptables -A FORWARD -d 172.16.1.113 -m quota --quota 104857600 -j ACCEPT # log all other attempted out going connections iptables -A OUTPUT -o wlan0 -j LOG iptables -A FORWARD -j LOG # default is to DROP out-going connections # set up IP forwarding and nat iptables -t nat -A POSTROUTING -o wlan0 -j SNAT --to 192.168.1.110 Теперь нужно настроить IPTABLES так, чтобы он пускал трафик с сети 172.16.0.0 через SQUID, я так полагаю что есть смысл кешировать только вебстраницы, а трафик типо от skype и icq можно пускать напрямую. Да, и хотелось бы сделать это так, чтобы не пришлось вмешиваться в настройку компьютеров в сети 172.16.0.0 Вооьщем бился со SQUID, оказывается, трафик FORWARD не проходит в него: Мне нужно переделывать Квоты, думаю что через REDIRECT, но как ?