PortForwarding para o IIS no Linux

2

Estou tentando configurar o encaminhamento de porta em uma caixa Linux para um servidor da Web IIS na minha rede interna. O servidor web fica no Windows 2003 Server.

Minha caixa de linux tem:

  • eth0 - conexão com a Internet
  • eth1 - sub-rede interna (10.10.10.x)
  • eth2 - segunda sub-rede interna (192.168.0.x) interface dhcp

Meu servidor está na interface eth2 (192.168.0.6)

Estou fazendo o encaminhamento de porta para a porta 80 sem sucesso. Eu uso o mesmo conjunto de regras para redirecionar para um servidor diferente e funciona.

O webapplication está disponível na rede interna, mas não para usuários externos.

iptables -t nat -A PREROUTING -p tcp -i eth0 -d $PUBLIC_IP --dport 80 -j DNAT --to 192.168.0.6:80
iptables -A FORWARD -p tcp -i eth0 -o eth2 -d 192.168.0.6 --dport 80 -m state --state NEW -j ACCEPT
iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Alguma idéia?

    
por Zoredache 12.03.2010 / 00:35

4 respostas

1

Obrigado a todos por suas respostas. O problema foi encontrado na configuração de rede na caixa do servidor IIS. Por alguma razão, o gateway padrão não foi configurado ... doh, Leason aprendeu, não confie no que os outros lhe dizem.

As regras que usei originalmente funcionam.

    
por 16.03.2010 / 20:08
0

Talvez isso não se ajuste ao seu modelo de segurança, mas você pode querer instalar o apache e usar o módulo proxy para rotear o tráfego para o servidor da Web do IIS. Além disso, você pode configurá-lo para filtrar todos os URLs, exceto os que você define estritamente, permitindo que a instalação do IIS seja mais segura.

Arquivo de configuração do Apache:

       <Proxy *>
               # deny most all requests
               Order deny,allow
               # allow from your internal network
               Allow from 192.168.x.x
       </Proxy>

       ProxyPass /yoursite http://internal_site/yoursite
    
por 12.03.2010 / 00:39
0

Eu não acho que você precise usar o MASQUERADE. Tente usar o SNAT.

    
por 12.03.2010 / 06:24
0

Sempre tive sorte com o IIS e o iptables usando o seguinte script:

$ IPTABLES -P INPUT DROP $ IPTABLES -P SAÍDA DE SAÍDA $ IPTABLES -P DROP PARA A FRENTE

$ IPTABLES -t nat -A PREROUTING -j DNAT -p tcp -d $ EXT_IP --dportar $ WWW_PORT --para o destino $ WWW_IP $ IPTABLES -t nat -A POSTROUTING -o $ EXT_IFACE-j MASQUERADE

$ IPTABLES -A ENTRADA -m estado - estado ESTABELECIDO, RELACIONADO -j ACEITAR $ IPTABLES -A ENTRADA -p all -i $ LO_IFACE -j ACEITAR $ IPTABLES -A ENTRADA -p all -s $ LO_IP -j ACEITAR

$ IPTABLES -A OUTPUT -m state - state ESTABELECIDO, RELACIONADO -j ACCEPT

$ IPTABLES -A FORWARD -m estado! --state NOVO -j DROP $ IPTABLES -A FORWARD -m state - state ESTABELECIDO, RELACIONADO -j ACEITAR $ IPTABLES -A FORWARD -p tcp -i $ EXT_IFACE -s $ ANY -d $ WWW_IP --dportar $ WWW_PORT -j ACEITAR

$ IPTABLES -A FORWARD -p all -i $ INT_IFACE -j ACEITAR

    
por 12.03.2010 / 15:43