Cómo administrar la red IPv4 en Windows por comandos

Windows es un sistema operativo en la que la mayoría de las acciones las podremos realizar usando su interfaz gráfica. No obstante, en algunas ocasiones tenemos que recurrir a la utilización de una serie de comandos en una ventana de símbolo de sistema o de Windows PowerShell. En este caso, vamos a hablar de uno que nos permitiría cambiar la configuración de nuestras interfaces de red, tanto para IPv4 como para IPv6. En este tutorial vamos a explicar cómo usar el comando netsh de Windows para ver y cambiar la configuración de una red IPv4.

Lo primero que vamos a hacer es conocer el comando netsh y cómo podemos utilizarlo. Luego explicaremos algunos de sus parámetros básicos de utilización junto con algunos ejemplos de utilización con su sintaxis correspondiente para que podáis ver y cambiar la configuración de una red IPv4.

Qué es el comando netsh y cómo usarlo

El comando netsh podríamos definirlo como una utilidad de línea de comandos que nos va a permitir mostrar o modificar la configuración de red de un equipo que esté en ejecución. Sus principales funciones están relacionadas con la visualización, modificación, administración y diagnóstico de una configuración de red. Esta herramienta está disponible en sistemas operativos de Microsoft Windows en diferentes versiones como 2000, XP, 7, 8, 10, Server 2012 y más.

En cuanto a su forma de ejecución podemos realizarlo de dos formas diferentes:

  1. Windows PowerShell.
  2. Símbolo del sistema.

A continuación, vamos a poner un ejemplo con cada uno, aunque a lo largo del tutorial los ejemplos los haremos utilizando una ventana símbolo de sistema.

Vamos a empezar con PowerShell para lo que vamos a seguir estos pasos:

  1. Vamos a menú de inicio de Windows.
  2. Escribimos Windows PowerShell y pulsamos en enter.

Entonces escribimos el comando netsh así:

Su forma de trabajar es diferente a la que utilizamos en una ventana símbolo de sistema. Después del símbolo « pondríamos los parámetros, en este caso sería el de la «?» para ver las opciones del comando. Como podéis ver, ofrece estos resultados:

Por otro lado, luego tendríamos la opción de trabajar con el comando netsh en una ventana de símbolo de sistema para lo que seguiríamos estos pasos.

  1. Nos dirigimos a menú de inicio de Windows.
  2. Tecleamos CMD y pulsamos en enter.

Aquí la forma de trabajar es diferente, se escribe todo el comando de una única vez y se ejecuta pulsando enter. Las opciones se separan introduciendo los operadores / (barra) o (guion simple). Por ejemplo, al igual que el caso anterior para ver las opciones del comando netsh sería la «?» y para introducirlo correctamente sería «/?«. Así, el comando que deberíamos introducir es:

netsh /?

Esta es la respuesta que obtendríamos:

Como se puede apreciar, la mayoría de opciones estarían incluidos en ambos, aunque hay que señalar que la forma de trabajar sería diferente. En este tutorial vamos a trabajar de esta última forma, es decir, con una ventana de símbolo de sistema.

Sintaxis y parámetros de netsh

Cada vez que se introduce un comando hay que seguir una pauta, que es simplemente seguir el orden que establece su sintaxis. Luego tenemos que ir poniendo los parámetros con su símbolo correspondiente que suele ser una barra «/ «o un guion «-«.

Está sería la sintaxis del comando:

netsh-a ArchivoDeAlias] [ -c Contexto ] [ -r EquipoRemoto] [ -u [ NombreDeDominio ] NombreDeUsuario ] [ -p Contraseña | *] [{ComandoNetsh | -f ArchivoDeScript}

El comando netsh podríamos usarlo con estos parámetros:

  • -a devuelve al símbolo del sistema netsh tras la ejecución del ArchivoDeAlias.
  • AliasFile que especifica el nombre del archivo de texto que contiene uno o más comandos netsh.
  • -c especificas el contexto que quieres utilizar, por ejemplo, WLAN.
  • -r estás indicando que quieres que el comando se ejecute en un ordenador remoto.
  • -u estableces que quieres utilizar el comando netsh en una cuenta de usuario concreta.
  • -p para especificar que deseamos proporcionar una contraseña a la cuenta de usuario.
  • -f tras ejecutar un script sale de netsh.

Una forma que nos puede ayudar a saber cómo podemos combinar los operadores que podemos utilizar es conociendo el contexto del principal. Por lo tanto, si quisiéramos conocer los comandos disponibles para wlan usaríamos:

netsh -c wlan

Y luego poniendo la ? podríamos ver los comandos que podemos utilizar:

Guardar y restaurar la configuración de red con el comando netsh

Gracias a netsh también podemos exportar la configuración de la red en un archivo de texto. Así, en caso de tener problemas de red podríamos restablecer a los valores que teníamos antes, gracias a esa copia de seguridad. Lo primero que tenemos que hacer antes de exportar esa configuración de la red, es crear una carpeta de red donde almacenar nuestro archivo de respaldo. En este caso vamos a crear en nuestra unidad C: una carpeta llamada «redes». Entonces, para guardar nuestra configuración en un archivo llamado configuración.txt ejecutaremos el comando netsh así:

netsh dump >> c:redesconfiguracion.txt

Luego si hacemos doble clic sobre el archivo podremos ver su contenido:

En el caso de que necesitemos restaurar nuestra configuración de red utilizaríamos esto:

netsh -f c:redesconfiguracion.txt

Otros comandos netsh que podemos utilizar

Un comando importante es el que nos muestra los nombres de los interfaces que tenemos en nuestro equipo, de aquí apuntaremos el nombre de la interfaz que vamos a configurar:

netsh interface show interface

Por ejemplo, podríamos elegir una interfaz nuestra IPv4 y establecer una IP estática para nuestro ordenador así:

netsh interface ipv4 set address "Wi-Fi" static 192.168.1.40 255.255.255.0 192.168.1.1 1

Ahora vamos el comando netsh en relación con las conexiones inalámbricas. Por ejemplo, si quiero averiguar los perfiles de redes Wi-Fi que tengo guardados en en mi ordenador

netsh wlan show profiles

Y entonces veríamos que tenemos estas redes Wi-Fi guardadas:

Si queremos evitar que una red Wi-Fi se conecte automáticamente tendríamos que usar:

netsh wlan set profileparameter name=Nombre de red connectionmode=manual

En nombre de red lo sustituiríamos por el nombre de nuestra red Wi-Fi. Por otro lado, si queremos que nuestra Wi-Fi se conecte automáticamente:

netsh wlan set profileparameter name=Nombre de red connectionmode=auto

También usando el comando netsh podremos ver la configuración de la interfaz Wi-Fi:

netsh interface ipv4 show address Wi-Fi netsh interface ipv4 show dns Wi-Fi

En vez de la interfaz Wi-Fi, también podríamos hacer lo mismo con los equipos conectados por cable de red

netsh interface ipv4 show address ethernet netsh interface ipv4 show dns ethernet

Aquí tenéis un ejemplo:

Respecto al firewall también podríamos utilizar una serie de comandos. En el caso de querer abrir el puerto 80, ejecutaríamos lo siguiente:

netsh advfirewall firewall add rule name= «Open Port 80» dir=in action=allow protocol=TCP localport=80

Si queremos eliminar la regla de un puerto utilizaríamos esto:

netsh advfirewall firewall delete rule name= rule name protocol=udp localport=500

También podríamos restaurar los valores predeterminados del firewall así:

netsh advfirewall reset

Ahora toca el turno para trabajar con los servidores DNS. Así podríamos establecer el primer servidor DNS:

netsh interface ipv4 set dnsservers "Wi-Fi" static 8.8.8.8 validate=no

El servidor secundario lo pondríamos de esta forma:

netsh interface ipv4 add dnsserver "Wi-Fi" 8.8.4.4 index=2 validate=no

El parámetro index va a asignar un número de orden al servidor. En el primer servidor DNS después de la IP podríamos haber puesto index=1 pero no es necesario.

También podemos establecer que la configuración de red de la interfaz Wi-Fi fuese dinámica mediante el DHCP. Para lo cual tendríamos que ejecutar el comando nestsh dos veces así:

netsh interface ipv4 set address "Wi-Fi" dhcp netsh interface ipv4 set dnsservers "Wi-Fi" dhcp

Como podéis observar, usando el comando netsh podemos ver y modificar numerosos aspectos de nuestra conexión de red.