DMZ no ubuntu 11.04 com iptables
Olá,
Trabalho em uma empresa que gerencia acesso a internet e tenho uma necessidade que ainda não consegui sanar.
O cliente (shopping) vende acesso a internet para suas lojas, até ai nada demais, o problema é que algumas lojas têm serviços pela internet (sites/email/...) e por isso foram fornecidos ips publicos. Agora preciso colocar um servidor linux que entregue ips privados sem que as lojas percam os seus serviços online.
A minha ideia é a loja receber um ip privado (10.10.10.0/24) e o servidor redirecionar os pacotes de um ip valido para esse ip privado.
A grande dificuldade é fazer com que os ips usados pelas lojas sejam colocados no linux e possam direcionar para cada loja correspondente.
ips usados hoje:
loja 1: 200.200.200.2
loja 2: 200.200.200.3
loja 3: 200.200.200.4
loja 4: 200.200.200.5
Exemplo: Com uma interface virtual na interface do link, usaria algumas regras que redirecionassem todas as requisições com destino a interface virtual para o ip privado da loja 1, ou seja, o servidor linux terá na sua placa de rede ligada no link o ip 200.200.200.1 e quando receber requisições para o ip 200.200.200.2 direcionar para o ip privado da loja 1.
Não consegui montar um conjunto de regras que eu consiga fazer isso. Abaixo algumas regras que eu tentei.
informando que a primeira regra do firewall é drop para tudo.
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I PREROUTING -i eth0:1 -j DNAT -to 10.10.10.154
iptables -t nat -I PREROUTING -i eth0:1 -d 10.10.10.154 -j ACCEPT
iptables -t nat -I PREROUTING -i eth0:1 -p tcp REDIRECT -to 10.10.10.154
iptables -I PREROUTING -t nat -d 10.10.10.154 -j RETURN
iptables -I FORWARD -d 10.10.10.154 -j ACCEPT
Alguém pode me guiar para eu resolver isso?
Re: DMZ no ubuntu 11.04 com iptables
Citação:
Postado originalmente por
eduoliv
Não consegui montar um conjunto de regras que eu consiga fazer isso. Abaixo algumas regras que eu tentei.
informando que a primeira regra do firewall é drop para tudo.
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I PREROUTING -i eth0:1 -j DNAT -to 10.10.10.154
iptables -t nat -I PREROUTING -i eth0:1 -d 10.10.10.154 -j ACCEPT
iptables -t nat -I PREROUTING -i eth0:1 -p tcp REDIRECT -to 10.10.10.154
iptables -I PREROUTING -t nat -d 10.10.10.154 -j RETURN
iptables -I FORWARD -d 10.10.10.154 -j ACCEPT
Alguém pode me guiar para eu resolver isso?
Vamos do começo...
1 - O iptables é "top-Down", ou seja, ele lê as regras de cima para baixo. Se a primeira regra do seu firewall faz drop em tudo, ele desconsidera tudo que vem abaixo;
2 - a tabela "Nat" não é local para regras com "ACCEPT", estas devem ficar na tabela "filter".
3 - organize suas regras em um arquivo, de forma lógica e ordenada. Agrupe as regras que tratm de um mesmo "problema".
Você está no caminho certo, só colocando as coisas nos lugares errados...
Re: DMZ no ubuntu 11.04 com iptables
Esquentei um pouco a cabeça mas consegui resolver com...
iptables -t nat -I PREROUTING -d 200.200.200.2 -p tcp -j DNAT --to 10.10.10.154
Posso ter feito uma coisa simples... mas to me sentindo "o cara"... :)
Re: DMZ no ubuntu 11.04 com iptables
Citação:
Postado originalmente por
eduoliv
Esquentei um pouco a cabeça mas consegui resolver com...
iptables -t nat -I PREROUTING -d 200.200.200.2 -p tcp -j DNAT --to 10.10.10.154
Posso ter feito uma coisa simples... mas to me sentindo "o cara"... :)
É exatamente isso. E agora você consegue controlar o fluxo de dados (liberações e bloqueios) através da tabela filter, com regras de FORWARD.
Parabéns!
Re: DMZ no ubuntu 11.04 com iptables
continuando com a situação... preciso que o pacote que chegou pelo ip 200.200.200.2 (interface virtual) e foi direcionado para 10.10.10.154 volte para o destino com o endereço de ip 200.200.200.2 no cabeçalho e não o ip que que está no router (200.200.200.1).
Isso é necessário pois o cliente que acessa um noip ou meuip.com.br veja no ip de saída o que é direcionado para ele.
Não encontrei regra onde eu possa especificar o ip que deve ser colocado quando mascarar...
Alguém pode me guiar para eu encontrar a solução?
Re: DMZ no ubuntu 11.04 com iptables
Faz tempo que não mecho com iptables então pode estar errado... mas não custa tentar...
Como vc fez DNAT ( Destination NAT ) para o endereço local ( 10.10.... ) eu acredito que fazendo SNAT para o IP-externo funcione... rs mas não tenho certeza... me corrijam os mais experientes em iptables ae...
ex.:
Código :
iptables -t nat -I POSTROUTING -s 10.10.10.154 -p tcp -j SNAT --to 200.200.200.2
Att.