Ok, depois que vc tentar com a regra que te passei vc me fala.
Versão Imprimível
Ok, depois que vc tentar com a regra que te passei vc me fala.
kra, não sei o que acontece lá...é incrivel.
Coloquei aquela regra e nada. Mesmo sem a parte da caixa...não funciona como proxy transparente nem a pau. Limpei tudo antes com -F e -F -t nat. e nada. Tambei tentei colocando so a regra no bash, sem usar o script todo. e nada. a net para de funcionar nos clientes. Mas quando uso aquela regra com MASQUERADE eles funcionam. Isso ta me quebrando..mto obrigado pela mão. Do jeito que o firewall ta ai ele funciona, mas o conectividade não. Essa parte está no fim do arquivo...lá tem várias outras formas que eu ja tentei.
meu firewall:
iptables -F
iptables -F -t nat
iptables -F -t mangle
## Instalando modulos
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe iptable_filter
modprobe ip_conntrack
## Variáveis
IPTABLES=iptables
EXTIF="eth1"
INTIF="eth0"
## Política
/usr/sbin/iptables -P INPUT ACCEPT
/usr/sbin/iptables -F INPUT
/usr/sbin/iptables -P OUTPUT ACCEPT
/usr/sbin/iptables -F OUTPUT
/usr/sbin/iptables -P FORWARD ACCEPT
/usr/sbin/iptables -F FORWARD
/usr/sbin/iptables -t nat -F
# Melhora latência de ssh pra fora
#$IPTABLES -A PREROUTING -t mangle -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
# Não deixa smtp sair com prioridade pra não matar o link
#$IPTABLES -A PREROUTING -t mangle -p tcp --dport smtp -j TOS --set-tos Normal-Service
# Melhora Thoughput de http que sai
#$IPTABLES -A PREROUTING -t mangle -p tcp -s $EXTIF --sport 8081 -j TOS --set-tos Maximize-Throughput
## Libera a CAIXA!!! com revolta!
/usr/sbin/iptables -A INPUT -i $EXTIF -s 200.201.174.0/24 -d 0.0.0.0/0 -j ACCEPT
/usr/sbin/iptables -A INPUT -i $INTIF -s 200.201.174.0/24 -d 0.0.0.0/0 -j ACCEPT
## Localhost
/usr/sbin/iptables -A INPUT -i lo -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT
## Liberar portas
# 80 (Caixa)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 80 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 80 -j ACCEPT
# 443 (Padrão)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 443 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 443 -j ACCEPT
#2631 (Caixa)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 2631 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 2631 -j ACCEPT
#8017 (Receita)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 8017 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 8017 -j ACCEPT
#1080 (TED)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 1080 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p TCP --dport 1080 -j ACCEPT
#8081 (atual http)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 8081 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p TCP --dport 8081 -j ACCEPT
#1863(MSN)
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 8081 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p TCP --dport 8081 -j ACCEPT
#Forward da rede
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 8081 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 8081 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 8081 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 8081 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 2631 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 2631 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 2631 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 2631 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 8017 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 8017 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 8017 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 8017 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 1080 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 1080 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 1080 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 1080 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 1864 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 1864 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 1864 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 1864 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 80 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 80 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 80 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 80 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -d 192.168.0.0/24 -s 0/0 --sport 443 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp -d 192.168.0.0/24 -s 0/0 --sport 443 -j ACCEPT
## Saida SMTP
# Libera SMTP
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 25 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 25 -j ACCEPT
## Saida FTP
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
# ftp ativado
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
# ftp passivo
/usr/sbin/iptables -A INPUT -i $EXTIF -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o $EXTIF -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
## Nega 19720
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 19720 -j DROP
## Abre 19720 Local
/usr/sbin/iptables -A INPUT -i $INTIF -s 192.168.9.0/24 -p tcp --dport 19720 -j ACCEPT
## Nega 19720 Externo
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 19721 -j DROP
## Abre ssh
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 1972 -j ACCEPT
## Abre SMTP local
/usr/sbin/iptables -A INPUT -i $INTIF -p tcp --dport 25 -j ACCEPT
## Nega SMTP externo
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 25 -j DROP
## Libera chamada ao Proxy
/usr/sbin/iptables -A INPUT -i $INTIF -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT
#/usr/sbin/iptables -A INPUT -i $INTIF -s 0/0 -p tcp --dport 3128 -j ACCEPT
/usr/sbin/iptables -A INPUT -s 127.0.0.0/8 -p tcp --dport 3128 -j ACCEPT
# Nega exterior
#/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 3128 -j DROP
## Libera POP3 e IMAP interior
/usr/sbin/iptables -A INPUT -i $INTIF -s 192.168.0.0/24 -p tcp --dport 110 -j ACCEPT
/usr/sbin/iptables -A INPUT -i $INTIF -s 192.168.0.0/24 -p tcp --dport 143 -j ACCEPT
## MSN
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.0/24 -d loginnet.passport.com -j ACCEPT
## Nega POP3 e IMAP exterior
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 110 -j DROP
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 143 -j DROP
## Abre 8081 externo
/usr/sbin/iptables -A INPUT -i $EXTIF -s 0.0.0.0/0 -p tcp --dport 8081 -j ACCEPT
## FORWARD
# loga todo forward
#/usr/sbin/iptables -A FORWARD -j LOG
## Proxy transparente (meio porco)
#iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.9.11/32 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.9.16 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.9.54/32 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.9.0/24 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE
## Proxy transparente (CAIXA NOVAMENTE)
/usr/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 ! -d 200.201.174.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
#/usr/sbin/iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0 --dport 80 -j REDIRECT --to 3128
#/usr/sbin/iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to 3128
/usr/sbin/iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# Habilita forward
echo 1 > /proc/sys/net/ipv4/ip_forward
teu squid.conf tá com aquelas 4 linhas pra trabalhar em modo transparente ?
Olá Whinston,
sim,estão.
http_port 3128
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
quando eu dou o MASQUERADE ele fica transparente...
Mas com essa regra ($IPT -t nat -A PREROUTING -s $LAN -d ! 200.201.174.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128) não funfa.
mas não funciona "apenas" o conectividade né? o resto vai?
o meu tá igual o seu.. funciona tudo, exceto conectividade
tb to a procura da regra correta, atualmente tá assim:
$iptables -t nat -A PREROUTING -p tcp -i eth0 -s $lan -d ! $lan --dport 80 -j REDIRECT --to-port 8085
$iptables -t nat -A PREROUTING -p udp -i eth0 -s $lan -d ! $lan --dport 80 -j REDIRECT --to-port 8085
como eu tenho um apache rodando, eu falo que eu quero mandar tudo que vier na 80 para a 8085 (proxy transparente), exceto o que for com destino a própria a LAN, ou seja, o webserver.
como eu já uso a regra com ! na linha, não sei se posso colocar mais alguma para desviar o tráfego com destino ao conectividade, pra passar por fora