Iptables - Redirecionamento interno
Tenho um servidor com squid, sarg e no-ip, utilizando o iptables como firewall. O no-ip resolve um dominio x na placa de rede externa, quando tento acessar uma página web que utiliza a porta 443 nesse dominio de dentro da minha estrutura ou seja, com a requisição chegando da placa de rede interna não tenho acesso.
Como deveria se minha regra no iptables para que sempre que houver uma requisição ao dominio x vindo de um computador interno esse pacote seja redirecionado para o servidor interno?
Re: Iptables - Redirecionamento interno
Pessoal,
tenho quase o mesmo problema.
Tenho um endereço da INTERNET feito no DYNDNS que direciona para um servidor de minha empresa que é meu proxy (sem as regras abaixo entra no servidor), porém, preciso que esse endereço seja redirecionado para outro servidor INTERNO na porta 2222.
Veja o que já tentei :
iptables -t nat -I PREROUTING -d meuendereco.dnsalias.com -p tcp -m multiport --dports 80,443 -j DNAT --to-dest xx.xx.xxx.xx:2222
e também :
iptables -t nat -I PREROUTING -i meuendereco.dnsalias.com -p tcp -m multiport --dports 80,443 -j REDIRECT --to xx.xx.xxx.xx
Mas ela sempre dá erro.
Alguma idéia?
Abraços
André Lima
Re: Iptables - Redirecionamento interno
simples:
Considerando que sua interface que recebe a conexão externa seja eth0, a regra segue abaixo:
Código :
iptables -t nat -I PREROUTING -i eth0 -p tcp -m multiport --dports 80,443 -j DNAT --to xx.xx.xxx.xx
Re: Iptables - Redirecionamento interno
Obrigado amigo, mas acho que você não expliquei muito bem.
O que acontece e que o meu servidor de entrada é para onde o dyndns meuendereco.dyndns.com aponta ou digamos servidor 201.84.126.87, só que quando entro nesse servidor, ele deverá apontar para outro servidor da rede interna ou seja por ex.: 10.84.158.75, mas somente ESSE endereço porque ela fará uma chamada de um aplicativo. Não posso redirecionar todo o conteúdo da porta 80, 443 para outro servidor, mas somente nesse endereço especifico.
Abraços
André Lima
Re: Iptables - Redirecionamento interno
André, eu acho que eu estou entendo seu problema, se eu estiver errado, me explique novamente.
Voce tem um servidor que esta conectado a apenas 01 internet por uma interface de rede. E tem tambem outra interface de rede que esta para o seu switch. Ambas com somente 01 ip. (situação mais comum)
Nessa situação, ainda tem 02 casos para a sua interface de rede que esta com internet:
- Essa interface ter um ip não valido atras de um routeador ou modem adsl
- Essa interface ter um ip valido, concedido apos uma autenticação ppp.
1º caso:
A regra a ser utilizada seria essa:
Código :
iptables -t nat -I PREROUTING -i eth0 -d [COLOR=red]10.1.1.2[/COLOR] -p tcp -m multiport --dports 80,443 -j DNAT --to 192.168.0.50
2º caso:
A regra a ser utilizada seria essa:
Código :
iptables -t nat -I PREROUTING -i eth0 -d [COLOR=red]200.200.200.200[/COLOR] -p tcp -m multiport --dports 80,443 -j DNAT --to 192.168.0.50
Agora vamos ao detalhamento do dyndns:
O simples fato de voce criar um dyndns seria simplesmente para voce identificar o seu ip dinamico após a troca de ip. Porem, ao chegar no firewall, o pacote nao vem descrito o endereço dyndns no seu destino, e sim, o seu endereço de ip.
No momento onde um cliente (fora de sua rede), tenta acessar o serviço (ex.: web) utilizando o seu endereço de dyndns, o navegador troca o endereço dyndns pelo endereço de ip atual, e envia o pacote solicitando o site.
Já vi casos (inclusive eu ja fiz isso) de que a pessoa cria 2 endereços dyndns diferentes apontando para um mesmo destino, um firewall. Quando chega no firewall, ele quer que venha as solicitações feitas pelo dydns_01 sejam encaminhadas para o servidor_web_01. E quando vem do dyndns_02, sejam encaminhadas para o servidor_web_02. Isso não é possivel como falei acima, o pacote chega ao firewall sem o endereço.
Obs.: Voce pode até colocar o endereço dyndns no parametro -d (em vermelho acima). Porem, da mesma forma, o iptables irá resolver o endereço dyndns com o dns e irá aplicar na regra o endereço que ele obtiver de resposta
Para mim resolver o problema do meus sites (citado acima), eu criei virtualhosts no meu apache.
Espero ter ajudado.
Re: Iptables - Redirecionamento interno
Ok, obrigado pela ajuda.
Estou tentando e ver se dá certo.
Abraços
André Lima