Pular para o conteúdo

Roteamento [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Roteamento [RESOLVIDO]

Enviado em 21/01/2011 - 20:11h

Olá a todos,

Meu cenário é o seguinte:

# GATEWAY - DEBIAN
eth0 - 192.168.192.1 - Rede Interna
eth1 - 200.200.200.200 - Internet
eth2 - 10.10.10.1 - Ligada diretamente a um roteador Wireless com IP 10.10.10.2

A partir deste meu GATEWAY consigo obviamente pingar neste WIRELESS - IP 10.10.10.2

O PROBLEMA é que não consigo de forma alguma nem pingar neste wireless (10.10.10.2) usando a minha estação - com IP 192.168.192.100, muito menos acessar sua interface web para configurar.

Já fiz de tudo e nada, por exemplo:

route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.10.1 eth2
route add -net 192.168.192.0 netmask 255.255.255.0 gw 192.168.192.1 eth0

O interessante é que, no GATEWAY, quando dou um "tcpdump -i eth2 icmp", ele mostra que estou chegando lá: "IP 192.168.192.100 > 10.10.10.2: ICMP echo request, id 15406, seq 547, length 64"...

mas não retorna lá....

Resumindo: Preciso que minha máquina - 192.168.192.100 - chegue ao meu router wireless 10.10.10.2, passando pelo meu GATEWAY (192.168.192.1 - 10.10.10.1)

Dá uma força aí pessoal!


Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Roteamento [RESOLVIDO]

Melhor resposta

Enviado em 24/01/2011 - 14:40h

verifica quem é o default gateway do seu roteador wireless.

ele pode estar devolvendo a requisição para o default gateway que não conhece a rede 192.168.x.x.

Se o default gateway dele estiver para o IP 10.10.10.1 desative o firewall do roteador para testes.

3. Re: Roteamento [RESOLVIDO]

Enviado em 21/01/2011 - 20:48h

Já tentou:

# iptables -A FORWARD -s 192.168.192.100 -d 10.10.10.2 -j ACCEPT

Talvez isso ai já resolva o seu problema.

4. Re: Roteamento [RESOLVIDO]

Enviado em 21/01/2011 - 21:50h

Olá amigo, você ja habilitou o encaminhamento de pacotes no seu servidor?

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

Habilitando o encaminhamento de pacotes e o servidor tendo as duas interfaces a estação de uma rede deve acessar os hosts da outra rede sem problema. Lembrando que você deve setar seu servidor como gateway das estações.

5. Roteamento

Enviado em 22/01/2011 - 01:20h

Obrigado galera desde já pela força, mas estes dois procedimentos eu já fiz.

As regras de firewall para tentar solucionar que eu já fiz:

iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT

iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT

também já liberei o roteamento pelo Kernel....

O que mais pode ser? Sinceramente já esgotei todo o meu irrisório conhecimento.

Valeu,
Gustavo

6. Re: Roteamento [RESOLVIDO]

Enviado em 24/01/2011 - 11:51h

E aí pessoal, alguém tem idéia do que pode ser????

7. Re: Roteamento [RESOLVIDO]

Enviado em 24/01/2011 - 18:04h

Grande j4p0n3g0,

Parece que você tem razão... realmente não estava lembrando desta possibilidade. Valeu mesmo!

Vou fazer mais testes e te dou um retorno.

att,
Gustavo

8. Re: Roteamento [RESOLVIDO]

Enviado em 24/01/2011 - 20:15h

Um outro detalhe pessoal, especificamente em meu firewall,

Relembrando minha estrutura:

# GATEWAY - DEBIAN
eth0 - 192.168.192.1 - Rede Interna
eth1 - 200.200.200.200 - Internet
eth2 - 10.10.10.1 - Ligada diretamente a um roteador Wireless com IP 10.10.10.2

Apesar de bloquear a comunicação entre as interfaces ETH0 e ETH2 com a seguinte regra:

$IPT -A FORWARD -i eth0 -o eth2 -j DROP
$IPT -A FORWARD -i eth2 -o eth0 -j DROP

AINDA ASSIM, consigo acessar do meu PC (192.168.192.100) o webserver do Router Wireless (10.10.10.2).

Sinceramente, já verifiquei todo o meu script e não percebi nada ainda...

9. Re: Roteamento [RESOLVIDO]

Enviado em 26/01/2011 - 08:28h

funcinou aquela parada que te falei ?

coloque seu script de firewall aew que eu do numa olhada ...

pode ser que exista uma regra liberando o repasse desses pacotes acima da regra de bloqueio.

para saber em qual regra está passando esses pacotes verifique os contadores de pacotes das regras ...

deixe pingando (um exemplo) execute o comando "while true ; do iptables -nvL ; sleep 1 ; clear ; done" e verifique qual contador fica sendo alterado. dessa forma vc poderá identificar qual a regra que esta fazendo a liberação.

faloww

10. Re: Roteamento [RESOLVIDO]

Enviado em 26/01/2011 - 08:30h

tente uma coisa antes ....

vc executou as regras abaixo ...
$IPT -A FORWARD -i eth0 -o eth2 -j DROP
$IPT -A FORWARD -i eth2 -o eth0 -j DROP


execute elas alterando o -A por -I ...
assim não vai ter erro ... vai ter que bloquear ...

11. Re: Roteamento [RESOLVIDO]

Enviado em 26/01/2011 - 13:42h

Grande j4p0n3g0, aquela parada do default gateway do router wireless funcionou perfeitamente! ;)

