Liberar acesso por horas.....
Pessoal... sou administrador de provedor de internet... estamos querendo fazer um plano de horas e trafego por assinante.
1º Plano --> Madrugada - o usurio so pode usar a net das 00h as 06h
2º Plano --> Trafego - o usurio podera apenas consumir 100 mb de tranferencia por MES ... depois disso o acesso bloqueado ate o mes seguinte.....
Como eu posso fazer isso no iptables pessoal???? Quem poderia me ajudar nestas regras..... valew!!!!!
Re: Liberar acesso por horas.....
Amigo, eu uso na empresa, mas por outra maneira, pode ser que isso te ajude... eu uso o squid para liberar acesso por horario, e em relacao ao 100 MB por mes... isso eh para download? upload? navegacao??.... pq tambem dá para fazer pelo squid.
Re: Liberar acesso por horas.....
bom... os 100mb seria somente de down e navegaçao... Como eu faria essas regras no squid tbm???? valew!!!
Re: Liberar acesso por horas.....
bom, creio que vc estah com o squid funcionando blz, entao... cria as seguintes acl's..
acl madrugada time MTWHFAS 00:00-06:00
acl usuarios url_regex -r "/etc/squid/regras/usuarios.txt"
depois...
http_access deny madrugada usuarios
sendo que.... o MTWHFAS ... eh segunda, terca ..... soh q em ingles.... e o usuarios.txt tu vai colocar os ips ou usuarios (ou o tipo de controle que tu usa por assinante) que serao bloqueados.
bom, soh pra lembrar.... aqui eu uso em uma rede interna......
e sobre o tamanho.. vou ver aqui depois lhe repasso..
Re: Liberar acesso por horas.....
poxa eu tentei aqui... bloquei o ip 13.2.0.38 e nada.... passou do horarios e ele ainda tava conectado......
Re: Liberar acesso por horas.....
ai vai o meu squid
http_port 3128
visible_hostname serverctg
# Configuração do cache
cache_mem 20 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 3000 MB
minimum_object_size 0 KB
cache_swap_low 70
cache_swap_high 85
cache_dir ufs /var/spool/squid 2048 16 256
# Localização do log de acessos do Squid
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#Plano de Horas
#Plano Madrugada
acl madrugada time MTWHFAS 11:00-11:25
acl usuarios url_regex -r "/etc/squid/usuarios.txt"
# Filtros por palavras e por dominios
acl proibidos dstdom_regex "/etc/squid/proibidos"
http_access deny proibidos
#acl bloqueados dstdomain
http_access deny proibidos
# Autenticação dos usuários
#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
#acl autenticados proxy_auth REQUIRED
#http_access allow autenticados
# Libera para a rede local
acl redelocal src 13.0.0.0/24
acl redelocal1 src 13.1.0.0/24
acl redelocal2 src 13.2.0.0/24
acl redelocal3 src 13.3.0.0/24
http_access allow localhost
http_access allow redelocal
http_access allow redelocal1
http_access allow redelocal2
http_access allow redelocal3
# Bloqueia acessos externos
http_access deny all
# Proxy transparente
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_access deny madrugada usuarios
Re: Liberar acesso por horas.....
seguinte...
muda o http_access q tah na ultima linha para que fique embaixo do
http_access deny proibidos
e depois... dah um "squid -k reconfigure" para que possa ser feito as alteracoes
bom,,,, lah no usuarios.txt, vc coloca os ips q deseja bloquear.
e veja se vai funcionar.... se nao der... me avisa.... q eu vou configurar uma maquina aki soh pra descobrirmos onde tá o problema..
flw
Re: Liberar acesso por horas.....
rapaz.... tbm nao foi nao.... :(
Re: Liberar acesso por horas.....
bahhhh... foi mal.... viajei num detalhe....
agora sim:
acl madrugada time MTWHFAS 00:00-06:00
acl usuarios src "/etc/squid/regras/usuarios.txt"
depois
http_access deny !madrugada usuarios
ou seja...... voce vai bloquear todos os ips daquela lista, que tentarem acessar a internet da meia noite as 6
e... o esquema dos 100Mb, vou ver se achu aqui pra vc... senao... no proprio site... tem inumeras dicas, e apostilas sobre o squid!!! é soh estudar!!
heheeh
flw
Re: Liberar acesso por horas.....
hahahaa..... valew!!!!! eu ja tinah percebido esse erro ai,,,, e ja tinha acertado... mas mesmo assim ainda estou com outro problema.... pois o squido bloqueou o acesso a NAVEGAÇAO.... so que o MSN e os programas P2P continuavam rodando......... e o acesso so saia quando o cara fechava o navegador e abria denovo..... :(
tem como resolver isso tbm???? valew!
Re: Liberar acesso por horas.....
Não, pelo squid não....
Crie um script com iptables agendando o bloqueio/desbloqueio no cron...
t+
Re: Liberar acesso por horas.....
sim... mas ja pesquisei sobre isso,,,,, como eu faco entao para bloquear o msn por horas determinadas nao iptables???? qual seria a regra para horas????? valew!!!!
Re: Liberar acesso por horas.....
Opa
Você não entendeu, segue a lógica...
- Você cria 2 scripts utilizando o iptables, em um, você cria a regra de BLOQUEIO, no outro vc cria a regra de LIBERAÇÃO.
- Depois no crond, você agenda a execução das regras de BLOQUEIO/LIBERAÇÃO, conforme suas necessidades..
Sacou??? qualquer dúvida, poste ai...
Re: Liberar acesso por horas.....
quanto a bloqueio e desbloqueio eu entendir sim... mas como faco para liberar pore hora??? como seria isso??? valew!
Re: Liberar acesso por horas.....
Meu,
Se vai agendar o horário de bloqueio/desbloqueio no cron !!!!
Segue ai, de mão beijada.... um exemplo:
No crond....(agendamendo de tarefas)
## Bloqueia cliente ##
0 22 * * 0 root /etc/proserv/bloqueia.sh
0 21 * * 1 root /etc/proserv/bloqueia.sh
0 21 * * 2 root /etc/proserv/bloqueia.sh
0 21 * * 3 root /etc/proserv/bloqueia.sh
0 21 * * 4 root /etc/proserv/bloqueia.sh
0 21 * * 5 root /etc/proserv/bloqueia.sh
## Libera cliente ##
0 18 * * 1 root /etc/proserv/libera.sh
0 18 * * 2 root /etc/proserv/libera.sh
0 18 * * 3 root /etc/proserv/libera.sh
0 18 * * 4 root /etc/proserv/libera.sh
0 18 * * 5 root /etc/proserv/libera.sh
0 12 * * 6 root /etc/proserv/libera.sh
Arquivos de bloqueio e desbloqueio (no caso bloqeuia td e libera tudo)
# Arquivo de bloqueio
iptables -I FORWARD -s 192.168.1.64 -j DROP
iptables -I FORWARD -d 192.168.1.64 -j DROP
# Arquivo de liberação
iptables -D FORWARD -s 192.168.1.64 -j DROP
iptables -D FORWARD -d 192.168.1.64 -j DROP
-> Este exemplo, libera a internet para um determinado usuário, de segunda a sexta das 18:00 hs até as 21:00 hs, e no final de semana de sábado as 12:00 hs até domingo as 22:00hs.
Está aí, é só adaptar a sua necessidade...
t+
Re: Liberar acesso por horas.....
Citação:
Postado originalmente por ttjedi
quanto a bloqueio e desbloqueio eu entendir sim... mas como faco para liberar pore hora??? como seria isso??? valew!
Amigão, no firewall voce nao vai precisa definir horario de bloqueio e liberaçao, vc vai apenas criar os scripts de bloqueio e os scripts de liberaçao... quem vai definir o horário é o cron.
Por exemplo Vc quer q a internet acabe às 11 da manha, entao vc programa no cron que, às 11:00, rode o BLOQUEIA.SH.....
Sacou??
Re: Liberar acesso por horas.....
poo valew mesmo.... muito show!!! valew a ajuda!!