Правильно налаштувавши NFS можна об'єднати в одну мережу комп'ютери на різних ОС.
Що таке NFS?
Network File System - протокол мережевого доступу до файлів. Як водиться, складається з двох частин. Одна - клієнтська, яка розташована на комп'ютері, з якого переглядають вилучені дані. Інша - серверна - розташована на комп'ютері, де ці дані зберігаються. Досить зручно використовувати додатковий дисковий простір, особливо в локальній мережі. А якщо мова йде про якісь корпоративні ПК, то це просто необхідно.
Чим відрізняється?
Сьогодні існує велика кількість протоколів і самого різного програмного забезпечення, яке виконує ті ж самі функції. Чим вирізняється NFS?
- Можливість з'єднання в одну мережу комп'ютерів на різних операційних системах. Часто ОС Windows зручно з'єднати по NFS з Unix-системою. наприклад, Ubuntu. Для цих же цілей існує і застосовується Samba, але NFS легше, простіше і швидше цієї програми, оскільки реалізований на рівні ядра. Тому налаштувати доступ через нього, як правило, буде простіше.
- NFS надає прозорий доступ до файлів. Це означає, що всі видалені файли відтворюються точно так же, як і локальні. Програми не треба апгрейдити, щоб відтворити будь-який файл, що знаходиться на сервері.
- NFS відправляє тільки запитувану частина файлу, а не весь файл.
Встановлювати Network File System для повноцінної роботи необхідно, як мінімум, на два комп'ютери: сервер і клієнт. Природно, новачкові найбільше попотіти доведеться над серверної частиною, оскільки саме там необхідно «расшарівать» (відкривати доступ) папки. Однак все це виконується досить легко.
Як і більшість протоколів передачі даних, NFS зовсім не молодий. Розроблено він був в 1984 році і призначався для UNIX-систем. Це і зараз головна роль NFS, проте багато виявили, що за допомогою його дуже зручно з'єднувати Windows-комп'ютери з лінуксових. Крім того, NFS відмінно підходить для відтворення мультимедійного контента по локальної домашньої мережі. Samba в цій ролі часто підвисає і пригальмовує.
Установка серверної частини NFS
Серверну частину протоколу ми будемо ставити на Ubuntu 16.04. Природно, якщо у вас стоїть редакція Server, то процес жодним чином не відрізняється. Просто в традиційній версії Убунту деякі дії можна виконати за допомогою графічного інтерфейсу.
Встановлюємо програму. Для цього можна скористатися центром завантаження додатків. а можна просто ввести команду:
sudo apt install nfs-kernel-server
Після цього незайвим буде перевірити коректність установки. Робити це не обов'язково, але ми все ж перевіримо. Вводимо команду:
rpcinfo -p | grep nfs
Порт скрізь повинен бути 2049.
Тепер перевіряємо, чи підтримує ядро NFS. Для цього вводимо:
cat / proc / filesystems | grep nfs
Значення повинно виглядати так: nodev nfsd
Це означає, що все функціонує правильно. Якщо немає, то вводимо команду:
За допомогою її ми ставимо модуль ядра самостійно.
Додаємо протокол в автозапуск. Робити це необов'язково, але самому кожен раз включати його дуже незручно. Додати, знову ж таки, можна, користуючись спеціальним пунктом меню в настройках, а можна самостійно за допомогою команди:
sudo systemctl enable nfs
Отже, серверну частину ми встановили, залишилося правильно її налаштувати і перейти до клієнтської.
Налаштування NFS в Ubuntu містить в собі расшаріваніє певних папок.
Крім просто відкриття доступу необхідно також вказати параметри, які визначають можливості користувача по відношенню до цієї папки.
- rw - reading and writing цей параметр дозволяє читання та запис файлів в папці.
- ro - reading only - дозволяє тільки читання папки.
- sync (за замовчуванням) - параметр забезпечує надійність передачі. Якщо включений він, то не можна буде одночасно передавати кілька файлів або на різні комп'ютери. Ця установка не дасть відповідати на інші запити. Запобігає втраті даних, але передача може йти повільніше.
- async - зворотний попередньому параметр. Передача йде швидше, але виникає ризик втрати інформації.
- secure - опція дозволяє використовувати тільки порти, номер яких нижче 1024. Включено за замовчуванням.
- insecure - дозволяє використання будь-яких портів.
- nohide - якщо ви вмонтовуєте кілька директорій, серед яких є вкладені, то вкладені в відміну від батьківської будуть відображатися як порожні. Виправити це допоможе параметр
- anonuid - вказує uid для анонімів. Це спеціальний ідентифікатор користувача.
- anongid - вказує gid для анонімів. GID (Group ID) - ще один ідентифікатор користувача.
- no_subtree_check - функція відключає контроль поддерева. Справа в тому, що без неї NFS додатково перевіряє, що користувачі звертаються тільки в потрібні розділи каталогу. Це уповільнює роботу. Параметр дозволяє прискорити її, але знижує безпеку.
Їх ми і будемо використовувати в залежності від того, що потрібно в конкретній ситуації.
Створимо нову папку. Можна використовувати і нову. Наша папка буде / var / network.
Тепер необхідно додати цю папку в файл / etc / exports. Там зберігаються всі файли і папки з відкритим доступом до мережі. Запис повинен виглядати так:
192.168.1.1 - це IP, за яким ми здійснюємо передачу. Вказувати його обов'язково.
Оновлюємо таблицю експорту:
sudo exportfs -a
Тепер спробуємо отримати доступ до папки з боку клієнта.
Установка і настройка клієнтської частини NFS
На Убунту підключити налаштований сервер не складе труднощів. Робиться це всього за пару команд.
Встановлюємо спеціальний клієнтський пакет:
sudo apt install nfs-common
Далі просто користуємося командою:
sudo mount 192.168.1.1:/var/network/ / mnt /
Мережева папка підключена. За допомогою df можна перевірити всі підключені мережеві папки:
Також можна перевірити свій рівень доступу спеціальної командою:
Відключаємо файлову систему в такий спосіб:
sudo umount / mnt /
Майже всюди використовується команда mount. Вона відповідає за процес монтування, тобто, підготовки простору на жорсткому диску для використання його операційною системою. Звучить складно, але якщо спростити, вийде, що ми просто перекидаємо мережеві файли на наш комп'ютер в новоявлену папку. Тут вона називається / mnt /.
З Віндою, як правило, все складається куди складніше. NFS клієнт без проблем можна запустити на всіх серверних Windows. Зі стандартних він присутній на:
- Windows 7 Ultimate / Enterprise
- Windows 8 / 8.1 Enterprise
- Windows 10 Enterprise
Більше ніде не знайти. Якщо у вас одна з цих версій, робимо наступне:
- Відкриваємо меню «Програми та засоби».
- Тиснемо «Додавання компонентів».
- Знаходимо там NFS і ставимо тільки «Клієнт для NFS», інший компонент нам не потрібен.
Після підключення монтується все такий же командою:
mount 192.168.1.1:/var/network/ / mnt /
Розмонтувати можна наступним чином:
Команди вводяться в командний рядок, запущену від імені адміністратора. Після цього ви без праці, користуючись Провідником, зможете знайти потрібний мережний диск.
А що робити, якщо клієнта для NFS на комп'ютері немає? Можна спробувати завантажити софт через сайт Microsoft або зі сторонніх ресурсів. Можливо, що тут знадобляться інші команди або дії.
Тепер у вас з'явилися базові уявлення про те, як можна використовувати NFC і провести найпростішу настройку. Цих знань вистачить, щоб налагодити доступ з одного комп'ютера до іншого. Причому в ролі клієнта може виступити і ПК на Windows.