Redirecionamento funciona externo, porém não funciona INTERNO! [RESOLVIDO]

1. Redirecionamento funciona externo, porém não funciona INTERNO! [RESOLVIDO]

Daniel Rodrigues Tódero
daniel.todero

(usa CentOS)

Enviado em 02/12/2010 - 08:59h

Bom Dia!!!
Estou com um problema numa regra do meu IpTables.

Tenho um IP Real na empresa e um servidor de Aplicativos.
Fiz uma regra redirecionando as solicitações externas no meu Firewall, numa determinada porta, fosse redirecionado ao meu servidor interno de aplicação.

/sbin/iptables -t nat -A PREROUTING -d 201.x.x.x -p tcp --dport 8089 -j DNAT --to 192.168.8.3:8089

OK, até aí tudo certo... externo está funcionando perfeitamente!

Porém, ao tentar acessar a aplicação INTERNAMENTE pelo "nome" (http://www.meudominio.com.br/aplicacao:porta), sem ser pelo endereço LAN (192.168.x.x:porta), ele NÃO ACESSA!

Vocês poderiam me ajudar na regra que está faltando?


Desde já agradeço.
Muito Obrigado.
Att,

Daniel Tódero


  


2. Re: Redirecionamento funciona externo, porém não funciona INTERNO! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/12/2010 - 09:14h

Claro q num acessa! A URL tá incorreta. O certo é http://www.meudominio.com.br:porta/aplicacao. Tente dessa forma. Se não der certo, coloque o seu script com as regras aki...


3. ainda com problema

Daniel Rodrigues Tódero
daniel.todero

(usa CentOS)

Enviado em 02/12/2010 - 09:39h

Bom Dia Renato,

na hora de escrever aqui no fórum, que coloquei a posição da porta errada.. mas está correto sim!


Segue o script das regras.


#####################################
## Habilitaçoes Especificas ##
#####################################
echo "1" > /proc/sys/net/ipv4/ip_forward
#echo "1" > /proc/sys/net/ipv4/tcp_syncookies
#echo "0" > /proc/sys/net/ipv4/ip_dynaddr
#echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
#echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects
#echo "0" > /proc/sys/net/ipv4/conf/all/log_martians
#echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
#echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses


##### Carregando modulos #####
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ip_tables
/sbin/modprobe ipt_state
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_limit

#### LIMPA AS 3 TABELAS
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F

/sbin/iptables -X
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -X
##### DEFAULT PARA OPERACOES EH NEGAR

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

##### ACEITA LOOP BACK PADRAO E CONECTIVIDADE PADRAO ####


/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A FORWARD -o eth0 -j ACCEPT
/sbin/iptables -A FORWARD -o eth0 -j ACCEPT
/sbin/iptables -A FORWARD -o ppp0 -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE



##### REDIRECIONAMENTOS #####

/sbin/iptables -A FORWARD -o eth1 -p TCP --dport 8089 -d 192.168.8.3 -j ACCEPT

/sbin/iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p tcp -m tcp --dport 8089 -d 201.x.x.x/32 -j DNAT --to-destination 192.168.8.3:8089

##### ENTRADA DA INTERNET #####

/sbin/iptables -A INPUT -i eth1 -p TCP --dport 8089 -j ACCEPT



Muito Obrigado.
Att,
Daniel Tódero


4. Re: Redirecionamento funciona externo, porém não funciona INTERNO! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/12/2010 - 09:49h

Libera ae no seu firewall:

iptables -A FORWARD -d 192.168.8.3 -p tcp --dport 8089 -j ACCEPT


5. continua....

Daniel Rodrigues Tódero
daniel.todero

(usa CentOS)

Enviado em 02/12/2010 - 10:38h

Adicionei, porém continua o problema.


6. Re: Redirecionamento funciona externo, porém não funciona INTERNO! [RESOLVIDO]

Thiago Dias
thiago_dias

(usa CentOS)

Enviado em 02/12/2010 - 11:04h

Daniel, tive um problema parecido aqui na empresa, só que era com um servidor FTP. Fiz da seguinte forma:

iptables -t nat -A PREROUTING -p tcp -i eth1 -d 200.x.x.x --dport 21 -j DNAT --to 192.168.1.201

iptables -t nat -A POSTROUTING -d 192.168.1.201 -j SNAT --to IPSERVIDOR

placa de rede local - eth1
placa de internet - ppp0
IPSERVIDOR - ip interno no computador servidor,o gateway da rede

Com essas linhas o redirecionamento funcionava internamente, mais não externamente. Para funcionar externamente repeti essas linhas trocando o eth1 pelo ppp0.

Espero ter ajudado.
Abraços




7. FUNCIONOU!!!

Daniel Rodrigues Tódero
daniel.todero

(usa CentOS)

Enviado em 03/12/2010 - 08:37h

Bom dia Thiago Dias,

A regra de PREROUTING já estava pronta, então adicionei a regra de POSTROUTING, conforme vc indicou:

iptables -t nat -A POSTROUTING -d 192.168.1.201 -j SNAT --to IPSERVIDOR


e DEU CERTO!

MUITO OBRIGADO!!!!!
Valeu mesmo cara.
Obrigado você, ao Renato Pacheco e ao Portal VivaOLinux que me ajudaram a resolver o problema.

Fiquem com Deus.
Att,
Daniel Tódero






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts