Passando o tráfego do Linux NFS pelo Windows Server 2008

1

Estamos desenvolvendo um dispositivo embutido que roda no Linux e usa montagens NFS para ajudar no desenvolvimento. Estamos trabalhando em dois espaços de rede privada ( 172.16.x.y e 192.168.0.n ). A rede 192 contém o tráfego multicast 40Mb/s de que o dispositivo precisa, mas para não sobrecarregar a rede 172 , o tráfego de rede é gerado por um Windows 2008 R2 Server. A caixa Windows Server 2008 tem 2 NICs - uma para 192 (gerada a partir do servidor DHCP) e outra para 172 network (o gateway padrão na caixa do Windows aponta para o 172 gateway)

Em nosso ambiente de desenvolvimento, temos as seguintes conexões:

Device 172.16.50.100 (static)]----[Gateway (172.16.15.200)]----[Ubuntu Linux Server 172.16.10.100]

O dispositivo é capaz de montar e executar código no servidor 172.16.10.100 .

No entanto, quando movemos o dispositivo para a rede do Windows Server:

Device 192.168.0.2(dhcp)]---[Server 2008 (192.16.0.1)(dhcp server) NIC2(172.16.50.200)]---[Ubuntu Linux Server 172.16.10.100]

Agora, o dispositivo não consegue montar os diretórios do NFS:

\$ mount -t nfs 172.16.10.100:<path> hd
mount: 172.16.10.100:<path> failed, reason given by server: Permission denied
mount: mounting 172.16.10.100:<path> on hd failed: Bad file descriptor

Podemos fazer ping no servidor:

\$ ping -c 1 172.16.10.100
PING 172.16.10.100 (172.16.10.100): 56 data bytes
64 bytes from 172.16.10.100: seq=0 ttl=64 time=1.231 ms

--- 172.16.10.100 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 1.231/1.231/1.231 ms

Assim, o dispositivo pode ver o servidor Ubuntu bem quando está na rede 192 , mas não consegue montar o NFS.

Também desativamos o Firewall do Windows Server 2008.

Como conseguimos que os dados do NFS passem pelo servidor?

Obrigado.

    
por user626201 24.03.2015 / 09:32

1 resposta

1

@tigran - obrigado pela ajuda. Você levantou alguns pontos muito importantes.

O problema aqui foi, na verdade, números de porta.

No primeiro cenário:

Device 172.16.50.100 (static)]----[Gateway (172.16.15.200)]----[Ubuntu Linux Server 172.16.10.100]

O dispositivo solicitou:

authenticated mount request from 172.16.50.100:709
                                               ^^^

No entanto, no segundo cenário:

Device 192.168.0.2(dhcp)]---[Server 2008 (192.16.0.1)(dhcp server) NIC2(172.16.50.200)]---[Ubuntu Linux Server 172.16.10.100]

O Windows Server estava alterando o número da porta:

refused mount request from 172.16.50.217 for <path> (/home): illegal port 62441
                                                                          ^^^^^

De acordo com Man Help Pages para o arquivo de exportação :

secure
This option requires that requests originate on an Internet port less 
than IPPORT_RESERVED (1024). This option is on by default. To turn it
off, specify insecure.
     ^^^^^^^^^^^^^^^^

Vendo que esta é uma rede privada fechada, atualizamos o arquivo /etc/exports para:

/home *(rw,no_root_squash,async,no_subtree_check,insecure)
                                                 ^^^^^^^^

Para referência, as linhas de depuração vêm de /var/log/syslog depois de alterar o arquivo /etc/default/nfs-kernel-server para incluir:

RPCMOUNTDOPTS="--manage-gids --debug all"
    
por 26.03.2015 / 09:35