Ekspor nfs ke perangkat dalam kisaran ip lokal tanpa menentukan ip lokal


0

Saya memiliki sistem yang berisi sejumlah raspberry pi, salah satunya adalah 'master' yang harus mengekspor nfs ke sejumlah perangkat 'budak' dalam sistem.

Sistem akan terhubung ke jaringan pengguna akhir; pengguna akhir akan dapat menentukan rentang subnet ip yang harus dikomunikasikan oleh pi.

Untuk mengurangi kompleksitas pengaturan bagi pengguna akhir, apakah mungkin untuk menentukan di / etc / ekspor untuk dibagikan hanya dengan alamat ip lokal pi?

Sesuatu seperti:

/home      local-ip/255.255.255.0(ro)

Untuk menjadi jelas: Jika pengguna akhir menetapkan ip pi berada di kisaran 10.0.1.x atau kisaran 192.168.5.x, apakah mungkin bagi ekspor untuk secara otomatis menggunakan rentang ini tanpa memodifikasi / etc / ekspor? Saya tidak ingin mengekspor ke semua ip.

Info lain: Pengguna tidak memiliki komunikasi dengan sistem saat digunakan. Kartu SD untuk pi memiliki partisi FAT kecil yang dapat dipasang pengguna akhir di komputer windows dan memodifikasi file antarmuka yang bersumber dari / etc / network / interfaces untuk memungkinkan mereka mengubah ip. / Etc / ekspor tampaknya tidak mendukung sumber dari file lain.

Jawaban:


2

Kamu benar, /etc/exports tidak dapat bersumber dari metode konvensional - namun Anda dapat membuat skrip konten file:

#!/bin/bash
ip_info=$(ip a | grep inet | grep -v "127.0.0.1" | cut -d " " -f 6)
range=$(echo $ip_info | sed 's/\.[0-9]\+\//\.0\//g')
echo "/home/              $range(ro)" > /etc/exports
exportfs
/etc/init.d/nfs-kernel-server restart

Tempatkan itu dengan editor favorit Anda di /root/set_nfs_exports.sh dan membuatnya bisa dieksekusi

chmod +x /root/set_nfs_exports.sh

dan menjalankannya setelah antarmuka jaringan muncul

ln -s /root/set_nfs_exports.sh /etc/network/if-up.d/export-nfs

Semoga ini membantu

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.