Como permitir tráfego RPC quando existe uma firewall intermédia
Os clientes Microsoft em Windows 2008 podem ter problemas no acesso por RPC se estamos a usar firewalls entre redes.
Para ultrapassarmos este problema 1º devemos verificar o range de portos dinamicos atribuidos no windows 2008 :
netsh int ipv4 show dynamicport tcp
Output:
Protocol tcp Dynamic Port Range
---------------------------------
Start Port : 1025
Number of Ports : 64510
Neste caso especifico temos um default com todos os portos acima de 1024. Como o valor maximo de portos dinamicos é 65535 teremos:
65535 - 1025 = 64510 este é o tamanho máximo possivel
Lembrar que o range vai desde:
1025------------------------------------------
65535
Dynamic Port Range - Start Port = Number of Ports possiveis
Nota: Ter atenção que o Number of Ports é quantidade máxima de portos que queremos disponibilizar o range não pode ultrapassar os 65535.
O intervalo é definido separadamente para cada transporte e para cada versão do IP. Neste output temos um intervalo bastante grande e que deveremos limitar de forma a não ser necessario abrir um range muito grande de portos na firewall.
A sintaxe do comando é:
netsh int <ipv4|ipv6> set dynamic <tcp|udp> start=number num=range
Exemplo:
netsh int ipv4 set dynamicportrange protocol=tcp start=5000 num=10000
netsh int ipv4 show dynamicport tcp
Protocol tcp Dynamic Port Range
---------------------------------
Start Port : 5000
Number of Ports : 10000
Neste caso teremos um range de:
5000------------------------------------------15000
Neste caso teremos um range defenido com 10000 ports acima do porto 5000 inclusive.
Neste exemplo só teremos de permitir na firewall o trafego RCP neste intervalo de portos.