Назад | Перейти на главную страницу

Как создать прокси-сервер NFS с помощью сервера ядра и клиента?

У меня есть файловый сервер, который экспортирует как NFS. На машине с Ubuntu я монтирую его, а затем пытаюсь экспортировать как том NFS. Когда я иду экспортировать его, я получаю сообщение:

exportfs: /test/nfs-mount-point does not support NFS export

Как я могу заставить это работать или, по крайней мере, получить больше информации о том, в чем проблема?

Точные шаги:

Ubuntu 12.04

mount -f nfs myfileserver.com:/server-dir /test/nfs-mount-point

[Работает нормально, я могу читать и писать файлы]

/etc/exports содержит:

/test/nfs-mount-point *(rw,no_subtree_check)

sudo /etc/init.d/nfs-kernel-server restart

 * Stopping NFS kernel daemon                                      [ OK ] 
 * Unexporting directories for NFS kernel daemon...                [ OK ] 
 * Exporting directories for NFS kernel daemon...           exportfs: /test/nfs-mount-point does not support NFS export
                                                                   [ OK ]
 * Starting NFS kernel daemon                                      [ OK ] 

Протокол NFS не поддерживает прокси. Что вы можете сделать, так это использовать iptables NAT для подключения ваших клиентов к серверу, доступному только через сервер Ubuntu.

Предположим следующую сеть

       Ubuntu server eth0: x.x.x.x
       NFS server:         x.x.x.y
       Clients:            z.z.z.0/24
       Ubuntu server eth1: z.z.z.x

тогда вам понадобятся такие правила iptables:

  -t nat -A POSTROUTING -s z.z.z.0/255.255.255.0 -d x.x.x.y -o eth0 -j SNAT \
                --destination x.x.x.y --to-source z.z.z.x
  -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT