stefaniobrunhara
(usa CentOS)
Enviado em 30/01/2014 - 23:34h
Uma rede mais segura não deve usar proxy transparente, o proxy transparente não contempla a porta 443, o squid mais novo ja esta fazendo proxy com suporte a porta 443, mais o certificado ssl ainda é uma problema, então proxy somente na porta 80 "http" vai obrigar você a liberar a porta 443, que é o acesso https, com isto software como utrasurf furam seu firewall.
A sugestão do asparion, de usar o wpad é uma opção boa, mas se sua rede for pequena melhor configurar na mão mesmo o proxy.
Vamos ao seu problema, talvez por questão didatica você queira ver o proxy transparente funcionando. então vai ai a explicação.
Para o proxy transparente funcionar você precisa do iptables, o chain que permiti isto é o prerouting.
O mini firewall abaixo, tem seguinte caracteristica, força todas as estaçoes passarem pelo proxy, com a regra abaixo
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-ports 3128
Da nat completo para a estação 192.168.0.1, com a regra abaixo.
iptables -A FORWARD -s 192.168.0.1 -d 0/0 -j ACCEPT
Libera as porta de serviço de internet para o restante da rede, com a regra abaixo.
#Libera varias portas
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,465,587 -j ACCEPT
#Libera uma porta somente
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT
Exemplo de uma firewall simples.
vim /etc/init.d/firewall.sh
#!/bin/bash
## Limpas todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP <--- nega tudo que for reeenvio
## Prepara o kernek para o roteamento e compatinamento da internet
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
## Carregar módulos básico para o compatinhamento da internet.
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
### regra que permit o proxy transparente
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-ports 3128
## Libera estação 192.168.0.1 geral
iptables -A FORWARD -s 192.168.0.1 -d 0/0 -j ACCEPT
## Liberar porta para rede
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,465,587 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT
## Regra padrão da tabela filter
iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -d 0/0 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,443,465,587 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -o eth+ -j MASQUERADE
:x
# Dar permissão de executação
chmod +x /etc/init.d/firewall.sh
# Executa o firewall
/etc/init.d/firewall.sh