consumo de memoria de un servidor con w2022 AD + TS + DNS (2GB de dns)

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • juanjo_16v
    Senior Member
    • Jan
    • 1301

    consumo de memoria de un servidor con w2022 AD + TS + DNS (2GB de dns)

    Hola gente

    Tengo un servidor windows 2022 AD + DNS. El dns solo para los equipos que se conectan al dominio, solo una zona, y solo se conectan 6 equipos clientes por escritorio remoto, ni siquiera los equipos están en el dominio, y el servicio DNS consumo 2.2GB de RAM

    No es mucho? Se puede reducir?

    Le he borrado cache, limitado la cache a 512 MB, reiniciado, etc, y sigue igual.

    Saludos
  • jmtella
    Administrator
    • Nov
    • 21485

    #2
    ¿cuantas interfaces de red (reales + virtuales)tienes?

    Comentario

    • juanjo_16v
      Senior Member
      • Jan
      • 1301

      #3
      solo estoy usando 1 interfaz, los otros 3 estan deshabilitados

      Comentario

      • jmtella
        Administrator
        • Nov
        • 21485

        #4
        Originalmente publicado por juanjo_16v Ver Mensaje
        solo estoy usando 1 interfaz, los otros 3 estan deshabilitados
        Ejecuta este ps1, como admin, y cambiando el $zone (dominio) y el server ($name) por el tuyo...

        Código:
        Import-Module ActiveDirectory
        $zone = 'isis-12r.local'
        $name = 'KA'
        
        (Get-ADDomainController -Filter *).Hostname |
          ForEach-Object {
            $dc = $_
            try {
              $A = Get-DnsServerResourceRecord -ComputerName $dc -ZoneName $zone -Name $name -RRType A -EA Stop |
                   ForEach-Object { $_.RecordData.IPv4Address.IPAddressToString }
              $AAAA = Get-DnsServerResourceRecord -ComputerName $dc -ZoneName $zone -Name $name -RRType AAAA -EA SilentlyContinue |
                      ForEach-Object { $_.RecordData.IPv6Address.IPAddressToString }
        
              [pscustomobject]@{
                DC   = $dc
                A    = if($A){ $A -join ',' } else { '<sin A>' }
                AAAA = if($AAAA){ $AAAA -join ',' } else { '<sin AAAA>' }
              }
            } catch {
              [pscustomobject]@{ DC=$dc; A='<error>'; AAAA='<error>' }
            }
          } | Format-Table -AutoSize
        Y dame la salida.

        Comentario

        • juanjo_16v
          Senior Member
          • Jan
          • 1301

          #5

          Creo q estoy haciendo algo mal, solo sale esto

          DC A AAAA
          -- - ----
          srv.dominio.local 192.168.1.111,192.168.1.240 <sin AAAA>

          Comentario

          • jmtella
            Administrator
            • Nov
            • 21485

            #6
            Originalmente publicado por juanjo_16v Ver Mensaje
            Creo q estoy haciendo algo mal, solo sale esto

            DC A AAAA
            -- - ----
            srv.dominio.local 192.168.1.111,192.168.1.240 <sin AAAA>
            es el uncio server, no hay s3ecundarios ¿no?

            Pero por qué tiene dos IP's registradas en el DNS? Eso está mal....

            Comentario

            • juanjo_16v
              Senior Member
              • Jan
              • 1301

              #7
              Ese 192.168.1.240 sale de la VPN, la primera IP es la del servidor no?, por que sale ahi? ni idea

              Comentario

              • jmtella
                Administrator
                • Nov
                • 21485

                #8
                Originalmente publicado por juanjo_16v Ver Mensaje
                Ese 192.168.1.240 sale de la VPN, la primera IP es la del servidor no?, por que sale ahi? ni idea
                je... me has engañado... te pregunté cuantas interfaces reales o vituales tenias.... y esa es una virtual.

                El que no tengas registros AAAA es correcto (grave si lo tuviese), pero el que tengas dos registros tipo A en el DNS y registrados en el AD es lo que te da los problemas, El que borres ese registro del DNS no te vale ya que se registrará en el sioguiente reinicio. Hay que eliminarla del AD creando ACL en el proipo AD para que no se registre.

                Comentario

                • juanjo_16v
                  Senior Member
                  • Jan
                  • 1301

                  #9
                  He entrado al DNS, me he ido a la zona he borrado el 192.168.1.240, he ido al registro A SRV 192.168.1.111, boton derecho, propiedades->seguridad->SELF y solo tengo marcado "PERMISOS ESPECIALES" que no puedo quitar. Le he dado permiso de LECTURA

                  Si borro el registro y reinicio DNS, vuelve a salir

                  En usuarios y equipos de AD no sale el DNS por ningún sitio.
                  Editado por última vez por juanjo_16v; 17/12/2025, 16:37:00.

                  Comentario

                  • jmtella
                    Administrator
                    • Nov
                    • 21485

                    #10
                    Pregunta en ChatGPT o en Deepseek esto: "En el AD en el DNS se me está registrano la IP de un interfaz virtual de VPN. ¿como hago para que no se me registre en el DNS?... creo que una vez tuve que hacerlo en un server poniendo ACL en el AD..."

                    Mejor deepseek ya uqe chatgpt da solucione esquivando el ACL que no funcionan... He tenido varios casos de lo que describes...

                    Despues de aplicarl las cosas, reinicia... y pasa el powershell que tge dejé de vez en cuando para ver si ha funcionado y no aparece la IP de la VPN... (con ACL saeguro que no, pero te suele4n dar mas alternativas la IA... que a mi no me funcionaron)

                    Comentario

                    • juanjo_16v
                      Senior Member
                      • Jan
                      • 1301

                      #11
                      Originalmente publicado por jmtella Ver Mensaje
                      Pregunta en ChatGPT o en Deepseek esto: "En el AD en el DNS se me está registrano la IP de un interfaz virtual de VPN. ¿como hago para que no se me registre en el DNS?... creo que una vez tuve que hacerlo en un server poniendo ACL en el AD..."

                      Mejor deepseek ya uqe chatgpt da solucione esquivando el ACL que no funcionan... He tenido varios casos de lo que describes...

                      Despues de aplicarl las cosas, reinicia... y pasa el powershell que tge dejé de vez en cuando para ver si ha funcionado y no aparece la IP de la VPN... (con ACL saeguro que no, pero te suele4n dar mas alternativas la IA... que a mi no me funcionaron)
                      lo estaba mirando en chatgpt, pero se le va la pinza

                      Comentario

                      • jmtella
                        Administrator
                        • Nov
                        • 21485

                        #12
                        Originalmente publicado por juanjo_16v Ver Mensaje

                        lo estaba mirando en chatgpt, pero se le va la pinza
                        A m i me habia respondido esto:

                        Sí, es un problema común cuando las interfaces VPN obtienen registro en DNS de AD. Te explico varias soluciones, desde la más específica (ACLs) hasta otras más sencillas:

                        ## 1. **Usar el cmdlet PowerShell en el servidor DNS/AD**
                        La solución más directa y moderna es deshabilitar el registro DNS para esa interfaz específica:

                        ```powershell
                        # En el SERVIDOR (con módulo DNSServer instalado):
                        Get-DnsServer -ComputerName tuDC

                        # O mejor, directamente en el CLIENTE (equipo con la VPN):
                        Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*VPN*"} |
                        Set-DnsClient -RegisterThisConnectionsAddress $false
                        ```

                        ## 2. **Configurar en el propio adaptador VPN (Windows)**
                        ```powershell
                        # Identificar el adaptador VPN
                        Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*VPN*"} |
                        Select-Object Name, InterfaceDescription, ifIndex

                        # Deshabilitar registro DNS (ejemplo con ifIndex 15)
                        Set-DnsClient -InterfaceIndex 15 -RegisterThisConnectionsAddress $false

                        # Verificar
                        Get-DnsClient -InterfaceIndex 15 | Select-Object InterfaceAlias, RegisterThisConnectionsAddress
                        ```

                        ## 3. **Solución mediante Política de Grupo (GPO) - Recomendada para múltiples equipos**
                        1. Crear/editar GPO:
                        - `Configuración del equipo` → `Plantillas administrativas` → `Red` → `Configuración de DNS`
                        - **"Deshabilitar el registro de nombres de conexiones DNS dinámicos"**

                        2. Aplicar con filtros WMI o seguridad para solo afectar adaptadores VPN:
                        ```wmi
                        SELECT * FROM Win32_NetworkAdapter WHERE Name LIKE "%VPN%" OR Description LIKE "%VPN%"
                        ```

                        ## 4. **Mediante ACLs en DNS (como mencionas)**
                        Esta es la solución más granular pero compleja:

                        ```powershell
                        # 1. Identificar la zona DNS
                        Get-DnsServerZone

                        # 2. Ver permisos actuales
                        Get-DnsServerResourceRecord -ZoneName "dominio.local" -Name "*" |
                        Where-Object {$_.HostName -like "*VPN*"}

                        # 3. Modificar ACLs para denegar registro a esa IP/interfaz
                        # Esto se hace en las propiedades de seguridad del registro DNS
                        ```

                        Pasos manuales en DNS Manager:
                        1. Abrir **DNS Manager**
                        2. Click derecho en la zona → **Propiedades**
                        3. Pestaña **Seguridad**
                        4. Agregar la **IP de la VPN** o **nombre de equipo**
                        5. Denegar permisos **Escribir/Crear todos los registros secundarios**

                        ## 5. **Prevención desde el servidor RRAS/VPN**
                        Si usas RRAS (Routing and Remote Access):
                        ```powershell
                        # En el servidor VPN/RRAS:
                        Set-RemoteAccess -VpnDisableClassBasedDefaultRoute $true

                        # O en propiedades de la conexión VPN:
                        # - Quitar marca "Usar puerta de enlace predeterminada en la red remota"
                        ```

                        ## 6. **Script para aplicar automáticamente**
                        Crea un script de inicio/logon:
                        ```powershell
                        # disable-dns-registration.ps1
                        $vpnAdapters = Get-NetAdapter | Where-Object {
                        $_.InterfaceDescription -match "VPN|TAP|WireGuard|OpenVPN|Cisco"
                        }
                        foreach ($adapter in $vpnAdapters) {
                        Set-DnsClient -InterfaceIndex $adapter.ifIndex -RegisterThisConnectionsAddress $false
                        }
                        ```

                        ## 7. **Verificar que funcionó**
                        ```powershell
                        # Ver adaptadores y su configuración DNS
                        Get-DnsClient | Select-Object InterfaceAlias, RegisterThisConnectionsAddress

                        # Ver registros DNS actuales (desde DC)
                        Get-DnsServerResourceRecord -ZoneName "dominio.local" -RRType A |
                        Where-Object {$_.RecordData.IPv4Address -eq "IP_VPN"}
                        ```

                        ## **Recomendación:**
                        - Para **un solo equipo**: Usa el método 2 (Set-DnsClient)
                        - Para **varios equipos**: Configura GPO (método 3)
                        - Si persiste: Combina con ACLs (método 4)

                        ¿Necesitas ayuda específica con alguno de estos métodos o sabes qué tipo de VPN estás usando (Always On VPN, SSTP, L2TP, WireGuard)?

                        Comentario

                        • juanjo_16v
                          Senior Member
                          • Jan
                          • 1301

                          #13
                          a veces la IA te hace perder mas el tiempo.

                          En chatgpt me dice que no es viable lo que me has puesto , eso si ayer me lo intento arreglar haciendo algo parecido

                          Volvere a investigar en unos dias

                          Comentario

                          • juanjo_16v
                            Senior Member
                            • Jan
                            • 1301

                            #14
                            he investigado un poco mas, segun chatgpt Conclusión
                            • El consumo de 2 GB de RAM en dns.exe con solo 6 registros y 6 clientes TS es anormal pero documentado en Windows Server 2022.
                            • No existe configuración ni ajuste local que lo solucione mientras mantengas los roles combinados.
                            • Las medidas temporales solo alivian parcialmente el problema, no lo corrigen.
                            • La solución definitiva requiere un hotfix de Microsoft o separar roles (DC limpio).

                            Comentario

                            • jmtella
                              Administrator
                              • Nov
                              • 21485

                              #15
                              Originalmente publicado por juanjo_16v Ver Mensaje
                              he investigado un poco mas, segun chatgpt Conclusión
                              • El consumo de 2 GB de RAM en dns.exe con solo 6 registros y 6 clientes TS es anormal pero documentado en Windows Server 2022.
                              • No existe configuración ni ajuste local que lo solucione mientras mantengas los roles combinados.
                              • Las medidas temporales solo alivian parcialmente el problema, no lo corrigen.
                              • La solución definitiva requiere un hotfix de Microsoft o separar roles (DC limpio).
                              Lo siento, pero difiero... el problema no es el consumo que viene derivado de una erronea confiuracion del AAD al tener registrado como rregistgro tipo A la IP del adaptador virtual. Esto hay que corfregirlo... y te lo dice la experiencia.

                              ChatgGPT te da la rtespuersta que buscas o se lo inventa. Pasaled el ps1 que te dejé, y direl que por que tioene ese registro 'A' y como corregirlo.

                              Comentario

                              Trabajando...
                              X