Deve ser facil, mas eu não sei II
Pessoal, boa tarde,
Como havia dito eu iria postar se eu conseguisse, e consegui .. o squid esta rodando legal e estou conseguindo acessar sites sem problemas o único problema é em relação ao acesso ao SMTP, POP3 e HTTPS esses protocolos não estou conseguindo acessar até cheguei a criar algumas regras para firewall só que mesmo eu " parando" de usar essas regras eu não consigo ter acesso a esses protocolos ... por esse motivo acho que o problema esteja no proprio squid estou passando o meu squid.conf para discutirmos sobre ele:
# squid.conf alterado
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir ufs /usr/local/squid/cache 2100 16 256
cache_mem 100 MB
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1400 0% 1440
refresh_pattern . 0 20% 4320
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
acl Safe_ports port 80 #hhtp
acl Safe_ports port 21 #ftp
acl Safe_ports port 25 #smtp
acl Safe_ports port 110 #pop3
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 #unregistred 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 CONNECT method CONNECT
acl rede_interna src 192.168.0.0/24
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow rede_interna
icp_access deny all
#http_reply_access allow all # Essa linha não esta funcionando, esta dando erro quando inicio o squid por isso que ela esta comentada ...
icp_access allow all
#httpd_accel_host virtual
#httpd_accel_port 80
#httpd_accel_single_host off
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
Pessoal se alguem souber alguma coisa vocês podem me dar um toque ?
Obrigado novamente
Re: Deve ser facil, mas eu não sei II
O Squid não suporta os protocolos que você tá querendo utilizar. Para contornar a situação, você deve utilizar uma regra de NAT no seu firewall, para o repassamento dos pacotes. É a velha histórinha do:
Código :
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o $INTERFACE_SAIDA -j MASQUERADE
Recomendo a leitura da documentação disponível no Wiki!
Abraços!
Re: Deve ser facil, mas eu não sei II
Cara coloquei essa regra e mesmo assim nada ... vou passar para vcs as minhas regras de IPTABLES pois tirei elas de um tutor que ache aqui mesmo no underlinux o squid.conf já passei agora vem as regras do iptables que eu fiz.
Site do tutorial : https://under-linux.org/content/view/5749/58/ e as regras são as seguintes :
# Variaveis
LAN1="eth0"
WAN1="eth1"
GW="200.x.x.1"
IP_EXT="200.x.x.7"
REDE="10.0.0.0/32"
P_PX="28021" # Porta do Proxy
IP_DIRETOR1="10.0.0.25"
IP_DIRETOR2="10.0.0.27"
case "$1" in
start)
echo "Iniciando Firewall..."
depmod -a
modprobe ipt_LOG
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ipt_MASQUERADE
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#Flush nas Chains
iptables -F
iptables -t nat -F
iptables -X
iptables -Z
#Politica padrão
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#Habilita o roteamento
echo "1" > /proc/sys/net/ipv4/ip_forward
#Regras de Entrada
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 563 -j ACCEPT
iptables -A INPUT -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
iptables -A INPUT -i $WAN1 -p tcp --dport $P_PX -j DROP
#Regras de Repasse
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -d $GW -s $REDE -j ACCEPT
iptables -A FORWARD -i $LAN1 -d smtp.terra.com.br -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i $LAN1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i $LAN1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i $LAN1 -d pop.terra.com.br -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
iptables -A FORWARD -s $IP_DIRETOR1 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s $IP_DIRETOR2 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
#Barro qualquer comunicação com a porta 80
iptables -A FORWARD -i $LAN1 -p tcp --dport 80 -j DROP
#Tudo que for proveniente da rede local e for p/ internet tem seu endereço alterado
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -s $REDE -j SNAT --to $IP_EXT
#Regras de Segurança
#Contra Syn-fllod
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
#Contra Ping da Morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#Contra nmap
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -p tcp -tcp-flags SYN,ACK -j DROP
#Logando os pacotes
#Logando pacotes bloqueados vindo da internet
iptables -A INPUT -p tcp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote tcp : "
iptables -A INPUT -p icmp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote icmp : "
iptables -A FORWARD -m unclean -j DROP
;;
stop)
echo "Parando Firewall:"
iptables -X
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
;;
restart)
$0 stop
$0 start
;;
status)
iptables -L -n
iptables -t nat -L -n
;;
*)
echo "Use: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Fiz modificações referete as interfaces de rede por que as minhas estão invertidas e os ips dos diretores e o POP3 e o SMTP que eu coloquei do nosso servidor de e-mail de resto esta tudo igualzinho.
Alguem pode me dar uma luz ?
Stefano muito boa a documentação do squid vou le-la com certeza.
Obrigado
Re: Deve ser facil, mas eu não sei II
Opa, valeu pelo elogio à documentação!
Faz o seguinte... limpa o seu firewall, sete as políticas para ACCEPT primeiro e tente fazer com aquelas regras que eu te passei no último post. Veja se funciona, pra gente descobrir se é por algum problema adverso ou pelo firewall bloqueando. Desculpe, mas eu estou meio no rush com um probleminha aqui e não tive tempo de olhar com calma o seu script... =/
Abraços!
Re: Deve ser facil, mas eu não sei II
Cara valeu ... eu consegui fazer isso adicionei algumas regras que eu estava pesquisando aqui mesmo no site na parte de artigos e achei um artigo interessante li , apliquei e funcionou ...
Adicionei as seguintes regras:
/usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d 200.204.0.10 --dport 53 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d 200.204.0.138 --dport 53 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.10 --sport 53 -d 10.0.0.0/8 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.138 --sport 53 -d 10.0.0.0/8 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8 --dport 25 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8 --dport 110 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
/usr/sbin/iptables -A FORWARD -p tcp --sport 110 -j ACCEPT
Com essas regras funcionou só que eu tive que colocar como meus DNS esses ai que eu num sei se é da Telefonica ou do terra .. mas funcionou .. agora vou fazer o meu proprio DNS para ficar uma coisa mais certa.
O meu servidor DHCP não esta funcionando corretamente, ele inicia sem dar erro só que não distribui os IP's para os clientes. Será que tem uma regra no iptables que esta bloqueando isso ou é alguma outra coisa ?
Valeu a todos
Obrigado e valeu