g00dwin
Маглыg00dwin's Achievements
Пролетал Мимо (1/9)
0
Репутація
-
P.S. Не только отрубать но и не давать докачивать файлы если клиент уполз в минуса)))
-
ВСЕМ СПАСИБО! У меня все заработало и при нулевом балансе начало отрубать клиентов! вот решение проблемы (на моем серваке): Server (Squid + Stargazer 2.401.9.7) OS Linux (две сетевухи) внутренний адрес 192.168.15.251 внешний адрес (инет) 80.80.80.2 Client 192.168.15.5 - Client (Windows NT) 192.168.15.243 - Client (Windows NT) ............. и т.д OnConnect #!/bin/bash # Login user=$1 ip=$2 cash=$3 eth=eth1 eth_local=eth0 mir=80.80.80.2 iptables -t filter -A INPUT -s $ip -j ACCEPT > /dev/null iptables -t filter -A FORWARD -s $ip -j ACCEPT > /dev/null iptables -t filter -A FORWARD -d $ip -j ACCEPT > /dev/null iptables -t filter -A OUTPUT -d $ip -j ACCEPT > /dev/null iptables -D FORWARD -i $eth_local -s $ip -j DROP > /dev/null while [ $? -eq 0 ] do iptables -D FORWARD -i $eth_local -s $ip -j DROP > /dev/null done iptables -D FORWARD -o $eth_local -d $ip -j DROP > /dev/null while [ $? -eq 0 ] do iptables -D FORWARD -o $eth_local -d $ip -j DROP > /dev/null done iptables -t nat -A POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null iptables -A INPUT -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT iptables -A OUTPUT -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT iptables -A FORWARD -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT iptables -D INPUT -s $ip -p tcp -m multiport --dport 3128 -j DROP iptables -D OUTPUT -s $ip -p tcp -m multiport --dport 3128 -j DROP iptables -D FORWARD -s $ip -p tcp -m multiport --dport 3128 -j DROP echo $2 >> /var/stargazer/squid/squid /usr/sbin/squid -k reconfigure OnDisconnect #!/bin/bash user=$1 ip=$2 eth=eth1 eth_local=eth0 mir=80.80.80.2 iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null done iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null done iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null done iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null done iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null done #iptables -P INPUT DROP #iptables -P FORWARD DROP #iptables -P OUTPUT DROP iptables -I FORWARD -i $eth_local -s $ip -j DROP > /dev/null iptables -I FORWARD -o $eth_local -d $ip -j DROP > /dev/null iptables -A INPUT -s $ip -p tcp -m multiport --dport 3128 -j DROP iptables -A OUTPUT -s $ip -p tcp -m multiport --dport 3128 -j DROP iptables -A FORWARD -s $ip -p tcp -m multiport --dport 3128 -j DROP iptables -D INPUT -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT iptables -D OUTPUT -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT iptables -D FORWARD -s $ip -p tcp -m multiport --dport 3128 -j ACCEPT echo $2 >> /var/stargazer/squid/squid_d /etc/stargazer/disconnect /usr/sbin/squid -k reconfigure Политика iptables по умолчанию $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT Если будут вопросы обращайтесь)).
-
iptables -n -L : Где 192.168.15.243 - ip адрес клиента Случай когда у клиента есь на счете деньги: Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.15.243 0.0.0.0/0 Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.15.243 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 192.168.15.243 Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 192.168.15.243 Случай когда у клиента кончились деньги на счете: Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination DROP all -- 0.0.0.0/0 192.168.15.243 DROP all -- 192.168.15.243 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source destination Вот так. Вроде так то все правильно на мой вгляд. А докачивать все равно дает.
-
Прокси не прозрачный. Каким образом закрыть этот порт? (я мало че понимаю в правилах iptables). Может подскажите?
-
OnDisconnect #!/bin/bash user=$1 ip=$2 eth=eth1 eth_local=eth0 mir=80.80.80.2 iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null done iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null done iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null done iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null done iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null done iptables -I FORWARD -i $eth_local -s $ip -j DROP > /dev/null iptables -I FORWARD -o $eth_local -d $ip -j DROP > /dev/null echo $2 >> /var/stargazer/squid/squid_d /etc/stargazer/disconnect /usr/sbin/squid -k reconfigure Файл squid_d служит для выполнения скрипта disconnect, который удаляет из файла /var/stargazer/squid/squid ip адрес пользователя, у которого баланс в минуса ушел. после этого squid запрещает доступ в инет... но докачать файл все равно дает вне зависимости от его размера. Как с этим бороться??? :-/
-
ОС Linux Mandrake Связка Squid 2.5.STABLE 6 + Stargazer 2.401.9.7 все хорошо считает ... но есь проблемка: Например у пользователя на счету осталось 2 метра, а он вздумал качать фильмец 700 метровый..... Как обрубить коннект при балансе = 0 и не дать докачать файл???
