Bastion Firewall Anfitrião ipTables Redirect Question

2

Alguns antecedentes:

Um firewall foi construído usando o RH Fedora 13, o Kernel 2.6.34.7-63 e o IPTables 1.4.7. O firewall é uma configuração simples de adaptador duplo, com a interface externa (eth0) voltada para a internet, e a outra interface (eth1) voltada para uma pequena rede privada (sub-rede IP única). O firewall é um host bastion, o que significa que o host do firewall não contém nada além do sistema operacional, IPTables e apenas os itens necessários para suportar a operação do próprio host. O firewall não executa nenhum outro aplicativo.

Contido na rede privada é um servidor da Web.

Rede: Endereço Base: 149.10.10.0/24 Servidor Web: 149.10.10.25 Clientes: localizados em vários endereços na sub-rede. Firewall eth1 Endereço: 149.10.10.1 Endereço DNS: 149.10.10.2

PERGUNTA Dado que os clientes na rede interna podem navegar livremente pela Internet: se os clientes selecionam um site específico (ou seja, www.website.com), meu objetivo é configurar o IPTables para redirecionar o cliente para o servidor web interno.

  • Se o navegador da web do cliente estiver navegando em www.website.com, o iptables redirecionará o cliente para 149.10.10.25
  • Se o navegador da web do cliente for navegar em qualquer outro site, o iptables permitirá que o cliente encaminhe para a internet.

Eu tentei várias regras do iptables, incluindo:

iptables -v -t nat -A PREROUTING - na interface eth1 --dport 80 -d www.website.com -j DNAT - a 149.10.10.25

No entanto, isso parece não ter efeito.

Por favor, você pode recomendar a regra que eu deveria estar usando para realizar essa façanha?

    
por iic1tls 14.12.2010 / 16:04

2 respostas

0

Supondo que você possa fazer isso com iptables , e não tenho certeza de que pode devido à natureza não roteada do tráfego de retorno de 149.10.10.25 para os clientes, você redirecionará all Hosts da Web que residem no endereço IP associado a www.website.com .

Isso é inevitável, porque o iptables é essencialmente uma ferramenta da camada 3 e lida com endereços IP e nomes de host HTTP.

Acho melhor você instalar um proxy do squid em sua rede interna, configurar esse para executar o redirecionamento para um nome de domínio e reconfigurar seus clientes para usar o proxy. Você também pode usar iptables no bastião para evitar que todo o tráfego http entre e saia da sua rede interna, para garantir que o proxy seja usado.

    
por 14.12.2010 / 16:23
0

Abaixo está a sintaxe que eu uso para uma regra semelhante, mas meu tráfego é para externo para interno.

-A PREROUTING -i eth0 -p tcp -m tcp -d X.X.X.X --dport 80 -j DNAT --to-destination Y.Y.Y.Y:80

Você também precisa ter certeza de que o ip_forward está ativado e as regras de encaminhamento corretas para permitir o tráfego de volta.

    
por 14.12.2010 / 17:17