En este tutorial veremos el principio funcional con los fundamentos de un servidor FTP, explicaremos cómo operar tu propio servidor FTP utilizando varias soluciones gratuitas y shareware y, al final, trataremos la resolución de problemas y problemas como «servidor FTP detrás de router» y «servidor FTP y cortafuegos».
- Aprende qué es un servidor FTP y cómo funciona.
- Aprende a configurar tu propio servidor FTP en esta guía.
- Consejos y trucos para tu propio servidor FTP completan este tutorial.
Índice de contenidos
Conceptos básicos de FTP, programas recomendados
En la primera sección, te enseñamos lo básico sobre FTP y te presentamos algunos programas para servidores FTP y clientes FTP.
Qué es un servidor FTP
Con tu propio servidor FTP, puedes poner archivos a disposición de otros usuarios para que los descarguen y hacer que los usuarios suban archivos a tu propio servidor.
Principio de funcionamiento
FTP significa File Transfer Protocol (Protocolo de Transferencia de Archivos) y es un protocolo para la transferencia de datos. Se introdujo en 1970 y es uno de los protocolos más antiguos de Internet. El protocolo FTP se basa en el conocido protocolo TCP y funciona según el principio cliente-servidor. Se establecen dos conexiones.
En primer lugar, se establece una conexión de control (canal de comandos). Como su nombre indica, se utiliza para la comunicación entre el servidor y el cliente. Esto se hace con un cierto conjunto de comandos. Veremos algunos comandos más adelante cuando introduzcamos los clientes FTP al establecer la conexión. Una vez establecida la conexión a través del canal de control, se puede iniciar una transferencia de datos, que tiene lugar a través del canal de datos.
Representación esquemática del principio de una transferencia FTP:
Insertar: cliente de puerto pequeño
Los puertos son interfaces que permiten realizar múltiples conexiones lógicas cuando se está conectado físicamente a una red (incluida Internet). Los puertos se numeran del 0 al 65535 y pueden ser utilizados por procesos o programas.
Los puertos 0 a 1023 pertenecen al grupo de «puertos bien conocidos» y son asignados por la IANA. Todos los sistemas saben qué protocolos operan en este rango de puertos.
Los puertos 1024 a 49151 pertenecen al grupo de «puertos registrados», que son utilizados por procesos y aplicaciones y pueden ser registrados por desarrolladores de aplicaciones para sus propios protocolos.
Los puertos 49152 a 65535 pertenecen al grupo de «puertos dinámicos y/o privados». Como su nombre indica, son asignados dinámicamente por el host a petición de los procesos y no están asignados directamente a ninguna aplicación.
Modo de conexión activo y pasivo
Existen 2 enfoques diferentes para inicializar una transferencia desde un cliente: el modo de conexión activo y el pasivo. Ambos tienen en común que primero se establece una conexión de control (1ª flecha), a través de la cual se envían los comandos FTP, y después se establece una conexión de datos para la transferencia de datos (2ª flecha). La diferencia entre los dos modos de conexión radica en quién establece estas conexiones: el cliente o el servidor. En detalle, así es como funciona:
Modo de conexión activo
Procedimiento: El cliente reserva 2 puertos TCP del rango de puertos 1024-65535 para su propio uso, establece la conexión de control al puerto 21 del servidor a través del primer puerto e informa al servidor del 2º número de puerto en el que el cliente espera los datos.
Nota: Malo para el cliente, porque una transferencia de datos es potencialmente impedida por un filtro de puertos, ya que en principio todos los puertos >1024 tendrían que ser abiertos. Bueno para el administrador del servidor porque sólo tiene que liberar 2 puertos.
Modo de conexión pasiva
Procedimiento: El cliente reserva 2 puertos TCP del rango de puertos 1024-65535 para su propio uso y establece la conexión de control al puerto 21 del servidor a través del primer puerto. Como se desea una conexión pasiva, el cliente envía el comando PASV del conjunto de comandos FTP direccionado. Esto permite al servidor saber: Se desea una conexión pasiva, por lo que reserva un puerto TCP del rango 1024-65535 para la transferencia de datos e informa al cliente de este puerto. La transferencia de datos puede entonces comenzar, ya que el puerto para la transferencia de datos ha sido negociado.
Nota: Bueno para el cliente, porque ambas conexiones se establecen desde el lado del cliente, por lo que los puertos sólo se abren cuando es necesario, malo para el administrador del servidor, porque o bien tiene que permitir una conexión a todos los puertos del servidor o necesita una pasarela a nivel de aplicación que pueda seguir la comunicación entre el servidor y el cliente y abra el puerto seleccionado cuando sea necesario.
Modos de transferencia
El protocolo FTP comprende 2 modos de transferencia: ASCII y binario. El modo ASCII puede y debe utilizarse para transferir archivos de texto (TXT, HTML, etc.). Entre otras cosas, los saltos de línea se adaptan al sistema operativo de destino. Este modo de transporte requiere más tiempo debido a la recodificación, pero garantiza la correcta visualización de los contenidos en todos los sistemas. En el modo binario, los datos se transfieren byte a byte tal cual, es decir, no se modifica el contenido. Todos los demás archivos que no contengan texto deben transferirse en modo binario, por ejemplo los archivos comprimidos o los gráficos. En el cliente FTP, hay que buscar una función de marcación automática, que también suele estar activa por defecto.
Autenticación
Todo usuario debe autenticarse en un servidor FTP con un nombre de usuario y una contraseña. También existe la opción de un inicio de sesión anónimo, normalmente sin contraseña o con una dirección de correo admin como contraseña. El uso de esta cuenta estándar facilita el acceso al servidor FTP, pero debe utilizarse con precaución en un servidor FTP doméstico, ya que cualquiera puede conectarse al servidor. Los derechos de acceso y las áreas de acceso deben elegirse cuidadosamente. Los servidores FTP públicos suelen ofrecer este acceso.
Seguridad
Ten en cuenta que el FTP se ejecuta completamente sin cifrar y, por lo tanto, es susceptible de ser espiado. Más adelante en esta serie de artículos se muestran alternativas con SFTP (utiliza SSH) y FTPS (utiliza SSL/TLS). Otra opción es configurar de antemano un túnel VPN cifrado hacia el sistema de destino, si es posible.
¿Qué es SSL?
SSL son las siglas de Secure Sockets Layer y es un protocolo de encriptación híbrido para la transmisión segura de datos en Internet y se utiliza principalmente para encriptar conexiones web seguras a través de https.
Nombre de servidor DNS propio para el servidor FTP
En primer lugar, hay un problema fundamental (al menos para casi todos los usuarios): Sólo se puede acceder a un servidor FTP a través de una dirección IP. Pero cada vez que se establece y finaliza la conexión a Internet, el proveedor suele asignar una nueva dirección IP (dirección IP dinámica). El problema: los clientes FTP ya no pueden encontrar el servidor FTP bajo la antigua dirección IP.
Para solucionar este problema, existen proveedores en los que se puede reservar un nombre fijo. Este nombre se refiere entonces a su propia dirección IP cuando se le llama. El servicio más conocido se llama DynDNS y se puede encontrar aquí: http://www.dyndns.org. Si desea utilizar un servidor FTP en su propio ordenador, necesita un cliente de actualización para informar al servicio DynDNS de la dirección IP actual.
Nota: La mayoría de los propietarios de routers pueden prescindir del cliente de actualización, ya que esta funcionalidad está integrada en la mayoría de los routers actuales. Dependiendo del modelo de router, se pueden gestionar una o más cuentas DynDNS. La forma más sencilla de hacerlo es consultar el manual del router. Con el Fritz!Box, la función DynDNS ya es posible a través de MyFRITZ! y no es necesario ningún software o servicio de terceros.
Para obtener más información sobre la configuración de DynDNS, consulte nuestro artículo Actualización de DNS dinámico para la página de inicio local.
En este punto, la dirección del servidor DNS debería ser pingable desde Internet. Si esto no funciona, el servidor FTP tampoco será accesible.
Servidor FTP
Un nombre de servidor por sí solo no es suficiente, porque aún falta el servidor FTP propiamente dicho.
A continuación se describen, a modo de ejemplo, 2 paquetes de software de servidor. Lo mejor es que decida usted mismo cuál se adapta mejor a sus necesidades. El manejo y las características determinan en última instancia la elección. FileZilla Server es extenso, pero en inglés, Quick ‘n Easy FTP Server es más pequeño, pero de más fácil acceso, especialmente para usuarios de Windows, y también está disponible en alemán. En nuestro archivo de software, en la sección de servidores FTP, encontrarás más servidores FTP gratuitos y de pago.
Primero, sin embargo, algunos conceptos básicos:
Rutas virtuales
Desgraciadamente, los datos no siempre se almacenan en el disco duro en la estructura que a uno le gustaría ofrecérselos a un usuario. La solución es utilizar rutas virtuales. El sistema que hay detrás es sencillo e ingenioso al mismo tiempo. Se define una segunda ruta, se le da un nombre y se deja que se muestre en otra ruta. La siguiente ilustración debería aclarar el principio:
Carga frente a descarga
Dentro de las cuatro paredes de tu casa, con un servidor FTP llegas rápidamente a los límites de tu conexión a Internet. Lo que es la velocidad de descarga del cliente, lo es la velocidad de subida de tu propia línea. Como la mayoría de las líneas no son síncronas y las velocidades de descarga y subida difieren, debes orientarte siempre a tu velocidad de subida. Para los usuarios de DSL 16000, suele ser de sólo 1.024 kbit/s a 2.400 kbit/s, dependiendo del proveedor.
Lo ideal sería, por tanto, que un servidor ofreciera de 128 kbit/s a 256 kbit/s; en ese caso, la navegación simultánea por Internet quedaría descartada. Un límite de 100 KByte/s ha demostrado ser útil a esta velocidad de subida. Si hay que gestionar varios usuarios, tiene más sentido fijar el límite en las opciones de grupo. Entonces también tiene sentido limitar el máximo de conexiones simultáneas, porque los usuarios tienen que compartir el ancho de banda en caso de conexión simultánea al servidor.
Autostart
Te aconsejo que no pongas un enlace al servidor FTP en el autoarranque, porque así mantienes siempre abierto el puerto 21 de tu ordenador. El software del servidor debe utilizarse con precaución e iniciarse cuando sea necesario. Una alternativa sería configurar un PC servidor que no se utilice como PC estación de trabajo, con derechos muy restrictivos en todas las áreas.
Servidor FileZilla
Puede encontrar FileZilla Server en el archivo de software de WinTotal.
Al instalar este paquete de servidor, no debe hacer clic a ciegas, porque hay opciones bastante importantes ya incluidas en el instalador. En este punto hay que establecer el tipo de inicio del servidor (como servicio que se inicia con Windows, como servicio que se inicia manualmente o la variante de inicio automático como aplicación normal). Además, hay que seleccionar el puerto con el que la interfaz Config se conectará posteriormente al servidor.
La siguiente pantalla pregunta cuándo debe iniciarse la interfaz del servidor. Tras la instalación, se establece una conexión local con el servidor. La interfaz parece espartana al principio, pero muestra el archivo de registro y pronto se llenará. La opción de menú «Editar» contiene los ajustes. También se puede acceder a los elementos mediante los botones de la barra de menús. Primero creo un grupo.
Ya en este punto puedes definir varias restricciones (por ejemplo límites de ancho de banda) así como accesos a directorios. El directorio personal se marca con una «H» delante de la ruta. Cuando comparta directorios, tenga cuidado de no conceder accesos innecesarios. Los atributos estándar Leer y Listar son suficientes por el momento. Se pueden añadir más rutas, las rutas virtuales sólo se pueden definir posteriormente a través del menú contextual de la ruta utilizando el elemento «Editar alias». La sintaxis es ligeramente diferente a la de otros servidores FTP, pero permite una mayor flexibilidad. El alias consiste en la ruta de destino + el alias real, en mi caso «C:WINDOWSWebWallpaperother pictures».
Ahora hay que crear un usuario. Una contraseña sólo puede ser activada y definida después de haber creado un usuario.
Anteriormente creé un grupo y ya definí rutas allí. Aquí sólo he establecido la pertenencia al grupo «grupo de prueba» y un inicio de sesión ya es posible. De esta manera, sin embargo, varios usuarios pueden ser administrados de forma centralizada, como el FileZilla Server ofrece el marcador de posición «:u» para el nombre de usuario.
Otro caso interesante es poner a disposición una carpeta de subida, es decir, una carpeta en la que un usuario FTP pueda subir algo. Tiene sentido proporcionar una carpeta propia, ya que los permisos de escritura deben elegirse con cuidado para no perder de vista la estructura de carpetas propia.
En este ejemplo, la carpeta «C:Upload» se muestra como una carpeta virtual en la carpeta de inicio del usuario FTP con el nombre «Upload». Para ello, recibe derechos de escritura (Write), de creación (Create) y de anexión (Append). Estos últimos derechos también se utilizan para continuar una subida. La configuración de esta carpeta es heredada por las subcarpetas (+ subdirectorios). Este es el resultado en el lado del cliente:
En la opción de menú «Configuración» encontrarás ajustes específicos del servidor, rango de puertos para conexiones pasivas, puerto del servidor, tiempos de espera, comportamiento de arranque, compresión, etc. Aquí debería mencionarse con más detalle el soporte SSL/TLS (Secure-FTP). Con la ayuda del asistente, puedes crear tu propio certificado o integrar uno existente. Esto hace posible la autenticación segura. Aprenderás más sobre este procedimiento más adelante en este artículo.
Servidor FTP Quick’n Easy
Otro servidor FTP muy fácil de usar viene de Holanda y se llama Quick’n Easy FTP Server. Puedes encontrar Quick’n Easy FTP Server en el archivo de software de WinTotal.
La interfaz es muy similar a la de Windows, lo que facilita la navegación, especialmente para los principiantes. No necesita instalación, la configuración se almacena en un archivo XML. Por lo tanto, el servidor se puede iniciar desde prácticamente cualquier ubicación en el disco duro. Así que simplemente descomprímelo y empieza. Cuando inicie el servidor por primera vez, será recibido por un asistente que le pedirá el nombre de usuario, la contraseña, el directorio de inicio del nuevo usuario y los derechos de acceso al mismo. Después de eso, el servidor está listo para empezar.
El primer paso es ir a la administración de usuarios, a la que se puede acceder a la izquierda en el área de tareas en «Cuentas de usuario». A continuación, haga clic en el nuevo usuario y se mostrarán las opciones correspondientes.
El panel de tareas de la izquierda es el que facilita la administración. En la parte inferior derecha se muestran las rutas virtuales. Se pueden definir nuevas rutas a través del menú contextual o del área de tareas (en «Directorios virtuales»). Esto es lo que parece:
La captura de pantalla también muestra que el límite de descarga se ha fijado en 10 (KB/s).
Se puede acceder a la configuración de todo el servidor haciendo clic en «Configuración» en el área de tareas. Aquí se pueden definir, por ejemplo, el comportamiento de arranque, los mensajes del servidor y el directorio de inicio predeterminado. Con un clic en el gran botón verde «Inicio», arriba a la izquierda, el servidor se pone en línea.
Más servidores FTP
Un servidor puramente en alemán sería Personal FTP Server. En la versión gratuita, la gama de funciones es limitada. Otras alternativas a los servidores presentados serían CesarFTP y TYPSoft FTP Server, pero este último no ofrece restricción de ancho de banda. En cuanto alguien descarga algo, su propia línea se bloquea en gran medida. Quienes deseen utilizar su ordenador como servidor web y FTP deberían echar un vistazo al paquete XAMPP para Windows, que incluye el servidor FileZilla.
Para mayores exigencias, ha demostrado su eficacia el servidor PSFTP de Alemania, que se ofrece en varias ediciones.
En el artículo de comparitech.com se ofrece un buen resumen, aunque en inglés, de los 20 mejores servidores FTP gratuitos para Windows.
Clientes FTP
Con un cliente FTP, puedes conectarte a un servidor FTP y descargar y cargar datos.
FileZilla
FileZilla no sólo está disponible como servidor FTP, sino también como cliente FTP, lo que supone una ventaja decisiva sobre muchos otros: Puede instalarlo o elegir una variante empaquetada que funciona sin instalación. La versión empaquetada, llamada portable, se puede empaquetar en una memoria USB o grabar en un CD (por supuesto, no es posible modificar los favoritos o la configuración). La descarga del cliente FTP (también portable) está disponible aquí.
En Editar – Ajustes – Ajustes de interfaz – Idioma puede cambiar el idioma a alemán. «Ajustes de interfaz» se llama ahora «Ajustes de interfaz». Haga clic en él y marque «Vista de carpetas del servidor». De esta manera también puede navegar rápidamente a través de subestructuras en el lado del servidor.
La interfaz del programa de arriba a abajo: En primer lugar, la barra de herramientas. El icono del extremo izquierdo lleva al gestor de servidores, comparable a los favoritos/marcadores del navegador. Los símbolos del extremo derecho, antes del signo de interrogación, facilitan la comunicación con el servidor FTP. Sirven para cancelar una acción y para desconectarse y volver a conectarse al servidor. Los símbolos intermedios sirven para la representación visual del cliente.
Debajo hay una barra que permite una conexión rápida. Se necesita la dirección del servidor, el nombre de usuario y la contraseña. No es necesario introducir el puerto, sólo si difiere del estándar.
La zona inferior se utiliza para mostrar los comandos de estado al conectarse al servidor. Esta ventana es especialmente importante si se produce un error. En la zona central se muestran los árboles de directorios/contenidos del cliente (izquierda) y del servidor (derecha). En la ventana inferior, se muestran las transferencias en curso.
Ahora se puede probar el servidor FTP. Para ello, inicie un cliente FTP – en este caso FileZilla – en el ordenador en el que se está ejecutando el servidor FTP. Esto debería funcionar en cualquier caso, porque ningún componente entre el servidor y el cliente puede interferir en la comunicación. Introduzca «localhost» como dirección. Mi usuario se llama «Test», también tiene una contraseña, por lo que la conexión se puede iniciar. Aquí está el resultado de una conexión exitosa:
Desde tu propio ordenador puedes conectarte al servidor con «localhost» o «127.0.0.1». Desde otro ordenador dentro de su propia red, puede llegar al servidor FTP por dirección IP, nombre NETBIOS o, si el actualizador DynDNS se está ejecutando en el ordenador, también por nombre de servidor (del artículo DynDNS). Desde Internet, debe utilizar el nombre del servidor registrado, independientemente de si el cliente DynDNS se está ejecutando en el ordenador o en un posible router existente.
SmartFTP
SmartFTP es uno de los mejores clientes FTP y está disponible para una prueba de 30 días. Después de 30 días, sólo se muestra una pantalla de aviso para indicar el tiempo de ejecución del programa. SmartFTP es multilingüe y puede descargarse de nuestro archivo de software WinTotal.
La interfaz tiene el siguiente aspecto:
La estructura de la interfaz es la misma que con FileZilla: barra de herramientas, barra de conexión rápida y la cola de transferencia en la parte inferior. La zona gris muestra el árbol de directorios/contenido cuando se conecta a un servidor. La visualización puede variarse mediante las opciones de menú Ver y Ventana. Después de conectarse, puede tener este aspecto:
Al igual que FileZilla, SmartFTP también ofrece una gestión de favoritos en la que se pueden organizar los servidores FTP visitados con frecuencia. Merece la pena explorar las posibilidades del programa, cuyo alcance excedería el ámbito de este artículo. Ambos clientes FTP tienen en común un funcionamiento sencillo. Para transportar datos, sólo hay que arrastrar y soltar los archivos y carpetas correspondientes desde el lado local al lado del servidor de una forma parecida a la del Explorador de Windows.
Otros clientes FTP
Otros clientes gratuitos realmente interesantes son escasos, ya que suelen ser versiones ligeras de clientes FTP shareware. En otro artículo se mostrarán más posibilidades, que no quiero anticipar aquí. LeechFTP es digno de mención, pero su desarrollo se ha interrumpido (o aparecerá una versión adquirible con otro nombre), así como Staff-FTP.
Una buena opción entre los clientes FTP de pago es PSFtp de Alemania.
Navegador web como cliente FTP: También es posible acceder a un servidor FTP con un navegador. La sintaxislautet:ftp://benutzername:passwort@hostname.domain
Por ejemplo: ftp://jemand:test@nobodys.homeftp.net. Sin embargo, ten en cuenta que los navegadores no son adecuados para acceder a un servidor FTP. Apenas ofrecen funciones FTP, son lentos y no se desconectan del servidor FTP cuando se cierra la página. Si en el servidor FTP están definidas las conexiones máximas por IP o usuario, puede ocurrir incluso que ya no se pueda acceder rápidamente si se introduce varias veces la dirección en el navegador. Sólo en el caso de descargas individuales mediante enlace directo es sensato utilizar el acceso a través del navegador.
Reflexiones sobre su propio servidor FTP
Si quieres montar un servidor FTP en tu propia casa, necesitas tener algunas cosas preparadas. Por ejemplo, tu propia conexión a Internet debe estar abierta para que otros usuarios puedan acceder al servidor. Tu propia carga también debe ser lo suficientemente grande, porque lo que es carga para tu propio ordenador es descarga para los demás usuarios. Un antivirus es imprescindible, sobre todo si los usuarios pueden subir archivos a su propio ordenador.
Ten en cuenta que el FTP es básicamente un método de transferencia de archivos sin cifrar. Así que elige tu servidor FTP en función de las circunstancias. En el caso de servidores FTP que estén disponibles durante más tiempo y en Internet, no se debe prescindir de una variante cifrada.
Dentro del FTP – Cifrado y profundización de la información
En esta parte se presentan alternativas para clientes y paquetes de servidores. Además, se habla de la transferencia segura de archivos cifrados y se explica la transferencia FXP. Este artículo profundiza los conocimientos sobre FTP.
Explicación de los términos SSH, SCP, SFTP, FTP seguro y FTPS
En esta parte incluiré técnicas de encriptación para la transferencia de datos, por lo que primero explicaré los términos SSH, SCP, SFTP, Secure FTP y FTPS.
- SSH significa Secure Shell y es tanto un protocolo (puerto TCP 22) como un programa. SSH permite una conexión de datos cifrada y segura entre dos ordenadores.
- SCP significa Secure Copy (copia segura) y, al igual que SSH, es a la vez un protocolo y un programa. Se utiliza para copiar datos entre el servidor y el cliente mediante una conexión segura y cifrada a través de SSH.
- SFTP significa Protocolo de Transferencia de Archivos SSH, es la continuación lógica de la idea de SCP y proporciona al usuario un conjunto de comandos para comunicarse entre dos ordenadores y realizar acciones. SFTP utiliza SSH para cifrar la autenticación, la comunicación y la transferencia de datos entre dos ordenadores. El uso parece similar a FTP, sin embargo SFTP es un protocolo completamente separado que también funciona de manera diferente. Sólo hay una conexión (es decir, no hay un canal de control y otro de datos separados) y sólo se utiliza un puerto (por defecto: puerto 22). Actualmente, sólo unos pocos clientes y servidores soportan SFTP.
- También existe el FTP seguro, que se basa de nuevo en el FTP. En este caso, la autenticación y los cambios de directorio se cifran a través de un túnel SSH, mientras que el resto de la comunicación, incluida la transferencia de datos, no se cifra. Esto tiene la ventaja de que los ordenadores implicados no están tan sobrecargados por el cifrado como en el caso del cifrado completo de la comunicación. Se distingue entre FTP seguro explícito e implícito. Con el FTP seguro implícito, el cifrado mediante SSL/TLS es obligatorio al iniciar sesión en un dominio; con el FTP seguro explícito, también es posible iniciar sesión en un dominio sin cifrar, pero el cliente FTP puede inicializar el cifrado mediante la señal AUTH. El puerto estándar para Secure FTP es el 990.
- Al igual que existe HTTPS, también existe FTPS, una conexión FTP protegida por SSL/TLS, con la que es posible la transmisión cifrada de datos. En combinación con Secure FTP, es posible la comunicación segura entre 2 ordenadores.
En general, sólo relativamente pocos servidores y clientes soportan las opciones de conexión segura, y no todos cifran tanto el canal de control como el de datos en la variante segura SSL/TLS.
Servidor FTP – parte 2
Serv-U
Serv-U es un paquete de servidor FTP más grande. Ofrece muchas características que los paquetes gratuitos no tienen: múltiples dominios, rango de puertos en modo pasivo, integración de certificados SSL, interfaz de base de datos ODBC y mantenimiento remoto. Hay varios tipos de licencia y sus correspondientes niveles de precios. Las diferencias pueden verse aquí: http://www.serv-u.info/produktinfo/editionen.htm. La versión shareware será suficiente para un primer vistazo en este artículo, ya que funciona durante 30 días como versión corporativa.
Puede descargarla aquí: http://www.serv-u.info/produktinfo/download.php. La versión en inglés se encuentra en http://www.serv-u.com/.
Tras instalar Serv-U, el asistente inicial solicita los datos para el primer dominio FTP y si el servidor debe ejecutarse como un servicio del sistema. A continuación se puede configurar el servidor FTP. Ya se le ha preguntado si se le deben conceder derechos de administrador. Sea cuidadoso y circunspecto con este tipo de configuraciones y establezca los permisos de la forma más restrictiva posible.
En «Servidor local» puede iniciar y detener el servidor por completo y configurar el tipo de inicio como servicio del sistema. Haga clic en Licencia para ver el tiempo de ejecución hasta que el programa vuelva a la Edición Personal. Desinstalar y volver a instalar no ayuda en este caso.
Justo debajo encontrarás los ajustes globales. En la pestaña «General» se puede restringir el acceso entre dominios. Las opciones de velocidad deben seleccionarse en relación con el ancho de banda de la conexión a Internet. «Desactivar conexiones permanentes» es útil para el acceso frecuente a través del navegador web y la restricción simultánea del número máximo de usuarios conectados al servidor al mismo tiempo.
El certificado SSL permite el FTP a través de TLS/SLL (FTPS), es decir, la autenticación y el canal de control están cifrados, pero no la transferencia de datos. Tienes que generar un certificado tú mismo. La ayuda integrada detallada le ayudará (palabra clave: certificado SSL). El certificado generado está firmado por el propio Serv-U, por lo que no procede de una autoridad de certificación como VeriSign. Las autoridades de certificación son organismos de confianza que emiten certificados que garantizan que una clave pública pertenece a una persona determinada. En el certificado se imprime una firma digital, que puede utilizarse para demostrar la integridad y autenticidad del certificado.
En «Avanzado» encontrará, por ejemplo, la configuración de un intervalo de puertos si desea utilizar el servidor en modo pasivo.
La actividad global se encuentra en los ajustes globales. Si alguien está conectado y/o descargando algo, puedes verlo aquí. Una característica interesante es la marca de verificación en la parte superior izquierda para la actualización automática, de modo que siempre tenga el estado actual de un vistazo. La pestaña Registro de Dominio muestra el archivo de registro global. Todas las funciones globales sirven para todo el servidor FTP. Serv-U puede gestionar varios dominios, es decir, se pueden gestionar varios hosts virtuales. Cada host – o cada dominio – tiene su propio nombre y su propia configuración, archivos de registro, usuarios, grupos, etc.
Si haces clic en un dominio, puedes establecer configuraciones que afectan al propio dominio. Esto incluye, por ejemplo, el número de puerto en el que escucha el servidor y si es posible el acceso seguro.
En la pestaña «General» se pueden definir las rutas virtuales, que ya se han descrito en detalle anteriormente.
Ahora puede dirigir su atención a la administración de usuarios. Para permitir el «login anónimo», simplemente cree el usuario «anónimo» (click derecho en Usuario – Nuevo Usuario, siga las instrucciones). Una vez que se ha definido un nuevo usuario, muchos ajustes están a la espera de ser configurados. Haga clic en un usuario. En la pestaña «Cuenta», puedes ver la mayoría de los ajustes que se hicieron cuando se creó un nuevo usuario. Aquí también puede desactivar una cuenta o establecer un tiempo de caducidad. Si ha definido grupos de usuarios, aquí puede añadir el usuario a uno o varios grupos. Sin embargo, los miembros de un grupo no se pueden ver en ninguna parte de la versión actual.
La pestaña «General» contiene ajustes importantes para la conectividad. Tómese su tiempo para estos ajustes. Al menos tan importante es el «Acceso al directorio». El directorio raíz ya está preconfigurado. A la derecha encontrarás los permisos sobre archivos y carpetas y si estos derechos deben ser heredados por las subcarpetas. No es ningún problema compartir también una unidad de CD-ROM, por ejemplo. Al añadir rutas en esta pestaña, los directorios aún no aparecen en el inicio de sesión del usuario. Aquí se utilizan las rutas virtuales configuradas en los ajustes del dominio.
Esbozaré el procedimiento a modo de ejemplo. En primer lugar, defino el directorio «Mis imágenes» como directorio de inicio para un usuario. Además, añado otro directorio en la pestaña «Acceso a directorios», el directorio «Mi música».
Un inicio de sesión de prueba muestra que «sólo» se muestra actualmente el contenido del directorio «Mis imágenes». No se puede acceder al directorio «Mi música». Ahora cambio a la configuración del dominio a la pestaña «General» y añado una nueva ruta virtual. La ruta en el disco duro es «C:Documents and Settings%USERNAME%Own FilesOwn Music», la ruta virtual es «C:Documents and Settings%USERNAME%Own FilesOwn Pictures». De este modo, la carpeta «Mi música» aparece en el directorio raíz (Mis imágenes) tras el inicio de sesión. Por último, se define el nombre para mostrar. El sistema de directorios virtuales ya se ha explicado en detalle al principio de este artículo.
Tras acceder de nuevo a través del cliente FTP, aparece ahora una carpeta «Programa» en la raíz del directorio de Windows.
Si busca un ajuste de «Ratio», lo encontrará en «Ratio UL/DL». Con esta función se pueden definir ratios de carga y descarga. Para evitar que se llene el disco duro, también se puede definir un límite de memoria.
Si tienes problemas o preguntas sobre este programa, no dudes en utilizar la ayuda detallada integrada. También hay una base de datos de conocimientos para Serv-U que puede responder a muchas preguntas.
Servidor FTP con herramientas integradas de Windows
Windows XP Professional también incluye un servidor FTP. Forma parte de «Internet Information Services (IIS)» -en este caso la versión 5.0- y debe instalarse previamente. Puede instalarlo en su instalación de Windows a través de Panel de control – Software – «Agregar o quitar componentes de Windows» – «Servicios de información de Internet». Seleccione los componentes «FTP Service (File Transfer Protocol)», «Shared Files» y «Snap-In Internet Information Services» e instálelos. Puede que necesites tu CD de Windows. Tenga en cuenta que esta función no existe en la edición Home. En la edición Profesional, sólo se permite un sitio FTP. Además, el número de conexiones está limitado a 10. Estas son las diferencias con las versiones de servidor de Windows 2000 (IIS 5.0) y 2003 (IIS 6.0).
A continuación viene la configuración, que no es muy extensa. Encontrará el snap-in MMC «Internet Information Services» en Panel de control – Herramientas administrativas. En «Sitios FTP» hay inicialmente un «Sitio FTP estándar». Utilice el menú contextual para cambiar a las propiedades de configuración. En la pestaña «Sitio FTP», lo mejor es introducir como descripción el nombre DynDNS o un nombre apropiado basado en el directorio raíz.
En «Cuentas de sesión» se activa el inicio de sesión anónimo. Si desea esto, puede dejar todo como está. Si no, simplemente desmarque la casilla en la parte superior. A continuación, puede iniciar sesión con cuentas de usuario en el ordenador, que se configuran en Panel de control – Administración – Administración de equipos – Sistema – Usuarios y grupos locales – «Usuarios». La instalación de ISS crea una cuenta con derechos de invitado: ISUR_%COMPUTERNAME%. Cada usuario FTP necesita una cuenta local.
Continúe en las propiedades del sitio FTP: En la pestaña «Directorio base», se puede definir la ruta raíz y los derechos asociados (lectura y escritura). Si debe permitirse la escritura en la estructura de directorios FTP, debe activarse aquí el acceso de escritura. La ruta por defecto se encuentra en %SYSTEMDRIVE%inetpubftproot y también se crea automáticamente durante la instalación del servidor IIS.
Ahora puede cerrar la configuración. Los directorios virtuales también son posibles. Haga clic en una página FTP y seleccione «Nuevo» – «Directorio virtual» en el menú contextual del área libre derecha.
En el complemento «Internet Information Services» puede seleccionar la raíz del complemento y conectarse a un servidor FTP remoto basado en IIS en «Acción» – «Conectar» y administrarlo en gran medida.
Esto ya agota el abanico de funciones. IIS debería instalarse en una partición NTFS para poder disponer de una herramienta de gestión de derechos (con la opción «Simple file sharing» desactivada). Hay que conocer bien la gestión de derechos en Windows antes de pensar en poner en Internet un servidor FTP basado en IIS. La herramienta «IIS Lockdown» también le ayuda con el endurecimiento.
Servidor SFTP/FTPS con PSFTPd
PSFTPd es un completo servidor FTP que está disponible en versión Lite y Corporate. Este servidor gestiona FTP, FTPS (explícito e implícito) y SFTP (SecureFTP en SSH2), combinados en una interfaz fácil de usar. Previo registro, está disponible una versión que puede integrarse en el sistema como servicio. La versión corporativa ofrece, entre otras cosas, administración de múltiples dominios y grupos de usuarios.
La configuración es muy sencilla, el programa lo hace realmente fácil. Los puertos y certificados pueden configurarse haciendo doble clic en los protocolos (como se muestra en la siguiente captura de pantalla).
En el resto de pestañas tampoco hay sorpresas. En la configuración de usuario, se pueden crear rutas virtuales arrastrando y soltando.
La interfaz es muy ordenada, pero esto también se debe al hecho de que esta versión lite no ofrece la enorme gama de funciones como Serv-U, por ejemplo. Por otro lado, puede ganar puntos con los protocolos soportados.
Servidor SFTP con Cygwin
Cygwin crea su propio entorno UNIX en Windows. OpenSSH se suministra aquí como servidor SSH, y el paquete también incluye un servidor SFTP. Una instalación completa de Cygwin es bastante grande, describiré aquí la forma de instalar los componentes necesarios. Si lo desea, también puede instalar un editor (nano o vim, la vista por categorías se recomienda en el instalador, que se explicará con más detalle en un momento).
Para la siguiente guía de Cygwin necesitas derechos de administrador. Cygwin también debe estar instalado en una partición NTFS que permita la gestión de derechos.
Crea un directorio en tu disco duro (por ejemplo, Cygwin) – no importa dónde. Guarde en él el archivo setup.exe de la descarga de WinTotal e inícielo. Con la ayuda del instalador, los archivos de instalación pueden descargarse directamente de Internet. Seleccione «Instalar desde Internet» como fuente de instalación. A continuación, seleccione el directorio de instalación. Puede utilizar el directorio en el que ya se encuentra el archivo setup.exe. UNIX» puede permanecer seleccionado como tipo de texto por defecto. El «Directorio local de paquetes» también puede permanecer en la ruta del instalador. Debería utilizar una réplica en sus proximidades. Hay suficientes servidores universitarios disponibles. Al seleccionar los paquetes, pulse una vez sobre el botón Ver para cambiar la vista a «Completa». Los paquetes están ordenados alfabéticamente. Busque «OpenSSH», haga clic en «Saltar» para que se ponga una cruz debajo de «Binario».
Ahora se puede iniciar la instalación. Se descargarán unos 40 MB. Con este instalador, Cygwin puede modificarse y desinstalarse en cualquier momento.
Tras el primer arranque del Cygwin Bash Shell, se inicializan algunos componentes. Antes de que se inicie la configuración de OpenSSH allí, Windows todavía debe estar preparado. Pulsa [Win]+[Pausa] (o el módulo «Sistema» en el panel de control), cambia a la pestaña «Avanzado», haz clic en variables de entorno, busca la entrada PATH en las variables de sistema y edítala. Añade un punto y coma (;) y la ruta a la carpeta bin en el directorio de instalación de Cygwin. En mi caso, la ruta es C:Cygwinb en.
A continuación, utilice el botón Nuevo para crear una nueva variable. Introduzca «CYGWIN» como nombre y «ntsec tty» como valor. Confirme y cierre todas las ventanas de Windows abiertas haciendo clic en [Aceptar] para que se apliquen los cambios.
Ahora continúe en el Bash Shell. Introduce ssh-host-config. Se inicia un script. Si te pregunta por la «separación de privilegios», responde con un «sí». Haz lo mismo con la consulta para el «usuario local sshd». La idea detrás de la «separación de privilegios» se explica en este artículo: http://www.symlink.ch/articles/02/05/27/220210.shtml. El usuario «sshd» es necesario para esto.
Si quieres que el demonio SSH esté disponible en cada inicio de Windows y que se inicie como un servicio, responde también a la siguiente pregunta con un «sí». Esto no sólo es útil para el servidor SFTP previsto, sino que también se puede utilizar para otras conexiones, por ejemplo para la transmisión cifrada del tráfico de correo. A continuación se solicita la variable de sistema «CYGWIN». Introduzca aquí el valor definido anteriormente «ntsec tty». Ahora los derechos deben configurarse de forma más restrictiva. Para ello, introduzca uno tras otro en la consola:
«touch /var/log/sshd.log»
«chown -R system:system /var/log/sshd.log /var/empty /etc/ssh_h*»
Esto crea un archivo de registro para el demonio SSH y luego establece los derechos de acceso a varios archivos para que el usuario «system» del grupo de usuarios «system» se convierta en el propietario.
Ahora se puede iniciar el demonio SSH (en el futuro se iniciará en la cuenta de usuario local actual por defecto). Así que introduce «cygrunsrv –start sshd» en la línea de comandos.
Del mismo modo, puedes volver a detener el servicio con «stop» en lugar de «start». La línea de comandos de Windows también funciona: «net start sshd». Y, por supuesto, también puedes ir a través del panel de control – administración – servicios.
Ahora es posible un primer inicio de sesión de prueba. Basta con introducir «ssh localhost». Es aconsejable crear un usuario con los derechos deseados en Windows, que luego puede utilizar para iniciar sesión desde el exterior. Ahora introduzca «ssh-user-config» en la consola. Puede responder a todas las preguntas con un «no», pero también puede crear archivos de claves. En este caso, utilice el cifrado bajo SSH2 para iniciar sesión en este servidor SSH. Por supuesto, la contraseña no debe ser fácil de adivinar. Ten en cuenta que el acceso desde Internet es posible a menos que esté prohibido en el router o firewall (por ejemplo, para uso exclusivo en la red doméstica). Ahora hay un directorio .ssh en el directorio personal del usuario conectado. Introduce «cd» y luego «ls -al» en el intérprete de comandos. Los derechos de la carpeta deberían ser los siguientes: «rwx——«. Si no es así, introduce el comando «chmod 700 .ssh».
Ahora todo está listo para funcionar. La sintaxis para probar el inicio de sesión a través de ssh es: «ssh username:serverip». Lo mismo se aplica a SFTP: «sftp username:serverip». SSH y SFTP utilizan el puerto 22 para la comunicación. Configure el software y el hardware de red en consecuencia. Puede reconfigurar el puerto en el directorio /etc en el archivo sshd_config. Procedimiento: Detenga el servidor, «cd /etc», «nano sshd_config», cambie el puerto, guarde, inicie el servidor. Si se deniega el acceso, cambie los derechos mediante chmod para el momento del cambio. En este archivo también puedes restringir el acceso a ciertos usuarios (AllowUsers, ver manual, comando: «man sshd»).
Cygwin no tiene administración de usuarios propia, sino que utiliza las cuentas de usuario de Windows. Hay una restricción importante con Cygwin: No es posible iniciar sesión como un usuario diferente en el shell que el usuario actualmente conectado bajo Windows. SSH también sólo funciona con la cuenta de usuario con la que se instaló Cygwin, ya que este usuario se define en el archivo /etc/passwd. Ambos pueden eludirse copiando la línea con los datos del usuario existente en dicho fichero y transcribiendo el nombre de usuario. Ejemplo:
test:unused_by_nt/2000/xp:0:0:PCtest,S-1-1-11-111111111-222222222-333333333-500:/home/test:/bin/bash
Los 2 números después de «by_nt/2000/xp» deben cambiarse por IDs sin usar, indican el ID de grupo o de usuario. El mismo ID de grupo significa también la misma pertenencia al grupo. Lo mismo se aplica al ID de usuario. Entre los dos dos puntos finales, se define el directorio de inicio, que puede tener que ser creado de antemano.
Servidor (S)FTP en SuSE Linux vsftpd
Por supuesto, con un artículo como este tienes que decidirte por una distribución. Elegí SuSE Linux porque es la distribución más utilizada en este momento. El punto de partida es una instalación estándar de SuSE Linux 9.2, en la que SSH ya está integrado. Google me indicó rápidamente si existía un paquete RPM de la versión actual de vsftpd para SuSE. Para este artículo, la versión 2.0.3 era la actual. El paquete se llama vsftpd-2.0.3-1.1.i586.rpm para SuSE People, que se puede instalar fácilmente a través de «YAST». vsftpd significa «very secure ftp daemon», está optimizado principalmente para la seguridad y también es compatible con SFTP.
Ahora continuamos en el shell. Necesitas derechos de root y editar vsftpd.conf en el directorio /etc. Escriba «vi /etc/vsftpd.conf». El carácter de comentario («#») debe eliminarse antes de las siguientes líneas:
- write_enable=YES (acceso de escritura permitido)
- ftpd_banner=»Mensaje de bienvenida al iniciar sesión».
- local_enable=YES (se permite el acceso a usuarios locales)
- chroot_local_user=YES (limitación al directorio raíz dado)
Puede encontrar ayuda para una configuración más detallada introduciendo «man vsftpd.conf».
Comandos vim útiles a la hora de editar:
- «i» – activar el modo de inserción antes del carácter actual
- «ESC» – salir del modo de inserción
- «o» – nueva línea
- «dd» – borrar línea
- «:wq» – guardar y salir
- «:q!» – salir sin guardar
Ahora se puede activar el demonio vsftp. Introduzca «vi /etc/xinetd.d/vsftpd», cambie la línea «disable = yes» por «disable = no» y guarde estos cambios. Asegúrese de que ningún otro servidor FTP se está ejecutando en paralelo. Esto se puede comprobar en este punto en la línea de comandos con «nmap localhost» (si FTP está en la lista – el paquete «nmap» debe estar instalado para esto). Ahora hay que reiniciar los servicios de red. Para ello, introduzca «/etc/init.d/xinetd restart». El servidor FTP está ahora activo, puedes comprobarlo con «ftp localhost». Una vez iniciada la sesión (basta con utilizar el usuario actualmente conectado al sistema), puede comprobar si funciona la limitación al directorio raíz especificado. Para ello: 1. «ls», 2. «cd …», 3. «ls». En ambos casos debería aparecer el mismo contenido de directorio.
Con «sftp localhost» por supuesto también debería funcionar.
Los nuevos usuarios y grupos se pueden crear a través de «YAST – Seguridad y Usuarios». Aquí está la manera a través de la línea de comandos:
En primer lugar, se crea un nuevo grupo para la administración de usuarios, al que luego se añaden los usuarios FTP virtuales. Introduce «groupadd ftpuser» en el intérprete de comandos. Ahora se puede crear un nuevo usuario. Ejemplo:
useradd -d /home/tester -g ftpuser -m -s /sbin/false tester.
Se aplica lo siguiente:
- «-d» = directorio personal
- «-g» = pertenencia al grupo principal
- «-m» = directorio personal se crea al mismo tiempo, por defecto en /home/
- «-s» = shell de inicio de sesión (utilizado aquí: el usuario sólo puede iniciar sesión en el servidor FTP, no en el sistema)
Termine la línea con el nombre de la cuenta. A continuación, introduzca la siguiente línea:
passwd nombredeusuario
Así que en este ejemplo introduzco: «passwd tester». Ahora puedo definir la contraseña. Existe el parámetro -p para una definición de contraseña para «useradd», pero el login no funciona con él, al menos en la distribución usada aquí, porque SuSE encripta por defecto con Blowfish, que vsftpd no puede desencriptar. Esto no se aplica si el método de cifrado por defecto se cambió durante la instalación de SuSE.
También es posible mantener una lista de nombres de usuario a los que se permite iniciar sesión en el servidor FTP. Se recomienda este procedimiento porque impide que otras cuentas del sistema inicien sesión a menos que se permita explícitamente. Crea un nuevo archivo «/etc/vsftpd.user_list» e introduce debajo los nombres de usuario que tienen permiso para iniciar sesión en el servidor FTP. Al final del archivo «/etc/vsftpd.conf» introduce las siguientes líneas:
userlist_deny=NO
userlist_enable=SÍ
userlist_file=/etc/vsftpd.user_list
Habilite y cambie la línea «chroot_list_enable» a «NO»:
chroot_list_enable=NO
«chroot» redefine el directorio raíz para programas e inicios de sesión. De este modo, al usuario se le muestra «/» como ruta raíz en el caso de un inicio de sesión FTP.
Clientes FTP – Parte 2
Cliente SFTP
Para acceder a un servidor SFTP, ahora necesitamos un cliente que pueda manejar este método de acceso. WinSCP es una de las primeras opciones en este caso. El nombre WinSCP es engañoso, el programa también domina SFTP.
Y por supuesto WinSCP también puede manejar conexiones SCP. El tipo de conexión se puede seleccionar en el gestor de conexiones.
El programa FTP gratuito FileZilla, que ya hemos presentado anteriormente, también es compatible con SFTP. La dirección del servidor es «sftp://» + IP o nombre DNS. El puerto es el 22 por defecto.
PSFTP de las descargas PuTTY se recomienda como cliente de línea de comandos.
Introduce open servername y autentifícate. Con el comando «help» puedes echar un vistazo a los comandos disponibles, que se proporcionan con una descripción de la función.
Para los usuarios de Total Commander, también hay un complemento SFTP y FTPS en la página principal de Total Commander. El complemento SFTP se utiliza como ejemplo para describir brevemente su uso: Después de la instalación, el plug-in se integra automáticamente; si no, se puede integrar manualmente en la configuración bajo Plug-ins del sistema de archivos. Ahora puede pulsar [ALT]+[F1], seleccionar «Entorno de red», allí encontrará «Conexiones FTP seguras» y podrá configurar las conexiones con «Editar conexiones».
Línea de comandos de Windows
La línea de comandos de Windows también es capaz de FTP. Haga clic en Inicio – Ejecutar e introduzca «cmd» para abrir la línea de comandos. Introduce «ftp» y ya puedes empezar. El conjunto de comandos se puede ver introduciendo «help». Es muy fácil de usar. Una sesión puede tener este aspecto
open ftp.nombredelservidor.de (abre la conexión con el servidor, forma abreviada después de cmd: "ftp ftp.nombredelservidor.de") username (nombre de usuario) password (contraseña) binary (cambia al modo de transferencia binario, porque quiero transferir archivos empaquetados) cd carpeta (cambia al directorio "carpeta") get "archivo.7z" (descarga el archivo "archivo.7z") put "archivo2.7z" (sube el archivo "archivo2.7z") salir de
Esto es útil, por ejemplo, si quieres subir una copia de seguridad a un ordenador remoto vía FTP. Para tener aún menos trabajo, puedes empaquetarlo todo en un archivo por lotes. En la ruta del archivo por lotes puedes almacenar un archivo de texto con los comandos FTP – en este ejemplo desde el nombre de usuario hasta el quit en un archivo «ftptransfer.txt». En un lote, la secuencia de comandos puede tener este aspecto
ftp -s:ftptransfer.txt ftp.nombredelservidor.es
Con el parámetro -s, los comandos FTP se procesan en el archivo de texto.
Transferencia FXP
FXP (File Exchange Protocol) es un método para transferir datos directamente entre 2 servidores sin tener que tomar los desvíos a través de un cliente. Sin embargo, los dos servidores FTP implicados no deben prohibir esta función.
FXP no es una característica especial de FTP, sino que utiliza las peculiaridades del modo activo y pasivo. A un 1er servidor, un cliente FTP adecuado envía la señal PASV y recibe el puerto y la dirección IP del servidor. A un 2º servidor, envía el puerto + la dirección IP que acaba de recibir en la señal PORT, estableciendo una conexión entre los servidores en cuestión. Las transferencias de datos pueden iniciarse ahora mediante la señal STOR (1er servidor) o RECV (2º servidor).
Un cliente que puede manejar FXP es Staff-FTP.
La primera conexión se establece normalmente, antes de la segunda conexión hay que pulsar el botón marcado en la captura de pantalla.
Una alternativa a esto es FlashFXP.
Resolución de problemas al establecer conexiones FTP
Esta última parte trata de la resolución de problemas, porque no siempre todo sale según lo previsto, en pocas palabras: la conexión del cliente al servidor no funciona. La resolución de problemas puede iniciarse tanto en el lado del servidor como en el lado del cliente. Ambos casos se describen a continuación mediante listas de comprobación.
Resolución de problemas en el lado del servidor
-
- ¿Se está ejecutando el paquete del servidor FTP?
Procedimiento: Mira en el administrador de tareas para ver si el servidor FTP se está ejecutando. Si se está ejecutando como un servicio o está minimizado en la bandeja (junto al reloj del sistema), tienes que mirar en los procesos.
Solución: Inicia el servidor FTP. - ¿Funciona el inicio de sesión localmente?
Procedimiento: Inicie sesión con un cliente FTP en el mismo ordenador donde se ejecuta el servidor FTP. La dirección del servidor es 127.0.0.1 – no olvide los datos del usuario. Debe haber al menos una cuenta con la que iniciar sesión. Además, debe definirse un directorio de inicio para el usuario.
Solución: cree una cuenta y defina un directorio de inicio. La cuenta anónima puede utilizarse para realizar pruebas. Compruebe si la tecla de bloqueo de mayúsculas está activa y, por tanto, la contraseña se ha escrito incorrectamente. - Si existe un 2º ordenador en una red doméstica: ¿se puede iniciar sesión dentro de la red doméstica?
Procedimiento: Averigüe la IP del ordenador en el que se ejecuta el servidor FTP. Abra el símbolo del sistema. Para ello, vaya al menú Inicio y haga clic en «Ejecutar», introduzca «cmd» y pulse Intro. Se abrirá el símbolo del sistema. Introduce «ipconfig» y pulsa Intro. Ahora obtendrá varias salidas, incluida su dirección IP. Si aparecen varios adaptadores, busca un «adaptador LAN».
- ¿Se está ejecutando el paquete del servidor FTP?
Ahora ve al segundo ordenador y abre de nuevo el símbolo del sistema. Asegúrate de que el ordenador en el que se ejecuta el servidor FTP es accesible. Introduce «ping ip-adresse-des-ftp-servers» en la línea de comandos (y por supuesto inserta la IP que determinaste antes). El ordenador debería responder y los tiempos de respuesta deberían ser relativamente cortos.
Ahora inicia un programa cliente FTP e introduce el nombre del ordenador como dirección del servidor y añade los datos del usuario. El inicio de sesión también debería funcionar aquí.
Solución: Si no funciona, la culpa podría ser de un cortafuegos de software. Desactívelo a modo de prueba con una conexión a Internet desconectada. Si ahora funciona, puede reactivar el cortafuegos de software y debe liberar los puertos 20 y 21 y permitir ICMP para el comando PING. Cómo hacerlo se explica en la respuesta a la siguiente pregunta.
Consejo: En una red local, la resolución de nombres por nombre de ordenador también funciona. Averigua el nombre del ordenador donde se ejecuta el servidor FTP. Para ello, pulsa Panel de control – Sistema [tecla Win]+[Pausa], cambia a la pestaña «Nombre del ordenador» y léela, vuelve a intentar un PING desde otro ordenador, sólo que esta vez sobre el nombre del ordenador. Así que también puedes introducir el nombre del ordenador en lugar de la IP en el cliente FTP si quieres llegar a un servidor FTP en la misma zona de red. El inicio de sesión también debería funcionar.
- ¿Puede un amigo iniciar sesión en tu cuenta?
Procedimiento: La mejor forma de probar un servidor FTP desde el exterior (es decir, desde Internet) es que lo pruebe un amigo; lo ideal es que esté conectado con él por teléfono, voz sobre IP (teléfono, Skype, Teamspeak o similar) o a través de Messenger para que pueda reaccionar rápidamente. Para excluir la fuente de error DynDNS, debe utilizar tu IP pública como dirección del servidor. En el ordenador con el servidor FTP, ve a http://www.wieistmeineip.de/ para averiguarlo. Tu amigo debería introducir esta dirección IP como dirección del servidor en el cliente FTP junto con los datos del usuario.
Solución: Si esto no funciona, comprueba lo siguiente:
¿Estás utilizando un cortafuegos de software? Debe estar configurado adecuadamente para que el servidor FTP pueda comunicarse con el exterior. Esto también se aplica al cortafuegos de Windows. Si utiliza el cortafuegos de Windows, la comunicación debe abrirse en el puerto 21. Abra la configuración del cortafuegos en el panel de control, vaya a la pestaña «Avanzado», seleccione la conexión de red correspondiente (normalmente conexión LAN), haga clic en «Configuración» y marque la casilla Servidor FTP en la pestaña «Servicios». Ahora cambia a la pestaña «ICMP» y pon otra marca en «Permitir solicitud de eco entrante» (PING). Con 2 confirmaciones pulsando el botón OK, se aceptan los ajustes. El servidor FTP está ahora accesible tras el cortafuegos de XP y se puede hacer ping al ordenador en la interfaz de red correspondiente.
Con otros cortafuegos de software, normalmente se le pregunta en el primer acceso si se debe permitir el acceso. Si no es así, puede crear manualmente una acción análoga a la del cortafuegos de Windows y la siguiente configuración del router. Como, por supuesto, no todas las configuraciones de cortafuegos de software pueden considerarse en un artículo como éste, describiré aquí la configuración en el Kerio Personal Firewall como ejemplo (instalación estándar, es decir, sin modo de aprendizaje, es decir, sin preguntar si se debe permitir el acceso). En la interfaz de configuración, vaya a «Seguridad de red» y allí a la pestaña «Predefinido». Si desea que su servidor FTP reciba pings desde Internet, debe permitir «Ping and Tracert in» desde Internet (haga clic en la cruz roja). Kerio PF funciona basado en aplicaciones, por lo que el filtro de paquetes debe configurarse en la pestaña «Aplicaciones». Para ello, haga clic en el botón del mismo nombre y añada una nueva regla análoga a la siguiente captura de pantalla:
Con la configuración predeterminada de este cortafuegos de software, el inicio de sesión y la transferencia de archivos funcionan. Otros cortafuegos de software prohíben todo el tráfico, tanto entrante como saliente. En este caso, o bien el puerto 20 saliente y el puerto 21 entrante deben estar permitidos (el servidor FTP se direcciona activamente) o bien debe definirse un rango de puertos en el servidor FTP y el puerto 21 entrante debe estar permitido en el cortafuegos de software (el servidor FTP se direcciona pasivamente). Esto último no es posible con la versión actual de GuildFTPd; en este caso necesitaría Serv-U como servidor FTP, por ejemplo. Si utiliza un cortafuegos de software, asegúrese de que está siempre actualizado.
¿Utiliza un router? Esto también podría impedir la conexión. Debe realizarse un reenvío de puertos. En este caso, los paquetes IP de Internet se reenvían en un puerto específico (aquí 21) a un puerto definido + dirección IP detrás del router.
Consulte la configuración de su router. El manual de su router le ayudará con la cuestión de cómo debe configurarse el reenvío de puertos. A veces este punto también se llama «Servidor Virtual», «Configuración NAT» o similar. Si has perdido el manual, normalmente puedes descargarlo en formato PDF de la página web del fabricante. Generalmente, tienes que «reenviar» el puerto 21 TCP al ordenador en el que se está ejecutando el servidor FTP.
Ejemplo para un router modelo Draytek 2900G: Abra la interfaz web del router – Configuración NAT – Configurar tabla de redirección de puertos – Nombre del servicio: FTP – Protocolo: TCP – Puerto público: 21 – IP privada: 192.168.1.111 – Puerto privado: 21 – Marque Activo – Haga clic en Aceptar.
Encontrará más instrucciones aquí: http://portforward.com/routers.htm.
Nota importante: No incluya su ordenador en la DMZ (Zona Desmilitarizada) – si existe; tampoco lo haga con fines de prueba. Pondrás en peligro la seguridad de toda la red detrás del router.
Tanto SSH como SFTP utilizan el puerto 22 para la comunicación. Si utiliza la comunicación segura (parte 2), deberá proceder de forma análoga al puerto 21 que acabamos de describir.
Se recomienda asignar previamente direcciones IP fijas en la red doméstica y desactivar un servidor DHCP existente en el router. Ejemplo: Si la interfaz web del router se abre al introducir la IP 192.168.1.1, podría configurar sus clientes con las direcciones IP 192.168.1.101, 192.168.1.102, etc. La puerta de enlace predeterminada y el servidor DNS preferido en ambos casos es su router, en este ejemplo 192.168.1.1. Puede configurarlo en Panel de control – Conexiones de red – haga clic con el botón derecho en Conexión LAN y seleccione Propiedades – Seleccione Protocolo de Internet (TCP/IP) – Propiedades. Ahora puede introducir la IP asignada como ordenador de destino durante el reenvío de puertos. ¿Qué ocurre con los paquetes de datos que llegan al puerto 21? Se reenvían al ordenador de destino.
- ¿Funciona el inicio de sesión cuando se utiliza el nombre DynDNS?
Procedimiento: Dependiendo del cliente DynDNS que se utilice, hay dos formas. Si se utiliza un cliente software (DynDNS Updater, DirectUpdate, DeeEnEs etc.), puede probarlo usted mismo. Si se utiliza el cliente en un router, pida a un amigo que realice el login con el nombre DynDNS registrado, ya que sólo muy pocos routers permiten alcanzar el nombre DynDNS en el lado interno (LAN).
Solución: Si esto no funciona, es posible que el nombre del host no se haya resuelto correctamente o que el cliente DynDNS no se actualice. Introduzca el comando «nslookup» en el símbolo del sistema de Windows y confirme con Enter. Ahora puede introducir un dominio – aquí introduzca su nombre DynDNS y confirme con Enter (saldrá del diálogo introduciendo «exit» + Enter). Normalmente una de las respuestas debería ser:«Respuesta no autorizada: Nombre: Su_Nombre_DynDNS, Dirección: La_IP_asociada«.
Compare la dirección IP con la de http://www.wieistmeineip.de/. Debería ser idéntica. Si no es así, el cliente DynDNS del router o de su ordenador no se está sincronizando correctamente. Comprueba la configuración, especialmente la ortografía correcta del nombre de host, el nombre de usuario y la contraseña. También puede comprobar el nombre de usuario y la contraseña en http://www.dyndns.org/. El inicio de sesión (Sign In) se encuentra en la parte superior derecha. Después de iniciar sesión correctamente, también puede hacer clic en «Mis servicios» en la parte superior. Su nombre de host aparece ahora debajo en «Servicios a nivel de host». Haga clic en «DNS dinámico» para ver la dirección IP asociada y la última hora de sincronización. Su dirección IP actual se muestra en «Nueva dirección IP». Si es diferente de la «IP en la base de datos/DNS», haga clic en «Modificar host». La dirección IP está ahora actualizada en la base de datos DynDNS y su servidor FTP debería ser accesible a través del nombre DynDNS.
Solución de problemas en el lado del cliente
- No importa lo que intente, no se establece conexión con ningún servidor, siempre hay un tiempo de espera.
Solución: Si ha instalado un cortafuegos de software adicional, compruebe si bloquea el establecimiento de la conexión. El archivo de registro del programa es útil para ello. Reconfigure el software en consecuencia para que el cliente FTP pueda comunicarse. - No se puede acceder a un determinado servidor FTP en Internet, siempre se produce un timeout.
Solución: En primer lugar, asegúrese de que el nombre del servidor, el nombre de usuario y la contraseña están escritos correctamente.
La primera forma de comprobar si se puede acceder a un servidor es utilizar el comando PING. Por supuesto, esto supone que ICMP no está bloqueado por ningún cortafuegos. Introduzca el comando «ping nombre_servidor» en la línea de comandos de Windows (Inicio – Ejecutar: cmd). Basándose en las respuestas, puede sacar las primeras conclusiones.
Si el servidor responde y obtienes 4 líneas con valores en milisegundos, tiene este aspecto:El ordenador es accesible. Si el acceso por FTP no funciona ahora, hay que comprobar que los cortafuegos del lado del cliente y del servidor están correctamente configurados. Si has descartado todas las demás fuentes de error, lo más probable es que el servicio FTP del servidor no esté disponible en este momento.
¿Recibes el siguiente mensaje…
Fehler»>
…, esto indica un problema con la resolución de nombres (DNS). En este caso, pruebe si el comando «ping www.google.de» o «ping www.t-online.de» tiene éxito. Si esta prueba es positiva, el nombre de host deseado del servidor FTP no se resuelve correctamente. Introduzca el comando «ipconfig /flushdns» en la línea de comandos. Esto borra la caché DNS.
Si la resolución correcta del nombre sigue sin ser posible, comprueba la configuración de tu conexión a Internet, especialmente el servidor DNS preferido y la configuración IP.
Si la respuesta es «No se puede acceder al host de destino», el enrutamiento al host de destino es defectuoso si por lo demás puedes navegar por Internet con normalidad.
Si generalmente obtiene esta respuesta, debe comprobar las máscaras de subred de su entorno de red.
Si obtiene muchas violaciones de solicitud, el host no está disponible temporal o completamente.
Esto indica una conexión de red inexistente, congestión de la red, error de resolución ARP en el camino hacia el servidor, filtrado de paquetes (cortafuegos) o error de enrutamiento. A veces un simple reinicio del router (si está disponible) puede ayudar, pero también la búsqueda de un gusano causante del tráfico puede a veces conducir a la eliminación de una sobrecarga. Puede leer sobre las interrupciones de Internet aquí: http://www.heise.de/imonitor/.
Si obtiene mensajes de error incluso con un «ping localhost» / «ping 127.0.0.1», debe reinstalar la pila TCP/IP. Para ello, vaya a Panel de control – Conexiones de red – haga clic con el botón derecho en Conexión LAN – Propiedades – Protocolo TCP/IP – Desinstalar – luego reinicie – luego vuelva a este diálogo y reinstale el Protocolo TCP/IP.
- El inicio de sesión funciona, pero no puedo cargar ni descargar nada.
Solución: Posiblemente un cortafuegos está bloqueando el transporte. Si está utilizando el modo de conexión activa, establezca el modo de conexión pasiva en su cliente FTP y vuelva a intentarlo. - Los archivos se cargan o descargan de forma incompleta.
Solución: Es posible que se esté utilizando el modo de transferencia incorrecto (ASCII / Binario – la elección correcta para cada tipo de archivo se explicó al principio de la Parte 1 de la serie de artículos). Busque el ajuste correspondiente en su cliente FTP y cámbielo a «Automático». Si el cliente FTP elige mal, puedes determinar tú mismo el modo de transferencia si una actualización del programa FTP no ayuda.
Otra razón para una transferencia defectuosa, que es más difícil de localizar, es el valor MTU. Puedes encontrar instrucciones detalladas sobre este problema aquí: http://www.gschwarz.de/mtu-wert.htm