Problemas com Roteamento

1. Problemas com Roteamento

Victor
achmed

(usa Conectiva)

Enviado em 19/03/2008 - 16:24h

Fala Galera Blz??

Bom, montei um servidor de internet com o Conectiva 10, intalei squid, sarg, apache, bind, configurei as placas de rede, arquivos de configuração...
Defini que o squid libera o acesso por meio de listas de ips acl_rede_permitida(onde ficam os ips dos micros que tem acesso...)
o problema é que a internet funciona no servidor mas não nas estações. todos os serviços estão funcionando: Squid, Named, Httpd, Myfirewall(iptables), network...

Não tenho ideia do que pode estar errado.

- eth0 (internet)
IP 192.168.0.191
Netmask 255.255.255.0
Gateway 192.168.0.150

- eth1 (distribui o sinal rede 1)
IP 192.168.0.152
Netmask 255.255.255.0

-eth2 (distribui o sinal rede 2)
IP 192.168.1.152
Netmask 255.255.255.0

agradeço desde já

abç


  


2. dicas...

Eduardo Henrique Roque
duhboy

(usa Debian)

Enviado em 19/03/2008 - 16:51h

- primeiro você ja conferiu se os modulos do iptables/nat estão carregados?
- segundo você esta recebendo a conexão do IP 150 pelo que vi, quem eh ele?? não tem firewall nele?nda que bloqueie?
- verifique como ficou sua rota primaria (route -n)

até


3. vamos lá..

Harry Potter
harryy.potter

(usa Suse)

Enviado em 19/03/2008 - 17:17h

Se você quer Rotear sua internet...



supondo que ela entre por eth0
digite os comandos como root:

## primeiro digite isso:
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

## Limpe as tabelas!

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -F INPUT
iptables -F FORWARD
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING

### bloquei TUDO!

iptables -P INPUT DROP


## agora redirecione para a porta do squid

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


### agora vá liberando as portas conforme precisa!

posso não estar totalmente certo, mas aqui isso funfa direitinhoo!










4. hummm

fox
foxl

(usa Debian)

Enviado em 19/03/2008 - 18:04h

tu nao recebe a net deireto nao e isso?
a rede funciona so no serve e nao distribui pros outros pcs e isso?



5. ....

Victor
achmed

(usa Conectiva)

Enviado em 19/03/2008 - 18:35h

Então tenho um server que recebe o sinal do 192.168.0.150 e redistribui para duas redes 192.168.0.152 e para 192.168.1.152.

testei todas as tabelas. Na configuração do meu firewall carrago os modulos ip_tables, iptable_nat, ip_conntrack_ftp e ip_nat_ftp... (carrego o serviço e não dá erro nenhum!)
#!/bin/sh
#chkconfig: 345 20 80 #
###############################
#####Checando se a rede está ok

. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]
then
exit 0
fi

case "$1" in
start)
gprintf "Iniciando %s services: [ OK ] " "myfirewall"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#Bloqueia PINGs externos
iptables -A FORWARD -i eth0 -p icmp --icmp-type echo-request -j DROP
iptables -A FORWARD -i eth0 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --tcp-flags SYN,ACK FIN,RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -i eth0 -m unclean -j DROP
iptables -t filter -A FORWARD -m state –state INVALID -j DROP

#Bloqueia PINGs rede academica
iptables -A FORWARD -i eth2 -p icmp --icmp-type echo-request -j DROP
iptables -A FORWARD -i eth2 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -i eth2 -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -i eth2 -p tcp --tcp-flags SYN,ACK FIN,RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -i eth2 -m unclean -j DROP
iptables -t filter -A FORWARD -m state –state INVALID -j DROP

#Carrega modulos
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

iptables -A FORWARD -s 192.168.0.0/24 -d 0/0 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -d 0/0 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -s 0/0 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -s 0/0 -j ACCEPT
iptables -P FORWARD DROP

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

iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 -d 192.168.0.150 -j ACCEPT

############################################################################### iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 1025:65535 -j DROP #Bloqueia o restante
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 1025:65535 -j DROP #Bloqueia o restante

#Mascaramento da rede
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

echo
;;
stop)
gprintf "Interrompendo %s services: [ OK ] " "myfirewall"
iptables -F; iptables -Z; iptables -F -t nat
echo
;;
status)
iptables -L
;;
restart)
$0 stop
$0 start
echo
;;
*)
gprintf "Use: %s (start|stop|status|restart)" iptables
exit 1
echo
;;
esac

exit 0




6. tenta isso...

Harry Potter
harryy.potter

(usa Suse)

Enviado em 20/03/2008 - 08:05h

O seu firewall deve funcionar mais ou menos dessa forma...
troque os ips pelos ips da sua rede..
eth0, eth1, etc..
testee!


#!/bin/bash
#
#sendo eth0 a placa de internet
#eth1 a rede 1
#eth2 a rede 2

# carrega biblioteca de função.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi

# evita usar o temporario do root
unset TMPDIR

# codigo de configuracao da rede.
. /etc/sysconfig/network

# verifica de a rede está funcionando.
[ ${NETWORKING} = "no" ] && exit 0

SERVICE_DESC="Firewall Empresa"

RETVAL=0

#redes

REDE1=192.168......../24
REDE2=192.168......../24

#### Micro de comunicação com as duas redes

CROSSOVER=192.168.....

########################################### INICIANDO FIREWALL #########################################

start() {
gprintf "Iniciando %s: " "$SERVICE_DESC"

if ! [ -f /root/.fwcnlck ]; then #criar arquivo de lock
touch /root/.fwcnlck
fi

# Carrega modulos

modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

####### Bloqueia todo pacote que tenta entrar

iptables -P INPUT DROP

####### Aceita passagem de conexoes estabelecidas e relacionadas

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

####### Libera o loopback para localhost

iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT

####### Liberando passagem de pacotes CROSSOVER entre as 2 redes

iptables -A FORWARD -s $CROSSOVER -d $REDE2 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s $CROSSOVER -d $REDE1 -m state --state NEW -j ACCEPT

####### Bloqueando repasse de pacotes entre redes internas

iptables -A FORWARD -s $REDE1 -d $REDE2 -m state --state NEW -j DROP
iptables -A FORWARD -s $REDE2 -d $REDE1 -m state --state NEW -j DROP

####### Liberando repasse de pacotes para a internet

iptables -A FORWARD -s $REDE1 -d 0/0 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s $REDE2 -d 0/0 -m state --state NEW -j ACCEPT

####### Libera saida para portas de Email

iptables -t nat -A POSTROUTING -p TCP --dport 25 -s $REDE1 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p TCP --dport 25 -s $REDE2 -d 0/0 -j MASQUERADE

iptables -t nat -A POSTROUTING -p TCP --dport 110 -s $REDE1 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p TCP --dport 110 -s $REDE2 -d 0/0 -j MASQUERADE

####### Liberando acesso remoto interno via terminal service

iptables -A INPUT -i eth0 -p TCP --dport 3389 --syn -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --dport 3389 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -s 200.*.*.* -d 192.*.*.* -p TCP --dport 3389 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 200.*.*.* -d 192.*.*.* -p UDP --dport 3389 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 3389 -j DNAT --to-destination 192.*.*.*:3389
iptables -A FORWARD -i eth0 -d 192.*.*.*/32 -p TCP --dport 3389 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p UDP --dport 3389 -j DNAT --to-destination 192.*.*.*:3389
iptables -A FORWARD -i eth0 -d 192.*.*.*/32 -p UDP --dport 3389 -j ACCEPT


####### Liberando porta do apache

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8180 -j ACCEPT

####### Liberando saida do DNS

iptables -t nat -A POSTROUTING -p TCP --dport 53 -s $REDE1 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p TCP --dport 53 -s $REDE2 -d 0/0 -j MASQUERADE

iptables -t nat -A POSTROUTING -p UDP --dport 53 -s $REDE1 -d 0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -p UDP --dport 53 -s $REDE2 -d 0/0 -j MASQUERADE

####### Liberando porta para acesso remoto (ssh)

iptables -A INPUT -p TCP -s $REDE1 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p TCP -s $REDE2 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p TCP -s $REDE1 --dport 2022 -m state --state NEW -j ACCEPT
iptables -A INPUT -p TCP -s $REDE2 --dport 2022 -m state --state NEW -j ACCEPT
####### Liberando porta do squid

iptables -A INPUT -p TCP -s $REDE1 --dport 3128 -m state --state NEW -j ACCEPT
iptables -A INPUT -p TCP -s $REDE2 --dport 3128 -m state --state NEW -j ACCEPT

iptables -A INPUT -p TCP -s $REDE2 --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -p UDP -s $REDE1 --dport 53 -m state --state NEW -j ACCEPT

####### Liberando porta do DG

iptables -A INPUT -p TCP -s $REDE1 --dport 8000 -m state --state NEW -j ACCEPT
iptables -A INPUT -p TCP -s $REDE2 --dport 8000 -m state --state NEW -j ACCEPT

####### Liberando acesso direto CROSSOVER

iptables -t nat -A POSTROUTING -s $CROSSOVER -d 0/0 -j MASQUERADE
iptables -t nat -A PREROUTING -p TCP -i eth2 --dport 4662:4672 -j DNAT --to $CROSSOVER
iptables -t nat -A PREROUTING -p UDP -i eth2 --dport 4662:4672 -j DNAT --to $CROSSOVER
iptables -t nat -A PREROUTING -p UDP -i eth1 --dport 7681 -j DNAT --to $CROSSOVER

#Setando como ativas regras necess�ias

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

echo_success
echo""
}

stop() {
gprintf "Parando %s: " "$SERVICE_DESC"

if [ -f /root/.fwcnlck ]; then #apaga arquivo de lock
rm -f /root/.fwcnlck
fi

iptables -P INPUT ACCEPT

#Setando como ativas regras necess�ias
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo_success
echo""

}

restart() {
limpa_regras
stop
start
}


lstatus() {
if [ -f /root/.fwcnlck ]; then #criar arquivo de lock
gprintf "Firewall CN rodando\n"
else gprintf "Firewall CN parado\n"
fi
}


limpa_regras() {
iptables -F
iptables -F INPUT
iptables -F FORWARD
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
}

case "$1" in
start)
limpa_regras
start
;;
stop)
limpa_regras
stop
;;
restart)
restart
;;
status)
lstatus
;;
*)
gprintf "Usage: %s {start|stop|restart|status|}\n" "$0"
exit 1
esac

exit $?



7. parte 1 do problema resolvido...

Victor
achmed

(usa Conectiva)

Enviado em 20/03/2008 - 14:19h

Consegui fazer o servidor funcionar mas somente configurrando o proxy micro a micro.

O proxy transparente não funciona.

adicionei as 4 linhas no squid.conf e as duas linhas de conexão no iptables...

não tenho ideia do que pode estar errado.

o meu squid é o 2.5.stable5 então inseri as linhas no squid.conf.

#ativa o proxy transparente

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

e no Myfirewall

#Redireciona porta 80 para o proxy squid

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --toport 3128


iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --toport 3128

As duas redes não se comunicam, por isso distribuo o sinal pelo servidor para cada uma das ethernets.

Dai não tenhi ideia do que pode estar faltando..

tanto o squid quanto o firewall estão rodando, poise se eu paro o firewall os comandos de bloqueio de pings externos não funcionam e se eu paro o squid a internet não funciona, lembrando que esta funcionando nas estações mas não com o proxy transparente..

abç



8. Mais uma..

Victor
achmed

(usa Conectiva)

Enviado em 20/03/2008 - 15:46h

Fala Galera Blz?

mais uma agora, entrei para ver o relatório do sarg e a fonte está gigante, onde eu arrumo isso??

fuçei no sarg.conf e não achei nada...

abç


9. Sarg

Sérgio Abrantes Junior
pelo

(usa Debian)

Enviado em 20/03/2008 - 16:51h

teste essas opções:
# TAG: font_size
# Especify the text font size
#
font_size 9px

# TAG: header_font_size
# Especify the header font size
#
header_font_size 9px

# TAG: title_font_size
# Especify the title font size
#
title_font_size 11px


Sérgio Abrantes

[]'s


10. sarg.conf

Victor
achmed

(usa Conectiva)

Enviado em 20/03/2008 - 17:46h

o meu sarg.conf ta assim e mesmo assim ainda ta gigante. o cabeçalho, a perte dos links pra top-user e o rodape ta ok mas a perte onde4 mostra os acessos ta bixada....Fonte Gigante!!!

header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
background_color white
text_color black
text_bgcolor lavender
title_color green
logo_image none
logo_text_color black

abç


11. hummm

fox
foxl

(usa Debian)

Enviado em 20/03/2008 - 19:02h

tenta deletar e cria outro
pode ser que de certo
pq aparentemente ta certo
;(


12. squid sarg...

Victor
achmed

(usa Conectiva)

Enviado em 20/03/2008 - 20:50h

vlw galera!!

Recriei o qrquivo sarg.conf... continua na mesma. mas o mais importante seria fazer o proxy tranparente funcionar...não tem mais nenhum arquivo relacionado nessa tarefa???

Alguma sugestão???

abç



01 02