Eu tenho duas máquinas linux. Uma é uma máquina por trás de um típico modem de cabo IP dinâmico + roteador OpenWRT. A máquina por trás do NAT atualiza regularmente um registro DNS de encaminhamento por meio de uma chamada de API com o meu provedor (ou seja, há um DNS dinâmico configurado para identificar essa máquina). O roteador encaminha a porta 2049 e 22 para esta máquina bem. Quando uma máquina na Internet pública tenta ssh para esta máquina usando a autenticação Kerberos, ela funciona graças à opção
ignore_acceptor_hostname = true
no krb5.conf no servidor e no cliente (sem isso eu recebo erros "Ticket is not for us" devido a incompatibilidade de dns reversos).
No entanto, quando uma máquina na Internet pública tenta montar nfs4 esta máquina com segurança krb5p, ela não funciona e dá
mount.nfs4: access denied by server while mounting
my-dynamic-dns.name.here:/home
rodando rpc.gssd -v -v -v -f na máquina cliente mostra que ele está procurando pelo meu nome dinâmico de dns, e então inverte procurando pelo endereço IP e então tentando obter um kerberos principal. Mensagem de erro parece algo como:
WARNING: Failed to create krb5 context for user with uid 0 for server RNS-Record.from.my.isp.goes.here
Na internet moderna, onde os endereços IP são "de propriedade" dos provedores e todos estão usando um VPS, etc, não há absolutamente nenhuma razão para pensar que os registros RDNS significam alguma coisa.
O que eu quero é que o rpc.gssd e outro maquinário nfs4 associado NÃO tentem encontrar o endereço IP, e apenas usar o nome que eu forneci no comando mount.
As coisas que NÃO FUNCIONAR incluem a modificação de / etc / hosts porque o endereço IP é dinâmico.
Alguma sugestão de como eu posso configurar minhas máquinas públicas para me conectar a esta máquina por trás de um IP / NAT dinâmico via NFS4 com segurança kerberos?
observe que em /etc/krb5.conf eu tenho a linha
rdns=false
que impede que o kerberos faça RDNS, mas não parece impedir o NFS4 de fazer o mesmo.