NFS, acrónimo de Network File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera transparente, más comúnmente utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de contraseñas como el que tiene SAMBA, solo una lista de control de acceso determinada por direcciones IP o nombres. Es por esto que es importante que el administrador de la red local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si este no es configurado apropiadamente e implementado detrás de un contrafuegos o firewall.
Personalmente, solo recomiendo utilizar NFS dentro de una red local detrás de un contrafuegos o firewall que permita el accesos solo a las máquinas que integren la red local, nunca para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autenticación por contraseñas, es un servicio susceptible del ataque de algún cracker. SAMBA es un mucho mejor y más seguro protocolo para compartir sistemas de archivos.
Teniendo en cuenta los aspectos de seguridad mencionados, es importante que siga los procedimientos descritos a continuación al pie de la letra, y que posteriormente se comprometa también consultar a detalle la documentación incluida en el paquete nfs-utils, ya que este le proporcionará información adicional y completa sobre aspectos avanzados de configuración y utilización.
Usted necesitará instalar los siguientes paquetes:
Instalar el servidor NFS
Escriba el siguiente comando (también debe instalar nfs4-acl-tools y nfs-utils en los clientes):
La forma como compartimos los archivos es a través del archivo /etc/exports. En él se controla cuáles archivos y carpetas se van a compartir. Usaremos el siguiente formato:
# yum install nfs-utils nfs4-acl-tools portmap
1
2
3
/carpeta1 servidor.example.com(opciones)
/carpeta2 192.168.1.0/24( opciones )
/carpeta3 192.168.1.5( opciones ) 192.168.1.15( opciones ) pc202.nixcraft.net.in( opciones )
Así especificaremos, por ejemplo que la carpeta 1 será compartida solamente con el servidor "servidor.example.com"
Entonces, para compartir la carpeta /ventas, ejecutaremos el siguiente comando:
Y agregaremos la siguiente configuración:
donde
Guarde y cierre el archivo. Inicie los servicios:
vi /etc/exports
/ventas 192.168.1.15(rw,sync,fsid=0) 192.168.1.16(rw,sync,fsid=0)
chkconfig nfs on
chkconfig portmap on
service portmap start <-- (para soporte para NFS v3)
service nfs start
El resultado debe ser como sigue:
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Note que el servicio portmap no es necesario para NFSv4.
Debe abrir el puerto TCP 2049 para recibir conexiones NFSv4.
El TCP Wrapper es un sistema de filtro que actúa a nivel de cada máquina autorizando o restringiendo el acceso a internet.
Edite el archivo /etc/hosts.deny:
vi /etc/hosts.deny
Agregue las siguientes líneas (útil tanto para NFSv4 y NFSv3):
portmap:ALL
Finalmente, edite el archivo /etc/hosts.allow y agregue las IP de los servidores que autorizará, repitiendo en tantas lineas como sea necesario:
portmap:192.168.1.0/24
Guarde y cierre el archivo.
Los clientes pueden montar la carpeta compartida usando los siguientes comandos:
mkdir /ventas mount -t nfs4 servername:/ /ventas/ df -H cd /ventas ls >testfile ls testfile && rm testfile
##################################################################
##################################################################
MANUAL
December 8, 2009 – 4:46 pm
NFS se puede traducir como Network File System, y se trata justamente de eso, un sistema de archivos para compartir a través de la red. El acceso a NFS es sumamente útil para compartir recursos a través de una misma red. En el siguiente artículo trataré de explicar como montar un server NFS y de qué manera se puede acceder desde un server cliente. El tutorial está orientado a CentOS / RHEL
Instalamos dependencias:
yum install nfs-utils nfs-utils-lib sytem-config-nfs
Configuramos el arranque del servicio cuando bootea la máquina:
chkconfig nfs on
chkconfig portmap on
Configuramos el Host que conectará al server:
nano -w /etc/exports
Y agregamos el siguiente contenido:
/home/webtech/imagenes 192.168.1.10(rw)
/home/webtech/imagenes es el directorio a compartir, y 192.168.1.10 es la IP desde donde permitiré que conecten, rw son los permisos de lectura y escritura desde ese host. Esto reemplázalo en base a tus propias necesidades.
Luego de esto, agregamos estas líneas al final del archivo /etc/hosts.allow:
# NFS
portmap : 192.168.1.10
lockc : 192.168.1.10
mountd : 192.168.1.10
rquotad : 192.168.1.10
statd : 192.168.1.10
Finalmente, debemos permitir acceso en nuestro firewall para la IP 192.168.1.10. Según estuve viendo los puertos que abre NFS son randómicos, así que (hasta que vea como dejarlos fijos) es abrir acceso completo para la IP, si usas CSF añadela a /etc/csf/csf.allow y si no usas /etc/apf/allow.apf (creo que era así, hace años no uso este firewall), luego reinicia el firewall y listo.
Desde la máquina Cliente:
service portmap on
chkconfig portmap on
Asegúrate que permites la salida de conexiones hacia la IP del server NFS y para conectar, ej: reemplaza los directorios pertinentes y tipea:
mount 192.168.1.16:/home/webtech/imagenes /home/imagen
Desmontamos:
umount -f /home/imagen
Si todo va bien puedes agregarla al /etc/fstab para que se automonte al inicio del sistema, reemplaza por tus valores:
192.168.1.16:/home/webtech/imagenes /home/imagen nfs defaults 0 0
Luego tipea ‘mount -a’ y si queda montada, pues listo
EJEMPLO:
1- Me ubico en el SERVER
es aqui en donde tengo la unidad para compartir
#mkdir /home/555
2- Editamos el archivo /etc/exports
#nano -w /etc/exports
/home/555 10.0.0.X (rw)
3 - Reiniciamos los servicios
#service nfs restart
#service portmap respart
En algunos sistemas mas recientes el portmap esta incluido en rpcbind
#/etc/init.d/rpcbind stop
#/etc/init.d/rpcbind start
4 - Me ubico en el cliente
es aqui en donde3 edito el archivo de configuracion
#nano -w /etc/fstab
10.0.0.X:/home/555 /mnt/555 nfs
Nota!
Debemos montar la unidad a conectar en /mnt/555
5 - Montamos la Unidades
# mount -a
##########################################################
MANUAL 2
##########################################################
Esta guía explica cómo configurar un servidor NFS y un cliente NFS en CentOS 5.5.NFS significa Network File System , a través de NFS, el cliente puede acceder (leer, escribir) un recurso compartido remoto en un servidor NFS como si fuera en el disco duro local.
No tema ninguna garantía de que esto funcionará para usted!
Estoy usando dos sistemas CentOS aquí:
servidor:
En el servidor NFS se ejecuta:
yum install nfs-utils nfs-utils-lib
Luego creamos los enlaces de inicio del sistema para el servidor NFS y ponerlo en marcha:
chkconfig - 235 nfs niveles en
/ etc / init.d / iniciar nfs
del cliente:
En el cliente NFS podemos instalar de la siguiente manera (esto es en realidad el mismo que en el servidor):
yum install nfs-utils nfs-utils-lib
servidor:
Me gustaría que los directorios / home y / var / nfs accesible para el cliente, por lo tanto hay que "exportar" en el servidor.
Cuando un cliente accede a un recurso compartido NFS, esto sucede normalmente cuando el usuario a nadie . Por lo general, el / home del directorio no es propiedad de nadie (y yo no recomiendo cambiar la propiedad a nadie !), y porque queremos leer y escribir en / home , podemos decir que tenga acceso NFS debe hacerse como root ( si nuestro / home proporción era de sólo lectura, esto no sería necesario). Eldirectorio / var / nfs directorio no existe, así que podemos crear y modificar su propiedad, en mis pruebas el usuario y grupo que nadie los tenía el ID 99 en mis dos sistemas de prueba de CentOS (servidor y cliente), cuando traté de escribir en / var / nfs del cliente NFS, tengo un permiso denegado error, así que hice un chmod 777 / var / nfs para que todos pudieran escribir en ese directorio, por escrito a / var / nfs del cliente trabajaba entonces, y en el cliente los archivos escritos en el archivo / var / nfs que parecía ser propiedad del usuario y de grupo nadie , pero en el servidor que eran propiedad del usuario (inexistente) y el grupo con el identificador 65534, así que cambió de propietario de / var / nfs para el usuario / grupo de 65.534 permisos en el servidor y ha cambiado de / var / nfsde nuevo a 755 , y voilà, el cliente puede escribir en / var / nfs :
mkdir / var / nfs
chown 65534:65534 / var / nfs
chmod 755 / var / nfs
Ahora tenemos que modificar / etc / exports en el que "exportación" de nuestras acciones NFS. Se especifica / home y / var / nfscomo recursos compartidos de NFS y NFS para que diga los accesos a / home como root (para conocer más sobre / etc / exports , su formato y las opciones disponibles, echar un vistazo a
man 5 las exportaciones
)
vi / etc / exports
/ Home 192.168.0.101 (rw, sync, no_root_squash, no_subtree_check) / Var / nfs 192.168.0.101 (rw, sync, no_subtree_check)
(El no_root_squash opción hace que el / home se puede acceder como root).
Cada vez que modificar / etc / exports , debemos correr
exportfs-a
después de hacer efectivos los cambios.
klient:
Kõigepealt loome kataloogid, kus me tahame mount NFS aktsiad, nt:
mkdir-p / mnt / nfs / home
mkdir-p / mnt / nfs / var / nfs
Hiljem saame paigaldada neid järgmiselt:
mount 192.168.0.100: / home / mnt / nfs / home
mount 192.168.0.100: / var / nfs / mnt / nfs / var / nfs
Nüüd peaksite nägema kahe NFS aktsiate väljundite
df-h
[Root @ klient ~] # df-h
Failisüsteem Suurus Kasutatud Kätt Kasutage% Mounted kohta
/ dev/mapper/VolGroup00-LogVol00
28G 2.2G 25G 8% /
/ dev/sda1 99m 13M 82m 14% / boot
tmpfs 250M 0 250M 0% / dev / SHM
192.168.0.100: / home 28G 2.6G 25G 10% / mnt / nfs / home
192.168.0.100: / var / nfs
28G 2.6G 25G 10% / mnt / nfs / var / nfs
[root @ klient ~] #
ja
mount
[Root @ klient ~] # mount
/ dev/mapper/VolGroup00-LogVol00 sisse / tüüpi ext3 (rw)
proc on / proc tüüpi proc (rw)
sysfs on / sys tüüpi sysfs (RW)
devpts on / dev / pts tüüpi devpts ( rw, gid = 5, mode = 620)
/ dev/sda1 on / boot tüüpi ext3 (rw)
tmpfs on / dev / SHM tüüpi tmpfs (rw)
none on / proc / sys / fs / binfmt_misc tüüpi binfmt_misc (RW)
sunrpc kohta / var / lib / nfs / rpc_pipefs tüüpi rpc_pipefs (RW)
192.168.0.100: / home on / mnt / nfs / home tüüpi nfs (rw, addr = 192.168.0.100)
192.168.0.100: / var / nfs on / mnt / nfs / var / nfs tüüpi nfs (rw, addr = 192.168.0.100)
[root @ klient ~] #
Kliendi kohta, saate nüüd püüame luua test faile NFS aktsiad:
klient:
touch / mnt / nfs / home / test.txt
touch / mnt / nfs / var / nfs / test.txt
Nüüd mine server ja vaadata, kas saab näha nii test failid:
server:
ls-l / home /
[Root @ server ~] # ls-l / home /
Kokku 55540
-rw-r - r - 1 root root 0 16. september 17:30 test.txt
[root @ server ~] #
ls-l / var / nfs
[Root @ server ~] # ls-l / var / nfs
kokku 0
-rw-r - r - 1 65534 65534 0 16 september 17:30 test.txt
[root @ server ~] #
(Palun pange tähele erinevaid kuuluvuse test faili: / home NFS jagada saab külastatud root, seega / home / test.txt kuulub root; / var / nfs jagada saab avada nii nobody/65534 seega / var / nfs / test.txt kuulub 65534 ).
Selle asemel, paigaldus NFS aktsiate käsitsi klient, siis võiks muuta / etc / fstab nii et NFS aktsiaid saada paigaldatakse automaatselt, kui klient saapad.
klient:
Open / etc / fstab ning lisab järgmised read:
vi / etc / fstab
[...] 192.168.0.100: / home / mnt / nfs / home nfs rw, sync, kõva, intr 0 0 192.168.0.100: / var / nfs / mnt / nfs / var / nfs nfs rw, sync, kõva, intr 0 0
Selle asemel, rw, sync, kõva, intr saab kasutada erinevaid mount võimalusi. Lisateavet olemasolevaid võimalusi, vaatleme
mees nfs
Et proovida, kas teie muutmine / etc / fstab töötab, reboot klient:
reboot
Pärast reboot, siis tuleb leida kahe NFS aktsiate väljundite
df-h
[Root @ klient ~] # df-h
Failisüsteem Suurus Kasutatud Kätt Kasutage% Mounted kohta
/ dev/mapper/VolGroup00-LogVol00
28G 2.2G 25G 8% /
/ dev/sda1 99m 13M 82m 14% / boot
tmpfs 250M 0 250M 0% / dev / SHM
192.168.0.100: / home 28G 2.6G 25G 10% / mnt / nfs / home
192.168.0.100: / var / nfs
28G 2.6G 25G 10% / mnt / nfs / var / nfs
[root @ klient ~] #
ja
mount
[Root @ klient ~] # mount
/ dev/mapper/VolGroup00-LogVol00 sisse / tüüpi ext3 (rw)
proc on / proc tüüpi proc (rw)
sysfs on / sys tüüpi sysfs (RW)
devpts on / dev / pts tüüpi devpts ( rw, gid = 5, mode = 620)
/ dev/sda1 on / boot tüüpi ext3 (rw)
tmpfs on / dev / SHM tüüpi tmpfs (rw)
none on / proc / sys / fs / binfmt_misc tüüpi binfmt_misc (RW)
sunrpc kohta / var / lib / nfs / rpc_pipefs tüüpi rpc_pipefs (RW)
192.168.0.100: / home on / mnt / nfs / home tüüpi nfs (rw, sync, kõva, intr, addr = 192.168.0.100)
192.168.0.100: / var / nfs on / mnt / nfs / var / nfs tüüpi nfs (rw, sync, kõva, intr, addr = 192.168.0.100)
[root @ klient ~] #
Atentamente:
Franklin Campo