Quanto a este outro problema, de que mesmo bloqueando o tráfego entre as interfaces eu ainda continuar conseguindo acessar o Webserve do Wireless é por causa da regra de PREROUTING que joga o tráfego da porta 80 para o meu proxy Squid (3128).

O outro problema, pra variar, é que a regra seguinte não funciona:

$IPT -I INPUT -s ! 192.168.192.100/32 -d $NETWORK_2 -p tcp -m multiport --sports 80,443 -j DROP

Ou melhor, funciona, PORÉM o IP 192.168.192.100 é também bloqueado, mesmo sendo uma excessão.

12. Re: Roteamento [RESOLVIDO]

Enviado em 26/01/2011 - 13:49h

MEU FIREWALL...

######################################################################
# IP da Rede
NETWORK=192.168.100.0/24
NETWORK_2=10.10.10.0/24

# Interface da Rede Local - LAN
ILAN=eth0
ILAN_2=eth2

# Interface da Rede Externa - Internet
INET=eth1

IPT=/sbin/iptables
if [ ! -x $IPT ]; then
if [ -e $IPT ]; then
echo "O programa 'iptables' está sem permissão de execução"
else
echo "O programa 'iptables' não está instalado atualmente. Você pode instalá-lo digitando:"
echo "sudo apt-get install iptables"
fi
exit 0
fi


CLEAN_RULES () {

# Removendo regras
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Apagando chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Zerando contadores
$IPT -Z
$IPT -t nat -Z
$IPT -t mangle -Z
}

REDIRECT () {

$IPT -t nat -A PREROUTING -i $ILAN -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPT -t nat -A PREROUTING -i $ILAN_2 -p tcp --dport 80 -j REDIRECT --to-port 3128
}

SHARE_INTERNET () {

#Mascaramento
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK_2 -j MASQUERADE

# Ativando o redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
}


SECURITY () {

# Proteção para SYN Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Ignorar Mensagens Falsas de icmp_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do

# Não Redirecionar Mensagens ICMP
echo 0 > $i/accept_redirects

# Proteção a Ataques IP Spoofing
echo 0 > $i/accept_source_route

# O kernel decide se envia resposta pelo mesmo endereço ou não.
echo 1 > $i/arp_filter

# Permitir que Pacotes Forjados sejam logados pelo próprio kernel
echo 1 > $i/log_martians

# Verificar Endereço de Origem do Pacote (Proteção a Ataques IP Spoofing)
echo 1 > $i/rp_filter
done
}


LOG () {

$IPT -A INPUT -i $INET -p tcp --dport 135 -j DROP
$IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP
$IPT -A INPUT -p udp -j DROP
$IPT -A INPUT -p icmp -j DROP
$IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "

}


SERVER_RULES () {

# Bind9 - Servidor DNS
$IPT -A INPUT -p udp --dport 53 -j ACCEPT

# DHCP - Servidor DHCP
$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT
$IPT -A INPUT -i $ILAN_2 -p udp --sport 68 --dport 67 -j ACCEPT

# Squid - Servidor Proxy
$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT
$IPT -A INPUT -i $ILAN_2 -p tcp --dport 3128 -j ACCEPT


#Negar acesso ao WEBSERVER do Router Wireless, menos para minha máquina
$IPT -I OUTPUT -o $ILAN_2 -s ! 192.168.100.100/32 -p tcp -m multiport --dports 80,443 -j DROP


}



SERVICE_RULES () {

# DNS - Serviço de Nomes de Dominios
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 53,5353 -j ACCEPT
$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT

# HTTPS - Protocolo de Transferência de Hypertext Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

# Ping
$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT
$IPT -A INPUT -i $ILAN_2 -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT


# WIRELESS - Aceita trafego entre a rede Wireless e com fio
$IPT -A FORWARD -s 192.168.100.100/32 -d $NETWORK_2 -j ACCEPT

}


ENABLE_FW () {

# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET

# Atribuindo segurança
SECURITY

# Adicionando regras p/ Servidores
SERVER_RULES

# Adicionando regras p/ Serviços
SERVICE_RULES

#ANTI_TROJAN
ANTI_TROJAN

# Manter Conexões Estabelecidas
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando o Tráfego na Interface loopback
$IPT -A INPUT -i lo -j ACCEPT

# LOGs
LOG

#PSAD
$IPT -A INPUT -j LOG
$IPT -A FORWARD -j LOG
}



DISABLE_FW () {

# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET
}



MODULES () {

MOD[0]="iptable_filter"
MOD[1]="iptable_nat"
MOD[2]="iptable_mangle"
MOD[3]="ipt_LOG"
MOD[4]="ipt_REDIRECT"
MOD[5]="ipt_MASQUERADE"

for N in $(seq 0 5); do
if [ -z "$(lsmod | grep ${MOD[$N]})" ]; then
/sbin/modprobe ${MOD[$N]}
fi
done

}

EXEC () {

if [ $(whoami) == "root" ]; then
MODULES
$1
RET=0
else
echo "You're not a user root: Operation not permitted"
RET=1
fi
}

. /lib/lsb/init-functions

case "$1" in

start)
log_daemon_msg "Starting Firewall iptables"
EXEC ENABLE_FW
;;
stop)
log_daemon_msg "Stopping Firewall iptables"
EXEC DISABLE_FW
;;
restart|reload)
log_action_begin_msg "Reloading Firewall configuration..."
echo "Reloading Firewall configuration rules."
EXEC ENABLE_FW
;;
*)
log_success_msg "Usage: $0 {start|stop|restart|reload}"
esac

log_end_msg $RET

exit $RET

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder