infodok
(usa Ubuntu)
Enviado em 02/02/2017 - 03:34h
Bom dia irmãos!
Tenho um tempo de informática, mas de linux muito pouco. Porem, apenas acompanhando o fórum consegui montar um servidor Ubuntu com Internet comparilhada+dhcp+proxy+firewall
Está tudo funcionando até o momento muito bem, porem preciso de alguns ajustes no proxy:
Já tenho:
Bloqueios por Url-downloads-palavras
Bloqueio Horario
Controle de banda*
Tenho o iptable compartilhando a internet e com regras para que nenhum usuario da rede interna possa navegar fora do proxy. Ai está o problema, preciso de uma regra no iptables para passar alguns IPS por fora do proxy, podendo assim tirar do navegador a marcação para usar proxy.
Provavelmente nos computadores da diretoria, etc.
Segue meu firewall:
#!/bin/bash
iniciar(){
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
}
parar(){
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "use os parametros start ou stop"
esac
# Bloquear uso de internet fora do proxi
iptables -A FORWARD -p tcp --dport 80 -j DROP
iptables -A FORWARD -p tcp --dport 443 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
Preciso de ajustes também no controle de banda, para acontecer por IPS ou MACS, segue meu squid.conf
http_port 3128
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 10000 16 256
maximum_object_size 30000 KB
maximum_object_size_in_memory 40 KB
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log
#pid_filename /var/log/squid3/squid3.pid
mime_table /usr/share/squid3/mime.conf
cache_mgr terere@terere.net.br
memory_pools off
diskd_program /usr/lib/squid3/diskd
unlinkd_program /usr/lib/squid3/unlinkd
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl localnet src 172.16.0.0/12 # RFC 1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 CONNECT method CONNECT
# bloqueio url e downloads
acl extensao_bloqueada url_regex -i "/etc/squid3/downloads.txt"
acl urlbloqueada url_regex -i "/etc/squid3/urlbloqueada.txt"
acl palavras_bloqueadas url_regex -i "/etc/squid3/palavrabloqueada.txt"
http_access deny urlbloqueada
http_access deny extensao_bloqueada
http_access deny palavras_bloqueadas
# bloqueio por horario
#acl redealunos src 172.16.1.0/24
#acl semanal_free time M T W H F 08:00-22:00
#acl semanal_bloq1 time M T W H F 22:01-23:59
#acl semanal_bloq2 time M T W H F 00:00-07:59
#acl sabado_free time A 08:00-16:00
#acl sabado_bloq time A 16:01-23:59
#acl domingo_bloq time S 00:00-23:59
#http_access allow redealunos semanal_free
#http_access deny redealunos semanal_bloq1
#http_access deny redealunos semanal_bloq2
#http_access allow redealunos sabado_free
#http_access deny redealunos sabado_bloq
#http_access deny redealunos domingo_bloq
# Banda baixa
acl bandabaixa src 172.16.1.0/24
# Delay Pools
delay_pools 1
delay_class 1 2
delay_access 1 allow bandabaixa
delay_parameters 1 2097152/2097152 153600/153600
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
Desde já, agradeço a ajuda.