{"id":69,"date":"2017-11-06T12:21:58","date_gmt":"2017-11-06T17:21:58","guid":{"rendered":"http:\/\/blogs.gentoo.org\/chrisadr\/?p=69"},"modified":"2019-11-01T03:35:28","modified_gmt":"2019-11-01T08:35:28","slug":"como-compartir-archivos-en-una-red-linux","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/chrisadr\/2017\/11\/06\/como-compartir-archivos-en-una-red-linux\/","title":{"rendered":"C\u00f3mo compartir archivos en una red Linux"},"content":{"rendered":"<p>Este va\u00a0para nuestro\u00a0compa\u00f1ero Claudio, quien desea aprender a configurar una red Linux sin usar Samba. En un comentario poco amigable, Claudio solicita la creaci\u00f3n de un GUI para poder realizar un trabajo que miles (sino son millones) de personas ya han realizado antes y lo seguir\u00e1n realizando&#8230; como gran parte de este trabajo es por consola, y no le gusta mucho, prefiere la creaci\u00f3n de un GUI para poder utilizar de manera sencilla (a lo <em>Windows\u00a0<\/em>como \u00e9l mismo dice) su red interna. Primero vamos a discurrir un poco sobre esto antes de la soluci\u00f3n.<\/p>\n<h3>El modo empresarial vs el FOSS<\/h3>\n<p>Bueno, vamos por lo sencillo desde el principio&#8230; Esto es algo que siempre se reclama a los proyectos FOSS (Free and Open Source Software), la fatal de\u00a0<em>calidad<\/em> en el trabajo. Siempre he escuchado, pero tal\u00a0<em>juego<\/em> es mejor comprarlo de la empresa\u00a0<em>tal<\/em> porque es mejor, tal programa es\u00a0<em>mejor<\/em> que su versi\u00f3n libre, tal sistema es\u00a0<em>mejor<\/em> que otro libre. Vamos a ver por qu\u00e9 es esto:<\/p>\n<h4>La empresa\u00a0<em>tal<\/em> <strong>vive<\/strong> de su software<\/h4>\n<p>Si yo soy una empresa y mi trabajo es vender software, eso quiere decir que tengo que vender algo extremadamente\u00a0<em>bueno<\/em> para que la gente lo compre, y por tanto tengo que\u00a0<strong><em>pagar<\/em><\/strong> a mis desarrolladores para conseguirlo, y este es el punto de partida de este asunto, el software libre y en algunos casos el open source es desarrollado por\u00a0<strong><em>buena voluntad<\/em><\/strong>. A la gente no le est\u00e1n pagando por desarrollar algo para el resto. As\u00ed que si t\u00fa me dices que tal\u00a0<em>software\u00a0<\/em>o\u00a0<em>sistema<\/em> o lo que sea es mejor que su versi\u00f3n libre, pues yo te digo, probablemente, pero existe un gran problema en eso:<\/p>\n<h4>Est\u00e1 hecho para hacerte dependiente<\/h4>\n<p>Esto es como una droga, mientras m\u00e1s software privativo usas, menor es tu capacidad de pensar y resolver cosas de manera aut\u00f3noma. Solo pensemos en esto un segundo, \u00bfsaben d\u00f3nde se gana m\u00e1s,?\u00bfen la venta o en el mantenimiento? Pues la respuesta a esto es sencilla, no importa cu\u00e1n caro sea un programa o sistema, siempre ser\u00e1 mayor la ganancia en mantenimiento que la ganancia en venta, porque al momento de los problemas, no importa la cantidad de dinero que deba invertirse para resolverlo porque simplemente\u00a0<em><strong>no se puede<\/strong><\/em> cambiar la infraestructura a esas alturas.<\/p>\n<h3>La necesidad es la madre de la creaci\u00f3n<\/h3>\n<p>Una forma poco amigable de solicitar una GUI no es motivo suficiente para hacerla, y al mismo tiempo, disculpa si te duele Claudio, pero tengo cosas mucho m\u00e1s importantes que hacer y proyectos en los que participar como para invertir mi tiempo en resolver tu falta de autonom\u00eda y tu pasividad mental. Pero como lo has pedido, pues te vamos a explicar por qu\u00e9 no existen los GUI todav\u00eda para algo que en\u00a0<em>Windows<\/em> es tan sencillo.<\/p>\n<h4>Cuando compartes carpetas en windows creas huecos de seguridad<\/h4>\n<p>Aqu\u00ed m\u00e1s de uno me dir\u00e1 que me equivoco y etc etc&#8230; pero la verdad es que cuando utilizas <code>nmap<\/code> para reconocer un equipo windows, probablemente si este se encuentra en una red de &#8220;confianza&#8221;, estar\u00e1 corriendo un servicio en alg\u00fan puerto para poder compartir archivos. Esto no solo es peligroso, sino que es tan poco sabido que muchos de los ataques exitosos surgen a causa de que se estaba\u00a0<em>compartiendo<\/em> el accesso por medio de la red. \u00bfPero por qu\u00e9 surge esto? Pues porque la\u00a0<strong><em>filosof\u00eda\u00a0<\/em><\/strong> de Windows te ense\u00f1a a decir\u00a0<strong>SI<\/strong> sin saber exactamente qu\u00e9 est\u00e1 sucediendo. (\u00bfRecuerdan lo de dependencia?) Una manera muy sencilla de solucionar esto ser\u00eda cuidando bien el equipo, pero como la <em>filosof\u00eda\u00a0<\/em>de Windows no es esa, aqu\u00ed es donde el\u00a0<strong>mantenimiento<\/strong> entra en juego, y hace que tengas que\u00a0<strong>necesitar<\/strong> de alguien que haga las cosas por ti.<\/p>\n<h4>No es necesario<\/h4>\n<p>Si la necesidad es la madre de la creaci\u00f3n, sin necesidad, pues no hay nada. Esto es algo sumamente sencillo de entender, si la gente que lo usa (normalmente administradores de sistemas, o gente usando servidores) no lo necesita, pues no lo va a crear. En casos muy especiales (normalmente en software libre) los creadores se ponen un poco en los pies de los menos experimentados y deciden ayudar creando un GUI (Git tiene un GUI para los que desean probarlo), pero nuevamente, esto es por pura\u00a0<strong>buena voluntad<\/strong> de los creadores, puesto que la cantidad de trabajo\u00a0<strong>real<\/strong> es tan grande, y los desarrolladores tan pocos, que esos trabajos quedan relegados al\u00a0<em>tiempo libre<\/em> de alg\u00fan desarrollador de buen coraz\u00f3n. ( Recordemos que nadie le paga por hacerlo, y a\u00fan as\u00ed tiene familia, trabajo y responsabilidades)<\/p>\n<h3>Intimidar nunca ser\u00e1 la soluci\u00f3n<\/h3>\n<p>Esto t\u00f3menlo de consejo y comentario para todos aquellos que lo lean, recuerdo mucho un video que vi una vez de una entrevista de Obama (alguien que considero un gran ejemplo de persona) , donde un hombre enojado empieza a criticarlo e insultarlo y el no hizo absolutamente nada. No hizo nada, no porque no pudiese, es decir, era el hombre m\u00e1s poderoso del planeta en ese momento, sino porque sab\u00eda que no deb\u00eda rebajarse a ese nivel. Esa no es ni ser\u00e1 una soluci\u00f3n en esta vida, entrar en discusi\u00f3n nunca traer\u00e1 nada bueno, hay gente que puede creer que s\u00ed, pero a m\u00ed al menos no me va a mover la intimidaci\u00f3n y comentarios de un X. Solo lo dejaba como comentario suelto antes de empezar el tutorial.<\/p>\n<h3>NFS<\/h3>\n<p><em>Network File System\u00a0<\/em>es un protocolo a nivel de aplicaci\u00f3n que permite contar con informaci\u00f3n\u00a0<strong>centralizada<\/strong> y\u00a0<strong>sincronizada\u00a0<\/strong>en una red, funciona tanto para sistemas Linux como Windows y otros (esto debido a estar dise\u00f1ado a <em>nivel de aplicaci\u00f3n<\/em>). Como hablamos de manera\u00a0<em>centralizada<\/em>, quiere decir que nos encontramos frente a una soluci\u00f3n de modelo Cliente\/Servidor. Esto ya lo hemos tocado superficialmente en otro momento, pero nada m\u00e1s recalcar un peque\u00f1o detalle.<\/p>\n<h4>\u00bfPor qu\u00e9 es importante tener centralizada la informaci\u00f3n?<\/h4>\n<p>Alguno que otro dir\u00e1, &#8220;<em>pero yo tengo informaci\u00f3n importante en cada tipo de m\u00e1quina que tengo, la laptop de trabajo, el equipo de casa, etc etc&#8221;. <\/em>El problema es el siguiente, si se siguiese un modelo de backup eficiente, uno notar\u00eda que crear y mantener backups de muchos puntos es compicado, mucho m\u00e1s sencillo (para todos los que usamos scripts y dem\u00e1s) es crear un \u00fanico punto donde la informaci\u00f3n llegue y de ah\u00ed empezar a resguardar la data.<\/p>\n<h4>No estoy inventando la p\u00f3lvora<\/h4>\n<p>Para quien por un segundo crea que he descubierto esto a modo de prueba y error, pues nada m\u00e1s lejano de la verdad, solo uso un poco de lo que Google me ofrece y veamos lo que encontr\u00e9 en la primera b\u00fasqueda (Asumir\u00e9 que est\u00e1n en Ubuntu aquellos que lo usen, y supongo que para Fedora el cambio debe ser m\u00ednimo)<\/p>\n<h4>Google<\/h4>\n<figure id=\"attachment_77571\" aria-describedby=\"caption-attachment-77571\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77571\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_005-420x198.jpg\" alt=\"\" width=\"420\" height=\"198\" \/><figcaption id=\"caption-attachment-77571\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>Siempre sigan lo que dice\u00a0<strong>Oficial<\/strong>. Esto es tal vez uno de los primeros pasos a seguir, y lo pongo por si alguno cree que yo sab\u00eda algo de NFS antes de escribir este post.<\/p>\n<h4>TL;DR<\/h4>\n<figure id=\"attachment_77572\" aria-describedby=\"caption-attachment-77572\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77572\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_006-420x109.jpg\" alt=\"\" width=\"420\" height=\"109\" \/><figcaption id=\"caption-attachment-77572\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p><em>Too long; don&#8217;t read<\/em>. Cada vez que vean este acr\u00f3nimo, pueden estar 100% seguros que es la manera &#8220;floja&#8221; de resolver un problema, muchos me reclamar\u00e1n que c\u00f3mo saberlo si est\u00e1 en ingl\u00e9s, bueno, pues ahora lo saben para que no pueda haber opci\u00f3n a reclamos despu\u00e9s ;) Yo uso bastante el <a href=\"https:\/\/www.urbandictionary.com\/\">urban dicciontary<\/a>\u00a0para entender muchos de estos conceptos.<\/p>\n<h4>Official Documentation (\u00a1\u00a1En espa\u00f1ol!!)<\/h4>\n<figure id=\"attachment_77573\" aria-describedby=\"caption-attachment-77573\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77573\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_007-420x259.jpg\" alt=\"\" width=\"420\" height=\"259\" \/><figcaption id=\"caption-attachment-77573\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>Alg\u00fan alma de buen coraz\u00f3n se dio el trabajo de traducir por nosotros esta simple pero completa p\u00e1gina con todo lo necesario para poder instalar un servidor NFS en nuestra red.<\/p>\n<p>Vamos a ver de manera r\u00e1pida los pasos a seguir. Les dejo el <a href=\"https:\/\/help.ubuntu.com\/stable\/serverguide\/network-file-system.html\">link<\/a> para los curiosos que no puedan usar por X motivos Google para llegar al mismo lugar.<\/p>\n<h4>Instalar el servidor y el cliente<\/h4>\n<p>Ahora vamos a instalar\u00a0<em>por consola<\/em> lo necesario en ambos lugares para utilizar los archivos compartidos. En el servidor instalamos\u00a0<code>nfs-kernel-server<\/code>\u00a0y en el cliente\u00a0<code>nfs-common<\/code><\/p>\n<figure id=\"attachment_77575\" aria-describedby=\"caption-attachment-77575\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77575\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_009-420x30.jpg\" alt=\"\" width=\"420\" height=\"30\" \/><figcaption id=\"caption-attachment-77575\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<figure id=\"attachment_77576\" aria-describedby=\"caption-attachment-77576\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77576\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_010-420x50.jpg\" alt=\"\" width=\"420\" height=\"50\" \/><figcaption id=\"caption-attachment-77576\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<h4>Configurar el servidor<\/h4>\n<p>NFS funciona mediante un archivo de configuraci\u00f3n ubicado en\u00a0<code>\/etc\/exports<\/code>. Dicho archivo indica a NFS qu\u00e9 archivos compartir y c\u00f3mo llamarlos, adem\u00e1s de contar con muy buenos ejemplos de c\u00f3mo usarlo por default, usaremos nuevamente la\u00a0<em>consola<\/em> para editarlo gracias al siempre confiable\u00a0<code>vim<\/code>\u00a0(los que no est\u00e9n c\u00f3modos con vim pueden usar\u00a0<code>nano<\/code>)<\/p>\n<figure id=\"attachment_77577\" aria-describedby=\"caption-attachment-77577\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77577\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_011-420x130.jpg\" alt=\"\" width=\"420\" height=\"130\" \/><figcaption id=\"caption-attachment-77577\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>Para este simple ejemplo yo estoy diciendo a exports que quiero compartir mi carpeta\u00a0<code>workspace<\/code>\u00a0(el\u00a0<strong>*<\/strong> indica que quiero compartir todo el contenido y sin dejar espacio escribo los permisos y opciones que m\u00e1s me acomoden, en este caso\u00a0<code>rw<\/code>\u00a0para escritura y lectura)<\/p>\n<h4>Reiniciar el servidor<\/h4>\n<p>Si hemos configurado bien, necesitamos reiniar el servidor (o iniciarlo si es que no est\u00e1 activo), no es necesario cada vez que hay un cambio, pero aprovecho la oportunidad para dejarlo claro, si no deseas reiniciar todo, un simple\u00a0<code>exportfs -ra<\/code>\u00a0resuelve todo.<\/p>\n<figure id=\"attachment_77578\" aria-describedby=\"caption-attachment-77578\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77578\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_012-420x157.jpg\" alt=\"\" width=\"420\" height=\"157\" \/><figcaption id=\"caption-attachment-77578\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>La primer l\u00ednea\u00a0<code>systemctl start nfs-kernel-server<\/code>\u00a0activa el servidor, la segunda solo es para verificar que todo est\u00e1 bien (si no est\u00e1 verde, no est\u00e1 bien).<\/p>\n<h4>Conectar al servidor<\/h4>\n<p>Ahora vamos a conectar nuestro otro equipo, para eso usaremos nuevamente la\u00a0<em>consola<\/em>, y el comando\u00a0<code>mount<\/code>.<\/p>\n<figure id=\"attachment_77579\" aria-describedby=\"caption-attachment-77579\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77579\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_013-420x40.jpg\" alt=\"\" width=\"420\" height=\"40\" \/><figcaption id=\"caption-attachment-77579\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>Aqu\u00ed vale la pena recalcar que los IP se asignan a su gusto, no s\u00e9 si usar\u00e1n DHCP o manual, pero una vez tengan el IP pueden usarlo, agregen\u00a0<strong>:\/ruta\/de\/tu\/carpeta\u00a0<\/strong>y un lugar donde puedas montar la conexi\u00f3n, en mi caso cre\u00e9 una carpeta llamada <code>compartido<\/code>.<\/p>\n<h4>Abre tu explorador<\/h4>\n<figure id=\"attachment_77580\" aria-describedby=\"caption-attachment-77580\" style=\"width: 420px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-medium wp-image-77580\" src=\"https:\/\/blog.desdelinux.net\/wp-content\/uploads\/2017\/11\/Selection_014-420x186.jpg\" alt=\"\" width=\"420\" height=\"186\" \/><figcaption id=\"caption-attachment-77580\" class=\"wp-caption-text\">Dise\u00f1o propio. Christopher D\u00edaz Riveros<\/figcaption><\/figure>\n<p>Aqu\u00ed est\u00e1n tanto en versi\u00f3n\u00a0<em>consola\u00a0<\/em>como en versi\u00f3n\u00a0<em>GUI.\u00a0<\/em>Y les muestro un poco de c\u00f3mo llevo mi trabajo en el instituto, siempre uso m\u00e1quinas virtuales para trabajar la informaci\u00f3n de los cursos, (por eso van a ver un OSX instalado) y uno por cada lenguaje, as\u00ed puedo tener ambientes de desarrollo controlados y no llenar mi Gentoo de programas innecesarios. \u00bfPor qu\u00e9 ubuntu? pues me gusta m\u00e1s que <em>Fedora\u00a0<\/em>y es m\u00e1s r\u00e1pido para crear m\u00e1quinas de prueba que puedo borrar tambi\u00e9n de manera r\u00e1pida. Como ya dije :) cada cual sigue su filosof\u00eda y el dejar todo listo para\u00a0<em>usar sin pensar mucho<\/em> es algo que facilita mucho ubuntu a sus usuarios :) (adem\u00e1s que mi certificaci\u00f3n de administrador de sistemas la hice en ubuntu, as\u00ed que era una buena forma de recordar\u00a0<code>apt-get<\/code>\u00a0y\u00a0<code>apt<\/code>)<\/p>\n<h3>\u00a0Reflexiones finales<\/h3>\n<p>Ya he escrito mucho esta vez, pero como podr\u00e1s ver Claudio, son solamente 4 pasos ( espero que puedas hacer el de Google t\u00fa solo para no contarlo), y adivina qu\u00e9&#8230; no es necesario un GUI para cinco comandos. Disculpa si no puedo cumplir tu deseo de hacerte el mundo GNU\/Linux m\u00e1s Windows, y evitar que pienses un poco y aprendas a <em>googlear\u00a0<\/em>cosas. Y si quieres tener cambios permanentes en tu red y equipos mediante\u00a0<code>\/etc\/fstab<\/code>, pues tendr\u00e1s que buscarlo t\u00fa mismo.<\/p>\n<p>Para todos los dem\u00e1s, disculpen por favor si he sido rudo con este post, y aunque lo he escrito un poco mal humorado (debo admitir que a nadie le gusta que pongan en duda su trabajo y esfuerzo, y menos que lo tilden de\u00a0<em>fanfarroner\u00eda<\/em>)&#8230; espero que de verdad esto pueda ayudar a m\u00e1s de uno en sus trabajos de conexi\u00f3n. Muchas gracias por llegar hasta aqu\u00ed a pesar de mis torpezas y errores, Saludos :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este va\u00a0para nuestro\u00a0compa\u00f1ero Claudio, quien desea aprender a configurar una red Linux sin usar Samba. En un comentario poco amigable, Claudio solicita la creaci\u00f3n de un GUI para poder realizar un trabajo que miles (sino son millones) de personas ya han realizado antes y lo seguir\u00e1n realizando&#8230; como gran parte de este trabajo es por &hellip; <a href=\"https:\/\/blogs.gentoo.org\/chrisadr\/2017\/11\/06\/como-compartir-archivos-en-una-red-linux\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">C\u00f3mo compartir archivos en una red Linux<\/span><\/a><\/p>\n","protected":false},"author":169,"featured_media":70,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[3,15,13,14],"jetpack_featured_media_url":"https:\/\/blogs.gentoo.org\/chrisadr\/files\/2017\/11\/nfs-e1509988990677.png","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/69"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":1,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/69\/revisions"}],"predecessor-version":[{"id":71,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/posts\/69\/revisions\/71"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/media\/70"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/media?parent=69"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/categories?post=69"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/chrisadr\/wp-json\/wp\/v2\/tags?post=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}