4d6ea9a910
Funciones PowerShell para gestión de red en Windows: win_firewall_add_rule, win_firewall_remove_rule, win_portproxy_add y win_portproxy_remove. Útiles para configurar acceso de red en entornos WSL2. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | tested | tests | test_file_path | file_path | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| win_portproxy_add | function | ps | infra | 1.0.0 | impure | win_portproxy_add -ListenPort <int> [-ConnectPort <int>] [-ListenAddr <string>] [-ConnectAddr <string>] | Añade una regla de port proxy v4tov4 con netsh para redirigir tráfico desde ListenAddr:ListenPort hacia ConnectAddr:ConnectPort. Si ya existe una regla para el mismo listenaddress:listenport, la elimina y la recrea. Requiere privilegios de Administrador. |
|
false | error_go_core | false | powershell/functions/infra/win_portproxy_add.ps1 |
Uso
# Caso típico WSL2 → Chrome CDP: redirigir 0.0.0.0:9222 → 127.0.0.1:9222
.\win_portproxy_add.ps1 -ListenPort 9222
# Con todos los parámetros explícitos
.\win_portproxy_add.ps1 -ListenPort 9222 -ConnectPort 9222 -ListenAddr 0.0.0.0 -ConnectAddr 127.0.0.1
# Redirigir a un puerto diferente
.\win_portproxy_add.ps1 -ListenPort 8080 -ConnectPort 3000
# Desde WSL2 — habilitar acceso a Chrome CDP en el host Windows
powershell.exe -ExecutionPolicy Bypass -File win_portproxy_add.ps1 -ListenPort 9222
Parametros
| Parametro | Tipo | Obligatorio | Default | Descripcion |
|---|---|---|---|---|
-ListenPort |
int | si | — | Puerto en el que escucha el proxy (1-65535) |
-ConnectPort |
int | no | =ListenPort | Puerto de destino al que conectar (1-65535) |
-ListenAddr |
string | no | 0.0.0.0 |
Dirección IP en la que escucha el proxy |
-ConnectAddr |
string | no | 127.0.0.1 |
Dirección IP de destino |
Notas
- Requiere ejecutarse como Administrador en Windows.
- Caso de uso principal: WSL2 no puede alcanzar
127.0.0.1del host Windows directamente. Esta regla hace que el host escuche en0.0.0.0:PORTy reenvíe al loopback donde Chrome (u otro proceso) está escuchando. - Idempotente respecto a listenaddress:listenport: si ya existe una regla para esa combinación, la elimina y la recrea.
- Combinar con
win_firewall_add_rulepara que el firewall también permita el tráfico entrante. - Retorna exit code 0 si tuvo éxito, 1 si hubo error.
Flujo completo WSL2 → Chrome CDP
# 1. Abrir Puerto en firewall
powershell.exe -ExecutionPolicy Bypass -File win_firewall_add_rule.ps1 -Name "CDP-9222" -Port 9222
# 2. Redirigir tráfico de red al loopback
powershell.exe -ExecutionPolicy Bypass -File win_portproxy_add.ps1 -ListenPort 9222
# 3. Arrancar Chrome con CDP en Windows
# chrome.exe --remote-debugging-port=9222 --headless
# 4. Desde WSL2 conectar al host Windows
# WSL2_HOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
# curl http://$WSL2_HOST:9222/json