User Tools

Site Tools


redes:debian

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
redes:debian [2026/11/04 15:11] – created manskyredes:debian [2026/11/04 15:18] (current) – removed mansky
Line 1: Line 1:
-====== Debian: comandos de red y Samba ====== 
- 
-Versión V26_11 
- 
-===== Comandos básicos y administración de red en Debian ===== 
- 
-^**Área**   ^**Comando**              ^**Para qué sirve**                             ^**Ejemplo breve**          ^ 
-|Sistema    |whoami                   |Muestra el usuario actual.                     |whoami                     | 
-|Sistema    |hostnamectl              |Muestra o cambia el nombre del equipo.         |hostnamectl                | 
-|Red        |ip -br addr              |Resume interfaces y direcciones IP.            |ip -br addr                | 
-|Red        |ip route                 |Muestra rutas, incluida la puerta de enlace.   |ip route                   | 
-|Red        |ping -c 4 IP             |Prueba conectividad IP controlada.             |ping -c 4 192.168.50.10    | 
-|Red        |nmcli device status      |Relaciona interfaces y perfiles NetworkManager.|nmcli device status        | 
-|Diagnóstico|ip neigh                 |Muestra vecinos ARP aprendidos.                |ip neigh show              | 
-|Diagnóstico|ss -tulpen               |Muestra puertos en escucha y procesos.         |sudo ss -tulpen            | 
-|Diagnóstico|getent hosts nombre      |Comprueba resolución de nombres.               |getent hosts deb.debian.org| 
-|Servicios  |systemctl status servicio|Consulta el estado de un servicio.             |systemctl status ssh       | 
-|Usuarios   |usermod                  |Añade el usuario al grupo sudo.                     |usermod -aG sudo jose      | 
-|Paquetes   |apt install paquete      |Instala software desde repositorios.           |sudo apt install apache2   | 
- 
-====== Cambios temporales de interfaz y direccionamiento ====== 
- 
-La interfaz enp0s8 se empleará solo para esta prueba. 
- 
-Se renombrará temporalmente como “asir” y se configurará con la dirección 192.168.60.10/24. La red debe disponer de un router real con dirección 192.168.60.1. Se usarán los DNS 1.1.1.1 y 8.8.8.8. 
- 
-===== Ejecución paso a paso ===== 
- 
-1. Comprobar las interfaces disponibles y anotar la dirección MAC de enp0s8. 
- 
-<code bash> 
-ip -br link 
-ip -br addr 
-ip link show enp0s8 
-</code> 
- 
-La salida link/ether contiene la MAC. 
- 
-2. Desconectar el perfil que pudiera estar activo y renombrar la interfaz solo durante esta sesión. 
- 
-<code bash> 
-sudo nmcli device disconnect enp0s8 
-sudo ip link set enp0s8 down 
-sudo ip link set enp0s8 name asir 
-sudo ip link set asir up 
-ip -br link 
-</code> 
- 
-El cambio se ve inmediatamente con ip -br link, pero se perderá al reiniciar. 
- 
-NetworkManager puede volver a aplicar un perfil si no se ha desconectado previamente. 
- 
-3. Asignar una IP, una ruta por defecto de prueba y DNS temporales. 
- 
-<code bash> 
-sudo ip addr flush dev asir 
-sudo ip addr add 192.168.60.10/24 dev asir 
-sudo ip route replace default via 192.168.60.1 dev asir metric 600 
- 
-ip -br addr show asir 
-ip route 
-</code> 
- 
-ip solo configura dirección, estado y rutas; no configura DNS. 
- 
-Si systemd-resolved está activo, puedes asignar DNS a la interfaz con este comando. En otros casos, usa el gestor que controle /etc/resolv.conf. 
- 
-<code bash> 
-sudo resolvectl dns asir 1.1.1.1 8.8.8.8 
-resolvectl status asir 
-</code> 
- 
-El valor metric 600 deja esta ruta por detrás de la ruta NAT, que se configurará con métrica 100. Así se puede observar una puerta de enlace adicional sin perder la salida habitual de la máquina virtual. 
- 
-4. Volver al estado inicial. La forma más segura es reiniciar la máquina virtual. El reinicio descarta el nombre temporal, la IP y la ruta. 
- 
-<code bash> 
-sudo reboot 
-</code> 
- 
-Comprobación: después de reiniciar, enp0s8 vuelve a aparecer con su nombre original 
- 
-====== Entornos virtuales en VirtualBox ====== 
- 
-===== Preparar cuatro adaptadores para comparar métodos de configuración ===== 
- 
-===== Diseño de la máquina virtual ===== 
- 
-Con la máquina apagada, abre Configuración, Red en VirtualBox. Habilita los cuatro adaptadores y marca Cable conectado en todos ellos. Los nombres enp0s3, enp0s8, enp0s9 y enp0s10 son habituales en VirtualBox, pero deben verificarse en cada máquina. 
- 
-===== Ejecución paso a paso ===== 
- 
-  - Crear las redes internas. En el desplegable Conectado a selecciona Red interna 
-  - Las máquinas que deban comunicarse entre sí deben usar el mismo nombre de red interna. 
-  - Arrancar Debian e identificar las interfaces y las rutas. La interfaz NAT debe ser inicialmente la única con ruta por defecto. 
- 
-<code bash> 
-ip -br link 
-ip -br addr 
-ip route 
-nmcli device status 
-</code> 
- 
-Aunque enp0s8, enp0s9 y enp0s10 aparezcan DOWN antes de configurarlas, es normal. Se activarán al asignar su configuración con el gestor correspondiente. 
- 
-Si una interfaz aparece sin “conexión” no tiene aún un perfil de NetworkManager asignado. Lo podemos crear por ejemplo para enp0s8 
- 
-<code bash> 
-sudo nmcli connection add type ethernet \ 
-ifname enp0s8 \ 
-con-name "practicas" \ 
-ipv4.method auto \ 
-connection.autoconnect no 
-</code> 
- 
-Para comprobar que existe, aunque esté desconectada 
- 
-<code bash> 
-nmcli connection show 
- 
-nmcli -f connection.id,connection.interface-name connection show "practicas" 
-</code> 
- 
-activar la conexión 
- 
-<code bash> 
-sudo nmcli connection up "practicas" 
-</code> 
- 
-desactivar la conexión 
- 
-<code bash> 
-sudo nmcli connection down "practicas" 
-</code> 
- 
-también podemos actuar directamente sobre el dispositivo y no sobre la conexión 
- 
-<code bash> 
-sudo nmcli device connect enp0s8 
- 
-sudo nmcli device disconnect enp0s8 
-</code> 
- 
-Renombrar las cuatro interfaces de forma persistente 
- 
-====== Configuración persistente y DHCP con NetworkManager ====== 
- 
-===== Configuración estática persistente ===== 
- 
-<code bash> 
-sudo nmcli connection modify "practicas" \ 
-ipv4.method manual \ 
-ipv4.addresses "192.168.60.10/24" \ 
-ipv4.gateway "192.168.60.1" \ 
-ipv4.dns "1.1.1.1 8.8.8.8" \ 
-ipv4.ignore-auto-dns yes \ 
-ipv4.never-default no \ 
-ipv4.route-metric 600 
- 
-sudo nmcli connection up "practicas" 
-ip -br addr show enp0s8 
-ip route 
-nmcli device show enp0s8 
-</code> 
- 
-===== Volver a DHCP ===== 
- 
-<code bash> 
-sudo nmcli connection modify "practicas" \ 
-ipv4.method auto \ 
-ipv4.addresses "" \ 
-ipv4.gateway "" \ 
-ipv4.dns "" \ 
-ipv4.ignore-auto-dns no \ 
-ipv4.never-default yes 
- 
-sudo nmcli connection down "practicas" 
-sudo nmcli connection up "practicas" 
-ip -br addr show enp0s8 
-nmcli device show enp0s8 
-</code> 
- 
-====== Configuración persistente y DHCP con systemd networkd ====== 
- 
-Antes de empezar, confirma que NetworkManager la muestra como unmanaged. 
- 
-===== Configuración estática persistente ===== 
- 
-<code bash> 
-sudo nano /etc/systemd/network/20-netd0.network 
-</code> 
- 
-<code ini> 
-[Match] 
-Name=netd0 
- 
-[Network] 
-Address=192.168.61.10/24 
-DNS=1.1.1.1 
-DNS=8.8.8.8 
- 
-[Route] 
-Gateway=192.168.61.1 
-Metric=600 
-</code> 
- 
-<code bash> 
-sudo systemctl enable --now systemd-networkd 
-sudo networkctl reload 
-sudo networkctl reconfigure netd0 
-ip -br addr show netd0 
-ip route 
-networkctl status netd0 
-</code> 
- 
-===== Volver a DHCP ===== 
- 
-<code bash> 
-sudo nano /etc/systemd/network/20-netd0.network 
-</code> 
- 
-<code ini> 
-[Match] 
-Name=netd0 
- 
-[Network] 
-DHCP=yes 
- 
-[DHCPv4] 
-UseDNS=yes 
-RouteMetric=600 
-</code> 
- 
-<code bash> 
-sudo networkctl reload 
-sudo networkctl reconfigure netd0 
-ip -br addr show netd0 
-ip route 
-networkctl status netd0 
-</code> 
- 
-DHCP=yes solicita la dirección, el prefijo, la puerta de enlace y los DNS. Si la red red-networkd no tiene servidor DHCP, la interfaz no obtendrá una configuración IPv4 por DHCP. 
- 
-====== Configuración persistente y DHCP con ifupdown ====== 
- 
-Objetivo: Configurar enp0s10 desde /etc/network/interfaces. 
- 
-===== Preparación ===== 
- 
-<code bash> 
-sudo apt update 
-sudo apt install ifupdown resolvconf 
-</code> 
- 
-El paquete resolvconf permite que la directiva dns-nameservers actualice los servidores DNS. No se debe declarar en /etc/network/interfaces ninguna interfaz que esté administrada por NetworkManager. 
- 
-===== Configuración estática persistente ===== 
- 
-Añade al final de /etc/network/interfaces, sin borrar la configuración de loopback: 
- 
-<code text> 
-auto enp0s10 
-iface enp0s10 inet static 
-address 192.168.62.10 
-netmask 255.255.255.0 
-gateway 192.168.62.1 
-dns-nameservers 1.1.1.1 8.8.8.8 
-metric 600 
-</code> 
- 
-<code bash> 
-sudo ifup enp0s10 
- 
-# Si necesitas forzar la desactivación: sudo ifdown --force enp0s10 
-ip -br addr show enp0s10 
-ip route 
-resolvconf -l 
-</code> 
- 
-===== Volver a DHCP ===== 
- 
-Sustituye el bloque estático anterior por este otro en /etc/network/interfaces: 
- 
-<code text> 
-auto enp0s10 
-iface enp0s10 inet dhcp 
-metric 600 
-</code> 
- 
-<code bash> 
-sudo ifdown enp0s10 
- 
-sudo ifup enp0s10 
-ip -br addr show enp0s10 
- 
-ip route 
-resolvconf -l 
-</code> 
- 
-====== Compartición de archivos entre Linux y Windows con Samba ====== 
- 
-**Objetivo:** Crear una carpeta compartida en Debian y acceder a ella desde Windows mediante SMB. 
- 
-Una máquina Debian actuará como servidor de aula y un equipo Windows 11 como cliente. Ambos estarán conectados a la misma red privada de VirtualBox. 
- 
-Pondremos en cada sistema operativo 2 tarjetas de red, una en NAT y otra en adaptador puente 
- 
-^**Equipo**        ^**Interfaz**^**IPv4**     ^**Máscara**  ^ 
-|Servidor Debian   |enp0s8      |192.168.26.10|255.255.255.0| 
-|Cliente Windows 11|Ethernet    |192.168.26.20|255.255.255.0| 
- 
-**1. Configuramos la interfaz de Debian.** Configuramos la tarjeta de red adaptador puente de una de las formas que hemos aprendido 
- 
-**2. Configurar Windows 11.** En Windows abre Configuración, Red e Internet, Configuración de red avanzada, Más opciones del adaptador. Con botón derecho en Ethernet entra en Propiedades, selecciona Protocolo de Internet versión 4 y pulsa Propiedades. 
- 
-  * Marca Usar la siguiente dirección IP. 
-  * Escribe 192.168.26.20 como dirección IP y 255.255.255.0 como máscara. 
-  * Deja vacías la puerta de enlace y los DNS, porque este ejemplo no dispone de router ni requiere resolver nombres. 
- 
-**3. Comprobar la configuración y hacer ping.** Primero se revisan los datos locales; después se prueba la comunicación entre ambos equipos. 
- 
-<code bash> 
-# En Debian 
-ip -br addr 
-ping -c 4 192.168.26.20 
-</code> 
- 
-<code dos> 
-ipconfig 
-ping 192.168.26.10 
-</code> 
- 
-**4. Observar ARP.** Al estar ambos equipos en la misma red, el cliente necesita conocer la dirección MAC del servidor mediante ARP. 
- 
-<code bash> 
-ip neigh show 
-traceroute -n 192.168.26.10 
-</code> 
- 
-**5. Instalar Samba y crear el grupo de trabajo local.** Se crea un grupo específico para gestionar los permisos de la carpeta compartida. 
- 
-<code bash> 
-sudo apt update 
-sudo apt install samba smbclient 
-sudo groupadd -f redlocal 
-sudo usermod -aG redlocal alumno 
-</code> 
- 
-samba instala el servidor SMB. smbclient permite hacer una comprobación desde Linux. groupadd -f no genera error si el grupo ya existe. usermod -aG añade al usuario al grupo sin quitarle otros grupos. He utilizado como usuario alumno, pero deberías de poner el usuario que has creado 
- 
-**6. Crear la carpeta y aplicar permisos Linux.** La carpeta se coloca fuera de /home para que su función sea claramente la de recurso compartido. 
- 
-<code bash> 
-sudo install -d -o alumno -g redlocal -m 2770 /srv/recursos 
-ls -ld /srv/recursos 
-</code> 
- 
-install -d crea la carpeta. -o y -g asignan propietario y grupo. 
- 
-El permiso 2770 permite leer, escribir y entrar al propietario y al grupo; el primer 2 activa setgid, de modo que los archivos nuevos conservan el grupo redlocal. 
- 
-**7. Dar una contraseña Samba al usuario.** Samba mantiene su propia base de credenciales. La cuenta debe existir previamente en Linux. 
- 
-<code bash> 
-sudo smbpasswd -a alumno 
-</code> 
- 
-Puede coincidir con la contraseña Linux, pero en un entorno real conviene aplicar una política de contraseñas adecuada. 
- 
-**8. Añadir el recurso a la configuración de Samba.** Al final de /etc/samba/smb.conf se incorpora una sección con el nombre visible del recurso. 
- 
-<code bash> 
-sudo nano /etc/samba/smb.conf 
-</code> 
- 
-<code ini> 
-[Recursos] 
-path = /srv/recursos 
-browseable = yes 
-read only = no 
-valid users = alumno 
-force group = redlocal 
-create mask = 0660 
-directory mask = 2770 
-</code> 
- 
-path indica la carpeta real. browseable permite verla al explorar el servidor. read only = no autoriza cambios. valid users limita el acceso a alumno. Las máscaras determinan permisos para nuevos archivos y carpetas. 
- 
-**9. Validar y arrancar el servicio.** Nunca se debe reiniciar Samba sin comprobar antes que el archivo es válido. 
- 
-<code bash> 
-sudo testparm 
-sudo systemctl restart smbd 
-sudo systemctl enable smbd 
-sudo ss -ltnp | grep ':445' 
-</code> 
- 
-testparm revisa la sintaxis de smb.conf. 
- 
-smbd ofrece el servicio SMB. 
- 
-ss muestra que el servidor escucha en el puerto TCP 445. 
- 
-**10. Conectar desde Windows.** En el Explorador de archivos escribe la ruta completa en la barra de direcciones. 
- 
-<code> 
-\\192.168.26.10\Recursos 
-</code> 
- 
-También puedes asignar una unidad desde el Símbolo del sistema de Windows. 
- 
-<code dos> 
-net use Z: \\192.168.26.10\Recursos /user:alumno 
-</code> 
- 
-Windows solicitará el usuario alumno y la contraseña definida con smbpasswd. La segunda orden asigna el recurso a la unidad Z. 
- 
-**11. Probar creación y lectura de un archivo.** Crea desde Windows un archivo llamado prueba_samba.txt y escribe una línea. Después comprueba en Debian que aparece con el grupo redlocal. 
- 
-<code bash> 
-ls -l /srv/recursos 
-smbclient -L //127.0.0.1 -U alumno 
-</code> 
- 
-La primera orden confirma los permisos Linux. La segunda lista los recursos publicados por el propio servidor y verifica que la cuenta Samba funciona. 
  
redes/debian.1793805071.txt.gz · Last modified: by mansky