У меня две машины linux. Один из них - это машина за типичным кабельным модемом с динамическим IP + маршрутизатором OpenWRT. Машина за NAT регулярно обновляет прямую DNS-запись через вызов API с моим провайдером (т. Е. Существует динамический DNS, настроенный для идентификации этой машины). Маршрутизатор перенаправляет порт 2049 и 22 на эту машину нормально. Когда машина в общедоступном Интернете пытается подключиться к этому компьютеру по ssh с использованием проверки подлинности Kerberos, это работает благодаря опции
ignore_acceptor_hostname = true
в krb5.conf как на сервере, так и на клиенте (без этого я получаю ошибку «Билет не для нас» из-за обратного несоответствия DNS).
Однако, когда машина в общедоступном Интернете пытается смонтировать эту машину с помощью nfs4 с защитой krb5p, она не работает и дает
mount.nfs4: доступ запрещен сервером при монтировании my-dynamic-dns.name.here:/home
запуск rpc.gssd -v -v -v -f на клиентской машине показывает, что он ищет мое динамическое DNS-имя, а затем выполняет обратный поиск этого IP-адреса, а затем пытается получить участника Kerberos. Сообщение об ошибке выглядит примерно так:
ВНИМАНИЕ: не удалось создать контекст krb5 для пользователя с uid 0 для сервера RNS-Record.from.my.isp.goes.here
В современном Интернете, где IP-адреса «принадлежат» провайдерам, и все используют VPS и т.д., нет абсолютно НИКАКИХ причин думать, что записи RDNS вообще что-то значат.
Я хочу, чтобы rpc.gssd и другое связанное с ним оборудование nfs4 НЕ пытались определить IP-адрес, а вместо этого просто использовали имя, указанное в команде mount.
Вещи, которые НЕ будут работать, включают изменение / etc / hosts, потому что IP-адрес является динамическим.
Любые предложения относительно того, как я могу настроить мои общедоступные машины для подключения к этой машине через динамический IP / NAT через NFS4 с защитой Kerberos?
обратите внимание, что в /etc/krb5.conf у меня есть строка
rdns=false
что мешает Kerberos выполнять RDNS, но, похоже, не мешает NFS4 делать то же самое.
Что ж, чтобы подтвердить, что это проблема RDNS, я поместил текущую запись для моего хоста в файл / etc / hosts на клиенте, который находится в общедоступном Интернете. Он смог без проблем смонтировать каталог. Итак, хотя я не могу понять, как отключить обратный DNS, я собираюсь использовать хакер, чтобы запустить частое задание cron, которое вперед просматривает текущий IP-адрес из моего динамического имени хоста и редактирует файл / etc / host на клиент.