portproxy portforwarding netsh windows-networking

portforwarding - portproxy - El reenvío de puerto NETSH del puerto local al puerto local no funciona



port forwarding router (4)

Estoy tratando de usar el comando PORTPROXY NETSH para reenviar los paquetes enviados a mi PC XP (IP 192.168.0.10 ) en el puerto 8001 al puerto 80 (tengo un servidor Apache de XAMPP escuchando el puerto 80).

Emití lo siguiente:

netsh interface portproxy add v4tov4 listenport=8001 listenaddress=192.168.0.10 connectport=80 connectaddress=192.168.0.10

Mostrar todo confirma que todo está configurado correctamente:

netsh interface portproxy show all Listen on IPv4: Connect to IPv4: Address Port Address Port --------------- ---------- --------------- ---------- 192.168.0.10 8001 192.168.0.10 80

Sin embargo, no puedo acceder al sitio web de apache desde http://localhost:8001 . Puedo acceder a través del puerto directo en http://localhost como se muestra a continuación.

Además, también he intentado lo siguiente: 1. Acceda al sitio web de Apache desde una PC remota usando el enlace: http://192.168.0.10:8001 . Firewall desactivado. 2. Cambiar la dirección de escucha y la dirección de conexión a 127.0.0.1 .

Sin más información, no puedo encontrar una manera de resolver el problema. ¿Hay una manera de depurar PORPSROXY NETSH?

Nota: por cierto, si se está preguntando por qué estoy haciendo esto, realmente quiero asignar las conexiones remotas de clientes MySQL desde un puerto personalizado al puerto predeterminado del servidor MySQL 3306.


  1. Primero debe ejecutar Command.exe como administrador; para ello, haga clic con el botón derecho en el icono del símbolo del sistema y seleccione Ejecutar como administrador . Se le pedirá que confirme.

  2. Pegue su comando netsh en la ventana de command.exe y presione Enter.

  3. Si no se muestra ningún mensaje de error, el comando funcionó.

  4. En su navegador web, vaya a http://your-up:8001 para ver si funciona.

El registro de eventos de Windows puede tener información para ayudar a encontrar la causa de un error.


Me las arreglé para hacerlo funcionar mediante la emisión de:

netsh interface ipv6 install

Además, para mi propósito, no es necesario configurar la dirección de escucha y mejor configurar la dirección de conexión = 127.0.0.1, por ejemplo

netsh interface portproxy add v4tov4 listenport=8001 connectport=80 connectaddress=127.0.0.1


Si el proxy de puerto de netsh no funciona como se espera, debe verificar lo siguiente, preferiblemente en ese orden:

  1. Asegúrese de que el puerto proxy esté configurado correctamente
  2. Inicie o reinicie el servicio de Windows relacionado
  3. Asegúrese de que el soporte para IPv6 esté instalado
  4. Asegúrese de que el puerto no esté bloqueado por un firewall

Asegúrese de que el puerto proxy esté configurado correctamente

Esto puede parecer trivial, pero por si acaso, tómese el tiempo para revisar su configuración antes de continuar.

Desde un indicador de comandos o un indicador de PowerShell, ejecute el siguiente comando:

netsh interface portproxy show all

El resultado debe verse algo como esto:

Listen on ipv4: Connect to ipv4: Address Port Address Port --------------- ---------- --------------- ---------- 24.12.12.24 3306 192.168.0.100 3306 24.12.12.24 8080 192.168.0.100 80

Revise cuidadosamente esos ajustes. Asegúrese de que pueda conectarse a las direcciones en el lado derecho de esa lista, desde la computadora local. Por ejemplo, ¿puede abrir localmente un navegador web y alcanzar 192.168.0.100:80 ? Si el protocolo no es HTTP, use telnet: telnet 192.168.0.100 3306 (consulte here cómo instalar el cliente Telnet en Windows).

Entonces, ¿son correctos los valores en el lado izquierdo? ¿La dirección IP es válida para su máquina? ¿Es ese el número de puerto al que intenta conectarse, desde la máquina externa?

Inicie o reinicie el servicio de Windows relacionado

En las últimas versiones de Windows, el proxy de puerto de netsh es manejado por un servicio de Windows llamado "IP Helper" o "iphlpsvc". Obviamente, la función de proxy no funcionará si se detiene ese servicio. También he enfrentado situaciones que se resolvieron al reiniciar ese servicio.

Para hacer eso en las últimas versiones de Windows:

  1. Abra el Administrador de tareas , luego vaya a la pestaña Servicios .
  2. En la columna "Nombre", busque el servicio denominado "iphlpsvc" o "IP Helper".
  3. Haga clic derecho en ese servicio, luego seleccione Reiniciar . Si el reinicio no está disponible, es probable que el servicio se haya detenido y que realmente deba iniciarse, por lo que seleccione Iniciar .

En versiones anteriores de Windows, busque Servicios en Herramientas administrativas , dentro del Panel de control.

Asegúrese de que el soporte para IPv6 esté instalado

Se requiere soporte para el protocolo IPv6 para habilitar el netsh de puertos de netsh , incluso para los proxys de IPv4 a IPv4 (consulte el artículo de soporte de Microsoft here ).

Desde un indicador de comandos o un indicador de PowerShell, ejecute el siguiente comando:

netsh interface ipv6 install

Asegúrese de que el puerto no esté bloqueado por un firewall

Un firewall local puede potencialmente bloquear el puerto incluso antes de que lleguen al servicio de ayuda de IP. Para validar esta hipótesis, desactive temporalmente cualquier firewall local (incluido el firewall nativo de Windows) y luego vuelva a realizar la prueba. Si eso funciona, simplemente agregue una exclusión de puerto a su configuración de firewall.


Tengo el problema contigo. Lo he resuelto justo ahora. Existe un servicio de Windows llamado " IP Helper " que proporciona las conexiones de las funciones del túnel. Debe asegurarse de que se ha iniciado.