
Eu tenho uma máquina VM que possui uma interface IP pública e uma interface IP privada. A interface privada é atribuída a 192.168.50.78. Então eu tenho um host dedicado que atua como meu "roteador" usando o IP privado 192.168.50.1 e este é, portanto, meu gateway para minha rede local 192.168.50.0/24. O "roteador" que tenho é o OPNsense.
Dito isto, estou tentando montar minha VM em meus dois servidores NFS remotos. A montagem falha devido a uma porta ilegal proveniente da minha VM, que está por trás do NAT:
[root@NFSHOST ~]# tail -f /var/log/messages | grep "rpc.mountd"
Feb 21 22:31:40 NFSHOS rpc.mountd[28721]: refused mount request from 197.189.XXX.ZZZ for /data/secondary (/data/secondary): illegal port 33744
Feb 21 22:35:22 NFSHOS rpc.mountd[28721]: refused mount request from 197.189.XXX.ZZZ for /data/secondary (/data/secondary): illegal port 40085
E isso se deve à tradução da porta acontecendo. Uma solução é adicionar insecure
ao meu /etc/export
arquivo, que testei e posso confirmar que realmente funciona.
No entanto, como sugere, é insecure
altamente não recomendado. Tentei adicionar uma regra de encaminhamento de porta no OPNsense e, por algum motivo, ela continua falhando com portas ilegais.
Existe alguma maneira de resolver esse problema? PS: Também não posso usar o modo "ponte", preciso definir algum tipo de regra no OPNsense para lidar com isso de acordo e não tenho certeza.
Responder1
Consegui finalmente resolver esse problema específico. Me disseram aqui:Link do OPNsense
A seguir:
Os servidores IIRC NFS esperam que as portas de origem provenientes dos clientes sejam inferiores a 1024 para serem consideradas seguras. Certifique-se de verificar a "porta estática" em sua regra de saída NAT para evitar que o firewall modifique a porta de origem em pacotes TCP e UDP.
Acabei adicionando uma regra de saída NAT no OPNsense para toda a LAN local com porta estática habilitada e isso resolveu o problema. Agora posso montar o NFS por meio de intervalos de portas seguros.
Responder2
Para mim, o problema era que o servidor não suportava versões mais antigas do protocolo. Você pode forçar um cliente a usar outra versão como esta:
mount -o vers=3 -t nfs 123:/
Isso se aplica ao cliente Linux padrão, é claro. Se você não consegue influenciar um cliente como este veja neste post como ter suporte a outros protocolos no lado do servidor: