sábado, 31 de enero de 2026

Conexión a internet desde consola tty


1. Método autómatico Conexión eventual a internet desde TTY usando DHCP

Vamos a configurar una conexión a internet porque el propietario del ordenador, no supo actualizar el sistema operativo de Debian 12 a 13, y al arrancar se le quedaba en la consola de comando. Vi que el problema no era la tarjeta gráfica (ni siquiera estaba configurada), el problema era que no acabo de instalar/actualizar el sistema, que lo interrumpió antes de finalizar, que se solo realizó el 10% de la descarga, quedando todo por descargar, desempaquetar, instalar y configurar. Ni siquiera tenia instalado: nmcli, nmtui.

Entonces vamos a conectar una consola o terminal Linux (TTY) a Internet con systemd-networkd, configuramos una red con ip automática en la consola usando:

 

- ip a
ip link set <interfaz> up
dhclient <interfaz>
ping -c4 google.com    >> para verificar la conexión a internet
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
ping -c4 google.com    >> para verificar la conexión a internet. 


El proceso a realizar para tener internet es el siguiente:

1. Para ver todas las interfaces de red y ver cual vamos a usar. Podemos usar cualquiera de estos tres comandos:

ip a
ip addr
ip link show

 

2. Activar la interfaz deseada (ej. enp1s0, eth0, wlan0), pues estaba caída,


ip link set <interfaz> up


3. Solicitar IP dinámica vía DHCP


dhclient <interfaz>


4. Verificar conectividad


ping -c4 google.es


5. Si el DHCP no configura DNS correctamente, tenemos que añadir temporalmente, el siguiente servidor:


echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf


6. y volvemos verificar conectividad


ping -c4 google.es 


Si nos devuelve algo como esto, es que ya tenemos internet


===========================================================
PING google.es (142.250.184.3) 56(84) bytes of data.

64 bytes from mad41s10-in-f3.1e100.net (142.250.184.3): icmp_seq=1 ttl=118 time=20.4 ms

64 bytes from mad41s10-in-f3.1e100.net (142.250.184.3): icmp_seq=2 ttl=118 time=28.9 ms

64 bytes from mad41s10-in-f3.1e100.net (142.250.184.3): icmp_seq=3 ttl=118 time=17.9 ms

64 bytes from mad41s10-in-f3.1e100.net (142.250.184.3): icmp_seq=4 ttl=118 time=16.6 ms


--- google.es ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3003ms

rtt min/avg/max/mdev = 16.614/20.941/28.907/4.793 ms
===========================================================



Sin conflictos: ¿Qué pasa al reiniciar?


- La IP asignada por dhclient se pierde.

- No se modifican archivos persistentes como /etc/network/interfaces ni perfiles de NetworkManager.

- No hay conflicto con el gestor de red predeterminado.


Continuar para resolver el problema


Ya podemos continuar para resolver el problema de actualización del sistema o de paquetes erróneos. Y tenemos internet y podemos usar: apt, nala, aptitude, dpkg, ping, ssh, ...




2. Método manual: Conexión eventual a internet desde TTY usando iprouter2


Vamos a conectar una consola o terminal Linux (TTY) a Internet con systemd-networkd, configuramos una red con ip manual en la consola usando:


- ip a
- ip link set <interfaz> up
- ip addr add <ip/cidr> dev <interfaz>
- ip route add default via <gateway>
- ping -c4 google.com    >> para verificar la conexión a internet. 


1. Para ver todas las interfaces de red y ver cual vamos a usar. Podemos usar cualquiera de estos tres comandos:


ip a
ip addr
ip link show


2. Ahora habilitamos la interfaz de red que vamos a configurar para tener salida a internet. Reemplaza <nombre_interfaz> con el nombre de tu interfaz real, por ejemplo, eth0, ens1p0 ...


ip link set <interfaz> up


3. Configurar la dirección IP (estática) de tu interfaz de red. Usa el siguiente comando, sustituyendo los valores con tu configuración específica: 

<tu_ip>: Es la dirección IP que quieres asignar a tu consola (ej. 192.168.1.100)
<cidr>: Es la notación CIDR para la máscara de red (ej. 24 para 255.255.255.0).

ip addr add <tu_ip>/<cidr> dev <interfaz>


ip addr add 192.168.1.100/24 dev eth1


4. Configurar la ruta por defecto gateway (según la ip de tu router)


Establece la puerta de enlace (gateway) para el tráfico saliente. Usa este comando, reemplazando <ip_gateway> con la IP de tu router:

ip route add default via <ip_gateway>


ip route add default via 192.168.1.1


5. Configura unos servidores dns para resolver los nombre de dominios:


echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf


6. Verificar la conexión

Hacemos ping a un sitio web conocido que sepamos que esta en funcionamiento para comprobar la conectividad


ping -c4 8.8.8.8


Si nos devuelve algo como esto, es que ya tenemos internet


===========================================================
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=15.7 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=15.8 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=15.9 ms

64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=16.7 ms


--- 8.8.8.8 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3005ms

rtt min/avg/max/mdev = 15.682/16.028/16.720/0.406 ms
===========================================================


Sin conflictos: ¿Qué pasa al reiniciar?


- La IP asignada manualmente se pierde.

- No se modifican archivos persistentes como /etc/network/interfaces ni perfiles de NetworkManager.

- No hay conflicto con el gestor de red predeterminado.


Continuar para resolver el problema


Ya podemos continuar para resolver el problema de actualización del sistema o de paquetes erróneos. Y tenemos internet y podemos usar: apt, nala, aptitude, dpkg, ping, ssh, ...





No hay comentarios: