[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

iptables + squid transparente + liberar https e msn com vídeo/áudio



Pessoal,

Estou configurando uma rede local (192.168.1.0/24) em eth1 com IP
público dinâmico em eth0. Todos os serviços (dhcp3-server 3.0.4-13,
bind9 1:9.3.4-2e e squid 2.6.5-6etc) estão rodando na mesma máquina
com Debian 2.6.24-etchnhalf.1-686.

O dhcp e o bind (domínio interno simples e cache com forward) parecem
estar ok. O Squid transparente funciona para http, mas https e msn só
funcionam se for informado ip:porta do proxy no navegador do cliente.
Mesmo assim conversas com webcam/áudio no msn do cliente não funcionam
(não há problema com os dispositivos). A transferência de arquivos
ocorre normalmente. Criei um script para erguer as regras do iptables
que é carregado pelo /etc/rc.local. Pelo que andei pesquisando,
preciso redirecionar https e msn para não passarem pelo proxy. Acho
que o problema está nas minhas regras do iptables (não estou sabendo
redirecionar corretamente).

Pesquisei bastante mas não consigo uma solução.

O que preciso:
- Fazer com que ip:porta do proxy não precisem ser informados no
navegador do cliente nem para https e msn.
- Fazer com que conversa de áudio/vídeo do msn do cliente funcione, de
preferência sem informar ip:porta do proxy.
- Resumindo: que toda configuração seja feita apenas no servidor.


Minhas configs:


Script para regras do iptables:
#!/bin/bash
# Carrega módulos
modprobe iptable_nat
# Limpa regras
iptables -F
iptables -t nat -F
## SNAT
# Mascaramento
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# IP forwardubg
echo 1 > /proc/sys/net/ipv4/ip_forward
## DNAT
# Redireciona para proxy transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT
--to-port 3128
## PORTAS
# 80 http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 443 https
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
# 953 rndc-bind
iptables -A INPUT -p tcp --dport 953 --syn -s 127.0.0.1 -j ACCEPT
# 1863 MSN
iptables -A INPUT -p tcp --dport 1863 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT
## ABRE PARA A REDE LOCAL
iptables -A INPUT -p tcp --syn -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A OUTPUT -p tcp --syn -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s 192.168.1.0/255.255.255.0 -j ACCEPT
## FECHA O RESTO
iptables -A INPUT -p tcp --syn -j DROP


/etc/squid/squid.conf:
## GLOBAL
# Porta e tipo
http_port 3128 transparent
# Cache no disco
cache_dir ufs /var/spool/squid 1000 16 256
# Cache na memória RAM
cache_mem 80 MB
# Usuário
cache_effective_user proxy
# Grupo
cache_effective_group proxy
# E-mail
cache_mgr squid_adm@servidor.rede
# Nome do host
visible_hostname servidor
# Servidor DNS
dns_nameservers 192.168.1.1
# Língua de erros
error_directory /usr/share/squid/errors/Portuguese
# Log de acessos
access_log /var/log/squid/access.log
## ACLs
acl INTRANET src 192.168.1.0/255.255.255.0
http_access allow INTRANET
acl all src 0.0.0.0/0.0.0.0
http_access deny all



Alguém ajuda?

Grato desde já,
Matheus Aguiar


Reply to: