Skip to content

Cambiar dirección IP y DNS en Windows mediante comandos

Cambiar dirección IP y DNS en Windows mediante comandos

El símbolo de sistema o Powershell pueden ser dos intérpretes de comandos muy útiles para ganar tiempo o automatizar tareas en Windows (igual que la shell en Linux). Veamos cómo de fácil es usar algo como Powershell para cambiar ajustes de red en Windows en pocos segundos.

Un caso práctico puede ser que estemos teniendo problemas para alcanzar algunas páginas web (no cargan o tardan demasiado en responder) por lo que debamos cambiar de servidor DNS o diagnosticarlo.

Otro caso podría ser el actualizar nuestra dirección IP para sortear bloqueos de contenido -geoblocking- en ciertos países. Veamos para empezar la forma de modificar la IP de Windows desde un Símbolo de sistema.

Cambiar la IP de Windows desde símbolo de sistema

Nuestra dirección IP (Internet Protocol) es la ventana de salida a internet de nuestra red, es un valor único que puede cambiar periódicamente (o no) en función del proveedor, y que podemos estar compartiendo con otros clientes del ISP, en el caso de la IP pública.

No es así en el caso de las IP de rango privado -las que tenemos dentro de nuestra red local, asignadas por nuestro hardware de red, sea router o switch- para identificar internamente cada ordenador y aparato en nuestra casa u oficina.

Cambiar la IP privada puede ser algo necesario en caso de que experimentemos algún problema con nuestro router o switch.

Un caso no muy frecuente pero a considerar es que tengamos una IP duplicada, es decir, que se esté concediendo dos veces la misma IP y por tanto ninguna de las dos funcione correctamente.

Otro caso de uso es cuando se ha asignado un valor incorrecto (IP fuera de rango) o quizá hemos instalado nuevo hardware de red que requiere aplicar valores diferentes.

Para cambiar la IP via CMD lo primero es saber qué nombre tiene la interfaz de red.

  • Abriremos un CMD con permisos de administrador (o Powershell) pulsando WIN + X o buscando en la barra de búsqueda y pulsando el botón derecho.
CMD administrador
  • Escribiremos lo siguiente y filtraremos de la salida el valor del adaptador deseado.
netsh interface ipv4 show config

En mi caso es el adaptador Wi-Fi sobre el que haremos la modificación.

Configuración para la interfaz "Wi-Fi"
    DHCP habilitado:                         Sí
    Dirección IP:                           10.0.0.129
    Prefijo de subred:                        10.0.0.0/24 (máscara 255.255.255.0)
    Puerta de enlace predeterminada:                   10.0.0.1
    Métrica de puerta de enlace:                       0
    Métrica de interfaz:                      40
    Servidores DNS configurados estáticamente:    1.1.1.1
    Registrar con el sufijo:           Solo el principal
    Servidores WINS configurados a través de DHCP: ninguno

Normalmente las modificaciones las realizaremos sobre Wi-Fi o Conexión de área local.

Ahora introduciremos la siguiente sintaxis:

netsh interface ipv4 set address name=NOMBRE_INTERFAZ static _DIRECCION MASCARA_SUBRED PUERTA_ENLACE

Es decir, en mi caso introduciré datos que, si no supiera, podría sacar fijándome en la página de administración del router/switch o bien cogiendo otro aparato para consultar estos valores (todos a excepción de la IP a introducir, que será única).

netsh interface ipv4 set address name="Wi-Fi" static 10.0.0.129 255.255.255.0 10.0.0.1

Hemos modificado la dirección IP, la máscara de red y la puerta de enlace tal como lo haríamos desde la interfaz del Panel de Control.

Para deshacer la asignación manual de IP, sustituiremos el valor static por dhcp.

netsh interface ipv4 set address name=NOMBRE_INTERFAZ dhcp DIRECCION MASCARA_SUBRED PUERTA_ENLACE

Modificar los servidores DNS en Windows mediante comandos

Un servidor DNS alberga información sobre direcciones de internet públicas en una base de datos, que emplea para traducir nombres de dominio a direcciones IP o viceversa, es lo que se conoce como «resolver una dirección».

Si el DNS encuentra un registro para la web que estamos buscando, nos llevará al contenido. En caso contrario, preguntará a otros servidores DNS a su alcance por si ellos supieran algo (upstream DNS) y, como último recurso, al SOA o DNS autoritativo. Más sobre servidores de nombres y diagnosticar DNS. A nivel interno, en nuestra red, es el router quien actúa como servidor de nombres interno, permitiendo que los aparatos se «vean» unos a otros.

Cambiar este valor puede interesar para evadir bloqueos, hacer diagnósticos o escoger un servidor DNS mejor y más rápido.

Para modificar el valor de DNS mediante linea de comandos o Powershell, ahremos lo siguiente.

  • Abriremos un CMD con permisos de administrador (o Powershell) pulsando WIN + X o buscando en la barra de búsqueda y pulsando el botón derecho.
CMD administrador
  • Escribiremos netsh y pulsaremos Intro.
  • Luego escribiremos este comando.
interface ip show config

Esto producirá una lista de interfaces con sus propiedades respectivas, tomaremos nota del nombre de la que nos interesa, en este caso Wi-Fi.

Ahora, para cambiar el DNS primario únicamente, podemos lanzar este comando.

netsh interface ipv4 set dns name=”NOMBRE INTERFAZ” static SERVIDOR DNS

Ejemplo:

Si ahora queremos añadir el servidor DNS secundario, modificaremos algunos aspectos del comando:

netsh interface ip add dns name=NOMBRE ADAPTADOR DIRECCION_IP index=2

Ejemplo:

netsh interface ip add dns name="Wi-Fi" 1.0.0.1 index=2

Haciendo un listado de las propiedades, tenemos los dos servidores asignados.

Adaptador de LAN inalámbrica Wi-Fi:

Sufijo DNS específico para la conexión. . :
Descripción . . . . . . . . . . . . . . . : Intel(R) Dual Band Wireless-N 7260
Dirección física. . . . . . . . . . . . . : E8-B1-FC-D6-7A-68
DHCP habilitado . . . . . . . . . . . . . : no
Configuración automática habilitada . . . : sí
Dirección IPv4. . . . . . . . . . . . . . : 10.0.0.129(Preferido)
Máscara de subred . . . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . . . : 10.0.0.1
Servidores DNS. . . . . . . . . . . . . . : 1.1.1.1
1.0.0.1
NetBIOS sobre TCP/IP. . . . . . . . . . . : habilitado

Ahora, si queremos volver a establecer un DNS dinámico (ofrecido por el enrutador) simplemente sustituiremos el valor en source por dhcp.

netsh interface ipv4 set dns name="Wi-Fi" source=dhcp

Asignar un servidor DNS mediante Powershell

Los ejemplos anteriores eran válidos para cualquier intérprete de comandos nativo de Windows, pero si te interesa Powershell a continuación tienes un método para hacerlo con el cmdlet NetTCPIP.

Para cambiar de servidor DNS con Powershell haremos esto.

  • Abriremos el menú inicio o pulsaremos WIN + X > Powershell (como administrador).
  • Usaremos este comando para listar la configuración de red actual.
Get-NetIPConfiguration

Ahora, anotaremos la siguiente información: InterfaceIndex / DNSServer.

Get-NetIPConfiguration
La interface Index es 29 y el servidor DNS es 1.1.1.1

Usaremos ahora la siguiente sintaxis para asignar el servidor DNS deseado:

Set-DnsClientServerAddress -InterfaceIndex <INTERFAZ> -ServerAddresses <IP_SERVIDOR>

Además, en caso de que necesitemos asignar 2 servidores, DNS primario y secundario, lo añadiremos al final de la primera IP, separado por coma.

Ejempo:

Set-DnsClientServerAddress -InterfaceIndex 29 -ServerAddresses 1.1.1.1, 1.0.0.1

Ahora ya tenemos nuestro servidor de nombres secundario:

InterfaceAlias       : Wi-Fi
InterfaceIndex       : 29
InterfaceDescription : Intel(R) Dual Band Wireless-N 7260
NetProfile.Name      : 404WIFI5NOTFOUND 2
IPv4Address          : 10.0.0.129
IPv4DefaultGateway   : 10.0.0.1
DNSServer            : 1.1.1.1
                       1.0.0.1

Espero que os parezca interesante y os sirva el artículo de hoy 😉

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

4 thoughts on “Cambiar dirección IP y DNS en Windows mediante comandos Leave a comment

  1. Hola Alejandro, Ante todo muchas gracias por todo lo que escribes y compartes. Es de muchísima actualidad y utilidad..

    He visto hoy una nota y quería compartirte, pero si ya lo conocías, mira para otro lado, yo no fui 😂😂😂😂😂😂😂

    El.lu k es de lis chicos de hardzone

    https://hardzone.es/noticias/componentes/rompen-seguridad-tpm-20-microsoft-windows-11/amp/

    “TPM 2.0 ha caído, ¿Windows 11 en cualquier PC sin bloqueo de hardware?”…

    Me despido agradeciendo el trabajo que haces

    Un abrazo Roberto Carrera García Sant Sadurní d’anoia Barcelona

    • Interesante, me acabo de enterar. Yo diría que es más culpa de la implementación que hace Microsoft de tecnología como el TPM que del mismo TPM, o de fallos inherentes al Bitlocker.
      Coincido en que Microsoft (que ahora mismo tiene bastante con las 3 vulnerabilidades gordas del último mes y medio) no debería forzar al usuario a utilizar el chip, bajo ningún concepto.

      P.D. gracias por tu comentario!

  2. buen día me ha servido los tips para modificar los servidores DNS y agregar la lista de de sufijos incluso ya los puedo cambiarlos atreves de un scrip; pero no he encontrado como cambia el «sufijo DNS para esta conexión:»__________
    y activar las casillas » __ Registrar en DNS las direcciones de esta conexión» y «__Usar el sufijo DNS de esta conexión para el registro en DNS».. es lo único que me falta para poder cambiar estos valores de » configuración avanzada TCP/IP».. tendrías alguna rutina para hacer la modificaciones.

  3. buen día Alejandro:
    oye me han servido los tips “Cambiar dirección IP y DNS en Windows mediante comandos”, solo me falta poder cambiar dentro de «Configuración Avanzada de TCP/IP – DNS» lo siguiente:
    la opción «Sufijos DNS para esta conexión» (por otro Sufijo)
    Seleccionar las casillas de «Registros DNS de la dirección» (✓) y «Usar el sufijo DNS de esta conexión para el registro en DNS» (✓).
    ¿habrá una rutina o scrip para hacer estos cambios? .. Gracias

Deja un comentario