iptables + squid com duas faixas de ip

1. iptables + squid com duas faixas de ip

elson correia dos santos junior
ejuniorguitar

(usa Fedora)

Enviado em 22/03/2011 - 10:31h

Bom dia a todos!
Gostaria de saber o que há de errado neste script...
Ah eu tenho duas faixas de ip o 192.168.0.1 livre, e o 192.168.2.1 passa pelo squid onde são feitas as restrições...

#!/bin/bash

#####################
#CARREGANDO MODULOS #
#####################
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ipt_conntrack
modprobe ipt_MASQUERADE
modprobe iptable_nat

### LIMPANDO AS TABELAS E REGRAS #####
iptables -F
iptables -t nat -F
iptables -X

##Habilitando IP Forward
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

##########
## NAT ##
##########
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p 192.168.2.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

####################
#Proxy transparente#
####################
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

#Syn-floods
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

#Port scanners ocultos
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Ping da morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

##Protege contra Spoof de IP
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

###########################
## Virus Trojans e Afins ##
###########################
# -> Input
#iptables -A INPUT -p tcp --dport 135:139 -j DROP
#iptables -A INPUT -p udp --dport 135:139 -j DROP
#iptables -A INPUT -p tcp --dport 445 -j DROP
#iptables -A INPUT -p udp --dport 445 -j DROP
#iptables -A INPUT -p udp --dport 1042 -j DROP
#iptables -A INPUT -p udp --dport 1044 -j DROP
#iptables -A INPUT -p udp --dport 1046 -j DROP
#iptables -A INPUT -p udp --dport 4672 -j DROP
iptables -A INPUT -p udp --dport 2525 -j ACCEPT
iptables -A INPUT -p tcp --dport 2525 -j ACCEPT
iptables -A INPUT -p udp --dport 465 -j ACCEPT
iptables -A INPUT -p tcp --dport 465 -j ACCEPT

# -> Forward ->
#iptables -A FORWARD -p tcp --dport 135:139 -j DROP
#iptables -A FORWARD -p udp --dport 135:139 -j DROP
#iptables -A FORWARD -p tcp --dport 445 -j DROP
#iptables -A FORWARD -p udp --dport 445 -j DROP
#iptables -A FORWARD -p udp --dport 1042 -j DROP
#iptables -A FORWARD -p udp --dport 1044 -j DROP
#iptables -A FORWARD -p udp --dport 1046 -j DROP
#iptables -A FORWARD -p udp --dport 4672 -j DROP
iptables -A FORWARD -p udp --dport 2525 -j ACCEPT
iptables -A FORWARD -p tcp --dport 2525 -j ACCEPT
iptables -A FORWARD -p udp --dport 465 -j ACCEPT
iptables -A FORWARD -p tcp --dport 465 -j ACCEPT

# -> Output
#iptables -A OUTPUT -p tcp --dport 135:139 -j DROP
#iptables -A OUTPUT -p udp --dport 135:139 -j DROP
#iptables -A OUTPUT -p tcp --dport 445 -j DROP
#iptables -A OUTPUT -p udp --dport 445 -j DROP
#iptables -A OUTPUT -p udp --dport 1042 -j DROP
#iptables -A OUTPUT -p udp --dport 1044 -j DROP
#iptables -A OUTPUT -p udp --dport 1046 -j DROP
#iptables -A OUTPUT -p udp --dport 4672 -j DROP
iptables -A OUTPUT -p udp --dport 2525 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 2525 -j ACCEPT
iptables -A FORWARD -p udp --dport 465 -j ACCEPT
iptables -A FORWARD -p tcp --dport 465 -j ACCEPT

Obrigado!




  


2. Re: iptables + squid com duas faixas de ip

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 22/03/2011 - 10:46h

Substitua sua segunda linha do NAT
iptables -t nat -A POSTROUTING -p 192.168.2.0/24 -o eth0 -j MASQUERADE
por esta
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

Seja mais claro sobre o problema. o servidor acessa internet e os clientes não?
Nos clientes está dando alguma mensagem no navegador, tipo acesso negado?


3. Re: iptables + squid com duas faixas de ip

Marcao
marcaojds

(usa Debian)

Enviado em 22/03/2011 - 10:51h

1 caso isso vc pode tirar

##########
## NAT ##
##########
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p 192.168.2.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

e coloca no fim do script essa linha
iptables -t nat -A POSTROUTING -j MASQUERADE

isso aqui tb ta estranho
iptables -t nat -A PREROUTING -i 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

muda pra isso q ira funcionar
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128 -s 192.168.2.0/24

tem mais coisa desnecessarias no teu script mas fazendo estas mudança ira funcionar

vlsss



4. mais informações

elson correia dos santos junior
ejuniorguitar

(usa Fedora)

Enviado em 24/03/2011 - 07:13h

Opa desculpe a demora...
O servidor acessa a internet, os clientes tbm, apenas não está sendo feito o bloqueio...
temos aqui duas faixas de ips: 192.168.0.1 totalmente liberado e 192.168.2.1 bloqueado pelo squid, mas este bloqueio não está sendo feito...


5. Re: iptables + squid com duas faixas de ip

elson correia dos santos junior
ejuniorguitar

(usa Fedora)

Enviado em 24/03/2011 - 07:48h

http_port 3128 transparent

visible_hostname servnet

#######################CONFIGURACAO DA CHACHE DO SQUID#############################################################
cache_mem 300 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 10096 KB
minimum_object_size 20 KB
cache_swap_low 90
cache_swap_high 95
cache_dir diskd /var/cache/squid 400 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
#refresh_pattern . 15 0% 2280
#############################CONFIGURACAO DA SEGURANCA DO SQUID#######################################################
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 SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https,news
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 # multilig http
acl Safe_ports port 901 # SWA

acl purge method PURGE
acl CONNECT method CONNECT
############################CONFIGURANDO DIRETORIOS DE ERROS##########################################################
error_directory /usr/share/squid/errors/Portuguese
############################BLOQUEANDO PALAVRAS#######################################################################
acl blacklist dstdom_regex "/etc/squid/blacklist"
http_access deny blacklist
acl spybootlist dstdom_regex "/etc/squid/spybootlist"
http_access deny spybootlist
acl bloqueados dstdom_regex "/etc/squid/bloqueados"
http_access deny bloqueados
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
acl redelocal src 192.168.2.0/24
http_access allow localhost
http_access deny blacklist redelocal
http_access deny spybootlist redelocal
http_access allow redelocal
###################BLOQUEIA ACESSOS EXTERNOS##################################
http_access deny all
##########################PROXY TRANSPARENTE#######################################
#httpd_accel_host virtual
#httpd_accel_port 3128
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on

###########################


6. Re: iptables + squid com duas faixas de ip

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 24/03/2011 - 08:45h

primeiro mude a configuração do iptables conforme a dica do marcaojds, depois, a partir da versão 2.6, o squid mudou a forma de configurar como proxy transparente, para isso você precisa apenas adicionar a palavra transparent onde se configura a porta de funcionamento.

http_port 3128 transparent



7. Re: iptables + squid com duas faixas de ip

elson correia dos santos junior
ejuniorguitar

(usa Fedora)

Enviado em 24/03/2011 - 09:16h

Fiz como o marcaojds falou, mas não funcionou ainda... uma coisa estranha é q qndo eu usou o comando service squid stop ou start não emite nenhuma mensagem de erro... nem quando uso o service squid status aparece alguma coisa...


8. Re: iptables + squid com duas faixas de ip

Marcao
marcaojds

(usa Debian)

Enviado em 24/03/2011 - 09:40h

soh de curiosidade faz um teste ae

digita ae e v c tem trafico passando pelo squid tail -f /var/log/squid/access.log


9. Re: iptables + squid com duas faixas de ip

elson correia dos santos junior
ejuniorguitar

(usa Fedora)

Enviado em 24/03/2011 - 09:52h

Caramba meu ele tá falando q não está com o squid instalado... até um umas 3 semanas ele estava ok...

root@servidor-ubuntu:~# squid main
The program 'squid' is currently not installed. You can install it by typing:
apt-get install squid
You will have to enable the component called 'main'
-bash: squid: command not found

Será q seu instalar novamente vou perder as configurações que já tenho?




10. Re: iptables + squid com duas faixas de ip

andy
andyblessing

(usa Debian)

Enviado em 08/01/2013 - 09:33h

Cara queria poder te ajudar,mas na verdade se possível vc me ajudar...pois eu estou precisando criar uma outra faixa de IPs, estou usando a faixa de IP(192.168.0.1),no servidor usando 1 gateway, se possível vc postar um tutorial que mostre como criar outra faixa de ip igual o que vc fez ou me indicar um que vc já conhece,iria ajudar mt. eu postei essa duvida no meu forum mas ainda não obtive resposta,se vc puder ajudar. Vlw desde já agradeço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts