Encaminhamento para o Gateway de Área de Trabalho Remota na rede interna

1

Eu tenho um único host físico que estou usando como um laboratório de virtualização e várias VMs no Hyper-V que estão conectadas ao host por meio de uma rede interna. Eu tinha que trabalhar para que o host físico agisse como o Gateway de Área de Trabalho Remota que o roteador aponta para o gateway e tudo estava bem, eu poderia fazer login na minha VM pela Internet.

Desde então, mudei meu Gateway para uma VM na rede interna que está no DNS do meu diretório ativo em remote.example.com com um endereço IP estático. Isso é para que as VMs individuais executem funções específicas e, eventualmente, eu possa usar o balanceamento de carga nas minhas VMs.

No momento, com apenas 1 VM agindo como um RDG, consigo acessar todas as minhas VMs na rede interna bem da minha máquina host, já que ele pode ver o endereço IP para remote.example.com. Imaginei que precisaria adicionar alguns encaminhamento / roteamento / redirecionamento à máquina host para tornar o Gateway visível de "fora".

(Internet) == 1 == > (Roteador) == 2 == > [Host] == 3 == > [remote.example.com] == 4 == > [VM_1 | VM_2 | VM_3]

Qual é a maneira correta de fazer com que meu host faça solicitações de proxy para minha VM / gateway interna?

Minha configuração atual para ARR no meu ApplicationHost.config:

<webFarms>
    <webFarm name="Remote" enabled="true">
        <server address="192.168.1.3" enabled="true" />
        <applicationRequestRouting>
            <protocol>
                <cache enabled="false" />
            </protocol>
        </applicationRequestRouting>
    </webFarm>
    <applicationRequestRouting>
        <hostAffinityProviderList>
            <add name="Microsoft.Web.Arr.HostNameRoundRobin" />
            <add name="Microsoft.Web.Arr.HostNameMemory" />
        </hostAffinityProviderList>
    </applicationRequestRouting>
</webFarms>

Em system.webServer / rewrite / globalRules:

<globalRules>
    <rule name="ARR_Remote_loadbalance_SSL" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" />
        <conditions>
            <add input="{HTTPS}" pattern="on" />
            <add input="{HTTP_HOST}" pattern="remote.example.com" />
        </conditions>
        <action type="Rewrite" url="https://Remote/{R:0}" />
    </rule>
    <rule name="ARR_Remote_loadbalance" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" />
        <action type="Rewrite" url="http://Remote/{R:0}" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="remote.example.com" />
        </conditions>
    </rule>
</globalRules>

Editar:

Em um dispositivo externo, posso me conectar a https://remote.example.com e ver a página de entrada do IIS. Quando eu vou para https://remote.example.com/rpc eu recebo     503 Deve usar post

Quando tento usar o servidor Gateway por meio de um cliente RDP, recebo

The gateway failed to connect with the message: 404 not found

Após a reinicialização do Host e da VM, consigo acessar o site de um dispositivo externo e posso executar um rastreamento de solicitação com falha na conexão RDP.

e parece que a ARR está tentando manipular a solicitação e não encaminhar a solicitação à VM remota

    
por Meberem 23.01.2014 / 00:04

2 respostas

1

Acontece que este foi um caso simples de configurações um pouco mal configuradas. O padrão que eu postei é para o roteamento ARR é {HTTP_HOST} = remote.example.com. De acordo com os logs de solicitação com falha, isso não está sendo correspondido

AcreditoqueissosedevaaofatodequeasregrasdeARRexaminamapenasonomedohost,ouseja,remote.example,emvezderemote.example.com,comováriascombinações,comoremote.example.,remote.,remoto*fazcorrespondênciaeéencaminhadocorretamente,talvezeutenhaperdidoalgunstruquescomcorrespondênciadepadrõesparaARR.

Parareferência,tenhoseguidoesteguiaemgrandeparte: link

    
por 23.01.2014 / 23:53
0

Tenho certeza de que o uso do ARR não é suportado, mesmo que funcione. Sua saída mais fácil é permitir que a VM do gateway fale com a rede "externa" para que o roteador possa enviar tráfego diretamente para ela. Ou você precisa de "algo" que possa encaminhar o tráfego para a VM do gateway, um firewall NAT ou algo assim. Eu não colocaria este "algo" na minha caixa do Hyper-V, esses devem ser mantidos o mais limpo possível.

    
por 23.01.2014 / 01:55