Problemas com liberação de squid no iptables [RESOLVIDO]

1. Problemas com liberação de squid no iptables [RESOLVIDO]

Igor
helga

(usa Slackware)

Enviado em 28/12/2009 - 19:04h

Olá, estou usando squid 2.7 que funciona normalmente, porem sem segurança...

Eu criei um rc.firewall com start|stop|restart e |squid.

-O "Start" vem com varios requisitos de segurança que funcionam normalmente sem as linhas do squid "com as linhas do squid ele bloqueia a conexão com internet..."

-O "Squid" não tem drop de nada só compartilha internet e redireciona porta 80 para 3128... funciona muito bem, barra palavras, sites e tudo que o squid proporciona.

-o "Stop e restart" é simples

Como permitir que o squid trabalhe no "start"? ou melhor o que eu errei?

Grato...

################################################################
Arquivo rc.firewall:
#!/bin/sh
# Start/stop/restart/squid the secure shell server:


firewall_start(){
echo "Iniciando rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#acrescentando excessoes
#0 - Squid - Proxy
#tentei acrescentar esta linha mas não adiantou
iptables -A INPUT -p TCP --dport 3128 -j ACCEPT

iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p TCP --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p UDP --dport 80 -j REDIRECT --to-port 3128

#1 - FPT(:21)
#o FTP não funcionou com essas linhas
iptables -A INPUT -p TCP --dport 21 -j ACCEPT
iptables -A INPUT -p UDP --dport 21 -j ACCEPT

#1.1 - ssh(:22)
iptables -A INPUT -p TCP --dport 22 -j ACCEPT

#2 - apache (:80)
iptables -A INPUT -p TCP --dport 80 -j ACCEPT

#3 - cups (:631)
iptables -A INPUT -p TCP --dport 631 -j ACCEPT
#3.1 - Samba
iptables -A INPUT -p TCP --dport 137 -j ACCEPT
iptables -A INPUT -p UDP --dport 137 -j ACCEPT
iptables -A INPUT -p TCP --dport 138 -j ACCEPT
iptables -A INPUT -p UDP --dport 138 -j ACCEPT
iptables -A INPUT -p TCP --dport 139 -j ACCEPT
iptables -A INPUT -p UDP --dport 139 -j ACCEPT
iptables -A INPUT -p TCP --dport 445 -j ACCEPT
iptables -A INPUT -p UDP --dport 445 -j ACCEPT

#4 - liberando conexões relacionadas (já estabelecidas)
#iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_stop(){
echo "Parando rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_squid(){
echo "Squid!! rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#0 - Squid - Proxy
iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p TCP --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p UDP --dport 80 -j REDIRECT --to-port 3128

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_restart(){
echo "rc.firewall -> Reiniciando..."
firewall_stop
sleep 3
firewall_start
echo "rc.firewall -> Iniciado..."
}


case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;

'squid')
firewall_squid
;;

'restart')
firewall_restart
;;
*)
echo "usage $0 start|stop|restart|squid"
esac
###############################################################



  


2. MELHOR RESPOSTA

Jefferson Diego
Diede

(usa Debian)

Enviado em 29/12/2009 - 18:08h

Como seu FTP não funciona, adicione o conntrack específico:
modprobe nf_nat_ftp
modprobe nf_conntrack_ftp

Para o resto, adicione:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

3. Re: Problemas com liberação de squid no iptables [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 28/12/2009 - 20:28h

Kra, faltou a linha do masquerade. Acrescente-a, ficando assim seu script:

################################################################
Arquivo rc.firewall:
#!/bin/sh
# Start/stop/restart/squid the secure shell server:


firewall_start(){
echo "Iniciando rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#acrescentando excessoes
#0 - Squid - Proxy
iptables -A INPUT -p TCP --dport 3128 -j ACCEPT

iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p TCP --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p UDP --dport 80 -j REDIRECT --to-port 3128

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE

#1 - FPT(:21)
#o FTP não funcionou com essas linhas
iptables -A INPUT -p TCP --dport 21 -j ACCEPT
iptables -A INPUT -p UDP --dport 21 -j ACCEPT

#1.1 - ssh(:22)
iptables -A INPUT -p TCP --dport 22 -j ACCEPT

#2 - apache (:80)
iptables -A INPUT -p TCP --dport 80 -j ACCEPT

#3 - cups (:631)
iptables -A INPUT -p TCP --dport 631 -j ACCEPT
#3.1 - Samba
iptables -A INPUT -p TCP --dport 137 -j ACCEPT
iptables -A INPUT -p UDP --dport 137 -j ACCEPT
iptables -A INPUT -p TCP --dport 138 -j ACCEPT
iptables -A INPUT -p UDP --dport 138 -j ACCEPT
iptables -A INPUT -p TCP --dport 139 -j ACCEPT
iptables -A INPUT -p UDP --dport 139 -j ACCEPT
iptables -A INPUT -p TCP --dport 445 -j ACCEPT
iptables -A INPUT -p UDP --dport 445 -j ACCEPT

#4 - liberando conexões relacionadas (já estabelecidas)
#iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_stop(){
echo "Parando rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_squid(){
echo "Squid!! rc.firewall..."
#--------------limpa regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#defindo a política do firewall
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#0 - Squid - Proxy
iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p TCP --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.33.0/255.255.255.0 -p UDP --dport 80 -j REDIRECT --to-port 3128

# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
}

firewall_restart(){
echo "rc.firewall -> Reiniciando..."
firewall_stop
sleep 3
firewall_start
echo "rc.firewall -> Iniciado..."
}


case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;

'squid')
firewall_squid
;;

'restart')
firewall_restart
;;
*)
echo "usage $0 start|stop|restart|squid"
esac
###############################################################


4. Re: Problemas com liberação de squid no iptables [RESOLVIDO]

Igor
helga

(usa Slackware)

Enviado em 29/12/2009 - 17:25h

Ola , grato mas o "start" já contem :
# compartilhando internet
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eth0 -j MASQUERADE
no fim...
ainda não funciona.
Grato


5. Re: Problemas com liberação de squid no iptables [RESOLVIDO]

Fernando Cesar Vaini
vaini

(usa Debian)

Enviado em 29/12/2009 - 19:04h

Tenta incluir esta linha:

echo 1 > /proc/sys/net/ipv4/ip_forward

depois posta ai o resultado...


6. Re: Problemas com liberação de squid no iptables [RESOLVIDO]

Igor
helga

(usa Slackware)

Enviado em 04/01/2010 - 18:57h

Olá, vaini grato pela sugestão, mas esta opção foi ativada na instalação do Slackware,,,,
Caro Diede suas indicações colocaram em pleno funcionamento o servidor “Parabéns”, Grato pelo auxilio.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts