problema IPTABLES + SQUID + UBUNTU

1. problema IPTABLES + SQUID + UBUNTU

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 30/07/2007 - 08:23h

ae pessoal, nao sou muito expert qndo o assunto é linux, mas resolvi encarar essa batalha, aqui na minha empresa precisamos substituir o servidor, então abraceei a causa.. ehehhehe
bom, neste servidor roda o samba, o squid, sarg, bind.... mas.. quem diz que as maquinas clientes recebem email? já tentei um monte de coisa.. varios tutoriais.. to enroscado.. creio que o problema seja o iptables.. mas eu nao consigo resolver..
eth0 - ip fixo telefonica
eth1 - 192.168.10.1 - LAN

samba (logando por grupos de acesso) - ok
dns interno - conf. pelo webmin setado nas placas dos clientes - OK
squid - bloqueando url, palavras, liberando ip da diretoria - OK

rececber email no outlook - NADA, ZERO PIFADO ehhehe

já testei varios tutoriais dos amigos aqui do VOL.. complicado nao consigo sair disso.. e assim meu servidor nao pode substituir o outro....

sem contar que o servidor ficou um pouco lerdo para abrir as aplicações depois que eu fiquei mexendo no iptables....

[SCRIPT]

echo " LIMPANDO AS REGRAS DO IPTABLES -------- OK"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

#================================================

echo " DEFININDO POLITICA DE REGRAS DO IPTABLES -------------- OK"

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#=========================================================================================
echo " LIBERANDO ACESSO AO SERVIDOR -------------------------- OK"

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 0/0 -p udp -m multiport --sport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 22,25,80,110,443 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp -m multiport --dport 22,25,80,110,443 -j ACCEPT

#=========================================================================================
echo " LIBERANDO ACESSO A REDE LOCAL ------------------------- OK"

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 80,22,25,110,137,138,139,443,445,3128 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -m multiport --sport 80,22,25,110,137,138,139,443,445,3128 -j ACCEPT
iptables -A INPUT -i eth1 -p udp -m multiport --dport 137,138,139,445,3128 -j ACCEPT
iptables -A INPUT -i eth1 -p udp -m multiport --sport 137,138,139,445,3128 -j ACCEPT

iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 80,22,25,110,443 -j ACCEPT
iptables -A FORWARD -s 0/0 -p tcp -m multiport --sport 80,22,25,110,443 -j ACCEPT
iptables -A FORWARD -s 0/0 -p udp -m multiport --sport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp -m multiport --dport 53 -j ACCEPT

#=========================================================================================

echo " LIBERAÇÃO DOS SOCKETES -------------------------------- OK"
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#=========================================================================================

echo " COMPARTILHAMENTO DA INTERNET, MASCARAMENTO ------------ OK"

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#=========================================================================================

echo " PERMITINDO REDIRECIONAMENTO DE PACOTES ---------------- OK"

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

#=========================================================================================

[/SCRIPT]


desculpa por nao ter citado o nome do autor, mas é daqui do VOL....
não sei mais o que fazer...

obrigado pela atenção..


Marcos






  


2. Re: problema IPTABLES + SQUID + UBUNTU

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 30/07/2007 - 08:29h

bom deixa eu explicar melhor o que tm nesse servidor..
o samba ta blz, loga, faz a divisao por grupos...
[arquivos]
comment = Servidor de Arquivos
path = /arquivos/%g
browseable = yes
writable = yes
read only = no
guest ok = no
public = yes

o squid... tranquilo tbem.. com todas as acls funcionando tals.. bloqueando url, por palavras.. tals...

o dns configurei atraves do webmin.. usando o bind.. creio q estaja funcionando tbem.. pq atraves do dig -x sai a rota..

dig -x 192.168.10.10
; <<>> DiG 9.3.4 <<>> -x 192.168.10.10
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45988
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;10.10.168.192.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
168.192.in-addr.arpa. 31302 IN SOA prisoner.iana.org. hostmaster.root-servers.org. 2002040800 1800 900 604800 604800
;; Query time: 30 msec
;; SERVER: 200.111.0.11#53(200.111.0.11)
;; WHEN: Thu Jul 26 13:18:00 2007
;; MSG SIZE rcvd: 121

mas eu na consigo fazer com que as estações recebam email pelo outlook...
incrivel... ja mexi e remexi umsa 500 regras do iptables... e nada
no nmap -A -T4 192.168.10.1 que o amigo rodrigo.capelini passou.. saiu dessa forma...
Starting Nmap 4.20 ( http://insecure.org ) at 2007-07-26 12:46 BRT
Interesting ports on 192.168.10.1:
Not shown: 1691 closed ports
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: EMPRESA)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: EMPRESA)
3128/tcp open squid-http?
10000/tcp open http Webmin httpd

posso fazer qualquer alteração no iptables.. q nada... nao vai..

detalhe que eu tambem nao consigo da um ping pelo prompt das estações....

se alguem poder me ajudar.. fico muito agradecido..

mas por enquanto nada...
Marcos


3. Eu comecaria

Anderson dos Santos Donda
DondaJr

(usa Debian)

Enviado em 30/07/2007 - 09:03h

Viu amigo.. pelo q diz a web navega normal né.. então eu faria o seguinte.

Tiraria a regra de policiamento do FORWARD, e adicionaria o seguinte paramentro na regra de MASQUERADE


echo " COMPARTILHAMENTO DA INTERNET, MASCARAMENTO ------------ OK"

iptables -t nat -A POSTROUTING -s 192.0.0.0/8 -o eth0 -j MASQUERADE

pra dizer pro masquerade de que rede deve ser feito o SNAT.

Lembrando que 192.0.0.0/8 éum exemplo.. ajuste na sua rede ai...




4. udp ...

Juno Kim
juno

(usa Linux Mint)

Enviado em 30/07/2007 - 12:50h

#=========================================================================================
echo " LIBERANDO ACESSO AO SERVIDOR -------------------------- OK"

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 0/0 -p udp -m multiport --sport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 22,25,80,110,443 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp -m multiport --dport 22,25,80,110,443 -j ACCEPT

#=========================================================================================

Cara na sua regra (acima) faz um teste liberando as portas para conexão udp também ...

Espero ter lhe ajudado!


5. ainda nada...

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 30/07/2007 - 13:37h

amigos, já fiz essas duas alterações... mas infelismente ate agora ainda nao consegui...
só me falta isso para que o servidor entar no ar...

uma coisa que eu perceb.. é que nas estações windows atravé do prompt não consigo fazer o ping.. será que teria algo a ver??
alguma coisa de dns.. ou será o iptables mesmo???
como que eu faço para saber as portas que estão abertas?? nmap ele nao mostra...q esta aberta

obrigado..

Marcos..




6. portas abertas no servidor ...

Juno Kim
juno

(usa Linux Mint)

Enviado em 30/07/2007 - 13:47h

Cara,
Para saber as portas abertas no server usa o seguinte comando:

netstat -al



7. opa !!!

Juno Kim
juno

(usa Linux Mint)

Enviado em 30/07/2007 - 13:50h

Cara
Cadê a regra de proxy transparente da sua rede ?

Manda o script completo do iptables e do squid.

Aí podemos lhe auxiliar melhor ;)


8. os conf....

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 30/07/2007 - 15:22h

ae amigos.. se poderem me ajudar os confs são o seguinte:

squid.conf
#=======================================
http_port 3128
cache_mem 64 MB
cache_dir ufs /squid/var/spool/squid 5000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
error_directory /squid/Portugues
emulate_httpd_log on
visible_hostname servidor.empresa
cache_mgr marcos@empresa.br

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
#
# Proxy Transparente
#*******************
#
#httpd_accel_host virtual
#httpd_accel_port 80
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
#
# acl - Recomendadas
#*******************
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#
# acl - Personalizadas
#*********************
#
# *** Define portas liberadas
acl Safe_ports port 3050 # Interbase/Firebird
acl Safe_ports port 23000 # Serpro
acl Safe_ports port 13352 # SIRF
acl Safe_ports port 500 # FAP Digital
acl Safe_ports port 110
acl Safe_ports port 25
#
# *** Define a rede interna (Intranet)
acl intranet src 192.168.10.0/255.255.255.0
#

# LISTA DE SITES BLOQUEADOS
acl Site_Bloqueado url_regex "/etc/squid/bloqueio/sites.txt"
http_access deny Site_Bloqueado

# LISTA DE PALAVRAS BLOQUEADAS
acl Palavra_Bloqueada url_regex "/etc/squid/bloqueio/palavras.txt"
http_access deny Palavra_Bloqueada

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow all
http_access allow intranet
#=======================================


agora as minhas regras de firwall,

firewall.sh
#=======================================
echo " LIMPANDO AS REGRAS DO IPTABLES ----------- OK" &&
iptables -F INPUT &&
iptables -F OUTPUT &&
iptables -F FORWARD &&
echo " DEFININDO POLITICA DE REGRAS DO IPTABLES----- OK" &&
iptables -P INPUT DROP &&
iptables -P FORWARD ACCEPT &&
iptables -P OUTPUT ACCEPT &&
echo " LIBERANDO ACESSO AO SERVIDOR ----------------- OK" &&
iptables -A INPUT -i lo -j ACCEPT &&
iptables -A INPUT -s 0/0 -p udp -m multiport --sport 53 -j ACCEPT &&
iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 22,25,80,110,443 -j ACCEPT &&
iptables -A INPUT -s 0/0 -p tcp -m multiport --dport 22,25,80,110,443 -j ACCEPT &&
iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 53 -j ACCEPT &&
iptables -A INPUT -s 0/0 -p udp -m multiport --sport 22,25,80,110,443 -j ACCEPT &&
iptables -A INPUT -s 0/0 -p udp -m multiport --dport 22,25,80,110,443 -j ACCEPT &&
echo " LIBERANDO ACESSO A REDE LOCAL ---------------- OK" &&
iptables -A INPUT -i eth1 -p tcp -m multiport --dport 80,22,25,110,137,138,139,443,445,3128 -j ACCEPT &&
iptables -A INPUT -i eth1 -p tcp -m multiport --sport 80,22,25,110,137,138,139,443,445,3128 -j ACCEPT &&
iptables -A INPUT -i eth1 -p udp -m multiport --dport 137,138,139,445,3128 -j ACCEPT &&
iptables -A INPUT -i eth1 -p udp -m multiport --sport 137,138,139,445,3128 -j ACCEPT &&
echo " LIBERAÇÃO DOS SOCKETES ----------------------- OK" &&
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT &&
echo " COMPARTILHAMENTO DA INTERNET, MASCARAMENTO ------ OK" &&
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE &&
echo " PERMITINDO REDIRECIONAMENTO DE PACOTES -------- OK" &&
echo 1 >/proc/sys/net/ipv4/ip_forward &&
echo &&
echo &&
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" &&
echo "@@@ TERMINO DA CONFIGURAÇÃO @@@" &&
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" &&

#=======================================


bom seguinte...
eu nao gostaria de usar proxy transparente, ehheh seria mais facil.. mas preferimos colocar manualmente...
eu não coloquei na inicialização ainda.. pq nao está rodando certo..eu ainda estou a digitar os comandos...


to ficando loco.. somente me falta isso... os outlook das maquiinas clientes receberem email....


obrigado pela atenção já dispensada...

Marcos



9. configuração das estações ...

Juno Kim
juno

(usa Linux Mint)

Enviado em 30/07/2007 - 17:00h

Cara,
Como está configurada as estações ?
Manda o exemplo de uma por favor ...

Abraços,



10. as estações..

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 30/07/2007 - 22:42h

grande amigo juno, seguinte...
nas estações:
configurações de rede:
Grupo de Trabalho: empresa
ip fixo, por exemplo 192.168.10.10 - nome Diretoria,
DNS host empresa, dominio empresa, ip 192.168.10.1 (ip do servidor)

configurações do internet explorer:
proxy: 192.168.10.1 porta 3128

acho q é só isso...
no outlook pop.uol.com.br e smtp.uol.com.br

acho q é só isso...


o problema continua.,..
ainda nao consegui resolver...

obrigado pela grande ajuda

Marcos


11. ainda nada....

Marcos Ferrara
malaguti

(usa Ubuntu)

Enviado em 31/07/2007 - 10:38h

o pessoal nada ainda.......
:(



12. entendendo ...

Juno Kim
juno

(usa Linux Mint)

Enviado em 31/07/2007 - 11:23h

o computador que compartilha a internet e o computador que roda o proxy squid, são os mesmos ?





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts