Неоднокрано у меня появлялись задачи, когда нужно достаточно тесно переплести несколько серверов, чтобы они могли видеть и обмениваться файлами между собой. Там где есть только Unix(Linux), samba как-то особо не нужна и, к тому же, есть простое и эффективное решение - NFS (Network File System). Решение это обладает ограниченной областью применимости, а именно: по разным сообщениям технология RPC, используемая в NFS достаточно дырявая, и ее желательно использоваться только для trusted-хостов, которые должны быть соответственным образом прописаны. Об этом по ходу действа я еще вспомню. == Настройка NFS-сервера == Итак, на одном из серверов я хочу предоставлять некоторую папку в общий доступ. Для этого необходимо обратиться к демонам: nfsd, mountd, rpcbind, т.е. прописать их как полагается в /etc/rc.conf: rpcbind_enable="YES" nfs_server_enable="YES" nfs_server_flags="-u -t -n 4 -h 192.168.1.1" mountd_enable="YES" mountd_flags="-r -n" nfs_client_enable="YES" Последняя строка говорит о том, что мой сервер сам является клиентом для другого сервера - это не всегда нужно. Хотелось бы обратить внимание на флаги nfs_server_flags - здесь я привязываюсь к конкретному интерфейсу, который, к тому же, является внутренним для моей сети. Т.е. NFS через интернет не даю никому - так безопаснее. Для интернет, в конце концов, есть другие протоколы. Необходимо также открыть порты на фаерволе, обычно 2049 и еще какие-то. Я их не запоминаю, потому что есть команда которая вносит полную ясность в этот вопрос: # rpcinfo -p Папки, которые будут "расшарены" нужно прописать в файл /etc/exports примерно так: /home/share -alldirs -maproot=root 192.168.1.2 Как видно последним параметром в строке идут IP-адреса тех хостов, которым дозволено монтировать хозяина. Это важно. Есть еще нюанс с безопасностью: rpcbind нужно разрешить в файле /etc/hosts.allow: rpcbind : 192.168.1.2/255.255.255.0 : allow rpcbind : ALL : deny Мысль всё та же - я разрешаю NFS только конкретным хостам и никому более. Как всегда, рестартуем: # /etc/rc.d/mountd restart # /etc/rc.d/rpcbind restart # /etc/rc.d/nfsd restart Теперь, если всё сделано правильно, можно перейти к настройке клинта - это намного проще. == Настройка NFS-клиента == Настройку клиента лучше всего начать с настройки файервола - я сначала об этом забыл и потом сломал мозг, разбираясь почему папка не монтируется. Потому что других настроек крайне мало. Как уже говорилось в /etc/rc.conf нужно прописать: nfs_client_enable="YES" Дальше стартуем локальный асинхронный сервер с заданным числом соединений: # nfsiod -n 4 И делаем самое главное: # mount -t nfs 192.168.1.1:/home/share /mnt Оки-оки!
Linux/Windows Справочник v0.05 © 2007-2025 Igor Salnikov aka SunDoctor