Autor Tópico: Iptables impedindo o apache2  (Lida 3478 vezes)

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Iptables impedindo o apache2
« Online: 04 de Junho de 2014, 15:48 »
Olá.

Recentemente eu mudei a configuração do Squid aqui na empresa para transparente.
Até aqui está tudo funcionando corretamente, fiz as configuração no iptables para redirecionar as portas 80 e 433 para a 3128.
Depois disso o apache parou de funcionar, com isso não estou visualizando os relatórios no Sarg.
Alguém saberia me informar se eu configurasse o apache para escutar na porta 8000 ou fise se alguma regra no iptables resolveria o meu problema?

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Iptables impedindo o apache2
« Resposta #1 Online: 05 de Junho de 2014, 00:50 »
Você observou que os acessos https estão todos caindo como certificado inválido, certo? É o resultado do redirecionamento, que não deveria estar sendo feito.

Sobre o problema com o apache, só dá pra avaliar vendo seu firewall completo. Poste aqui seu script.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: Iptables impedindo o apache2
« Resposta #2 Online: 05 de Junho de 2014, 07:55 »
Da parte do https eu resolvi sem problemas.
Agora do firewall segue o script abaixo:

Código: [Selecionar]
################################################################################
#################### Inicio Firewall #################################
################################################################################
/sbin/modprobe ip_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_queue
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_mac
/sbin/modprobe ipt_string
## Limpando as Regras existentes #######
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -t filter -F
/sbin/iptables -X
/sbin/iptables -Z

## Definindo politica padrão (nega entrada e permite saida)
/sbin/iptables -P INPUT  DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT

## Estabelece relação de confiança entre maquinas da rede local eth1(rede local)
/sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth1 --dport 8000 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth2 --dport 8000 -j ACCEPT

################################################################################
############################ Compartilhamento Internet #########################
################################################################################

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

##############################################################################
#############################Ip's de exeção do proxy##########################
##############################################################################

#RANGER DE IP
#iptables -t nat -A PREROUTING -i eth0 -m iprange --src-range xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx -m multiport -p tcp --dport 80,8080 -j ACCEPT
#iptables -A FORWARD -s xxx.xxx.xxx.xxx -p tcp --dport 80 -j ACCEPT

################################################################################
################################Proxy transparente##############################
################################################################################

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 443 -j REDIRECT --to-port 3128


################################################################################
######################################## Fim ###################################
################################################################################

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Iptables impedindo o apache2
« Resposta #3 Online: 05 de Junho de 2014, 15:34 »
Citar
Da parte do https eu resolvi sem problemas.

Não, você não resolve isso, pq não há solução --- e não é pra ter. Vc quer dizer que a situação é aceitável, não?

Citar
## Estabelece relação de confiança entre maquinas da rede local eth1(rede local)
/sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth1 --dport 8000 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth2 --dport 8000 -j ACCEPT

Veja só, a primeira regra ("-A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT") já aceita tudo que vem da rede local, supondo que todas as máquinas dessa rede usam endereço na faixa 192.168.0.0/24. Então todas as regras seguintes, relativas à interface eth1, são inúteis --- a primeira regra executada para um pacote é também a última.

Citar
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 443 -j REDIRECT --to-port 3128
A navegação usa apenas tcp. Idem para o Squid. Não há motivo para direcionar udp para a porta 3128, pq nem o navegador vai gerar nada nas portas 80/udp nem 443/udp, nem o squid vai estar escutando a porta 3128/udp, que é o destino do redirecionamento.

Vc está tendo dificuldades de acessar o apache na própria máquina, certo? Acho que falta esta regra no início do seu firewall:

iptables -A INPUT -i lo -j ACCEPT

Vc também vai notar que sua máquina vai ficar mais "esperta" quando fizer isso.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: Iptables impedindo o apache2
« Resposta #4 Online: 05 de Junho de 2014, 16:14 »
Valeu amigo.
Resolveu meu problema muito obrigado.

Att;

Alair Amaral