En esta serie de artículos: Guía completa para configurar servidores proxy en los sistemas operativos Windows 10/11 y Linux (Ubuntu, Debian, CentOS). Aprenderá todos los métodos de configuración, desde la interfaz gráfica hasta la línea de comandos, el registro, las variables de entorno, los archivos PAC y la configuración automática. El material está actualizado para 2025, teniendo en cuenta las últimas actualizaciones de los sistemas operativos.
📑 Contenido de la Parte 1 (Windows)
- Introducción: por qué configurar un proxy en Windows
- Configuración de proxy en Windows 11 a través de la GUI
- Configuración de proxy en Windows 10
- Panel de control clásico (Opciones de Internet)
- Configuración a través del Registro de Windows
- Configuración a través de PowerShell
- Configuración a través de la línea de comandos (netsh)
- Variables de entorno en Windows
- Configuración para aplicaciones específicas
🪟 Introducción: por qué configurar un proxy en Windows
Configurar un servidor proxy en Windows es una habilidad importante para trabajar en redes corporativas, eludir bloqueos regionales, proteger la privacidad y automatizar el web scraping. En 2025, Windows ofrece múltiples formas de configurar un proxy, desde la sencilla interfaz gráfica hasta potentes herramientas de línea de comandos.
Escenarios principales de uso de proxy en Windows
🏢 Redes corporativas
La mayoría de las empresas exigen el uso de un proxy corporativo para acceder a Internet, controlar el tráfico y garantizar la seguridad.
🔒 Privacidad
El uso de un proxy permite ocultar la dirección IP real, proteger los datos personales y eludir las restricciones geográficas.
⚙️ Automatización
Para el web scraping, el análisis de datos y las pruebas automatizadas, los proxies son necesarios para la rotación de IP y la evasión de restricciones.
🌍 Geolocalización
Acceso a contenido de diferentes países para pruebas, monitoreo de precios y verificación de disponibilidad de servicios.
✅ Lo que aprenderá en esta parte
- Configuración de proxy a través de la interfaz gráfica de Windows 10 y 11
- Uso del panel de control clásico
- Trabajo con el registro de Windows para ajustes finos
- Automatización a través de PowerShell y la línea de comandos
- Configuración de variables de entorno
- Configuración de proxy para aplicaciones específicas
🎨 Configuración de proxy en Windows 11 a través de la GUI
Windows 11 ofrece una interfaz de configuración renovada con navegación mejorada. En 2025, este método es el más sencillo y recomendado para la mayoría de los usuarios.
Instrucciones paso a paso
Paso 1: Abrir la configuración
Presione Windows + I o abra el menú Inicio y seleccione el icono de engranaje (Configuración).
💡 Consejo: También puede hacer clic derecho en el icono de red en la bandeja del sistema y seleccionar "Configuración de red".
Paso 2: Navegar a la configuración del proxy
En la ventana de Configuración, seleccione:
- Red e Internet (Network & Internet) en el panel izquierdo
- Desplácese hacia abajo y seleccione Proxy (Proxy)
Paso 3: Elegir el método de configuración
Windows 11 ofrece tres formas de configurar el proxy:
🔄 Detección automática
Activado por defecto. Windows intenta detectar automáticamente la configuración del proxy a través de DHCP o DNS.
📜 Usar script de configuración
Para archivos PAC (Proxy Auto-Config). Introduzca la URL del script de configuración.
⚙️ Configurar manualmente
El método más común. Introduzca la IP y el puerto del servidor proxy manualmente.
Paso 4: Configuración manual del proxy
- En la sección "Configurar manualmente", haga clic en el botón Configurar
- Active el interruptor "Usar un servidor proxy"
- Introduzca la dirección IP o el nombre de dominio del servidor proxy
- Introduzca el Puerto (normalmente 8080, 3128, 80 u otro)
- (Opcional) En el campo "No usar el servidor proxy para direcciones", añada exclusiones
- Haga clic en Guardar
Ejemplo de configuración:
Dirección del servidor proxy: 192.168.1.100
Puerto: 8080
No usar proxy para:
localhost;127.0.0.1;*.local;192.168.*
⚠️ Importante: La configuración del proxy en Windows 11 se aplica a nivel de sistema para todas las aplicaciones que utilizan las API WinHTTP y WinINET. Sin embargo, algunas aplicaciones (como Firefox) utilizan su propia configuración de proxy.
🖥️ Configuración de proxy en Windows 10
El proceso de configuración del proxy en Windows 10 es muy similar al de Windows 11, pero con ligeras diferencias en la interfaz. Este método sigue siendo relevante en 2025 para millones de usuarios.
Instrucciones para Windows 10
Método 1: A través de Configuración de Windows
- Presione Windows + I para abrir Configuración
- Seleccione Red e Internet
- En el panel izquierdo, elija Proxy
- En la sección "Configuración manual del proxy", active "Usar un servidor proxy"
- Introduzca la dirección y el puerto
- Haga clic en Guardar
Configuración de exclusiones
Para que algunas direcciones no utilicen el proxy, añádalas al campo de exclusiones:
localhost;127.0.0.1;*.local;intranet.company.com
Las direcciones se separan con punto y coma. Se pueden usar comodines (*).
🎛️ Panel de control clásico (Opciones de Internet)
Un método antiguo pero aún funcional para configurar el proxy a través de la ventana "Propiedades de Internet". Este método ofrece capacidades de configuración avanzadas no disponibles en la interfaz moderna de Windows.
Acceso a Opciones de Internet
Formas de abrir:
1️⃣ A través del comando Ejecutar
Presione Windows + R y escriba:
inetcpl.cpl
2️⃣ A través del Panel de control
Panel de control → Redes e Internet → Propiedades del navegador
3️⃣ A través de Internet Explorer
Menú → Herramientas → Opciones de Internet
Configuración del proxy
- Abra la pestaña Conexiones (Connections)
- Haga clic en el botón Configuración de red (LAN settings)
- En la sección "Servidor proxy", marque la casilla "Usar un servidor proxy"
- Haga clic en el botón Avanzadas para configuraciones detalladas
Configuración avanzada del proxy
El botón "Avanzadas" permite configurar diferentes proxies para distintos protocolos:
| Protocolo | Dirección proxy | Puerto |
|---|---|---|
| HTTP | 192.168.1.100 | 8080 |
| Seguro (HTTPS) | 192.168.1.100 | 8443 |
| FTP | 192.168.1.100 | 2121 |
| Socks | 192.168.1.100 | 1080 |
✅ Ventaja: Se pueden usar diferentes proxies para distintos tipos de tráfico
📝 Configuración a través del Registro de Windows
El Registro de Windows es una herramienta potente para la gestión directa de la configuración del sistema. Este método es adecuado para usuarios avanzados y para la automatización mediante scripts.
⚠️ Advertencia: La edición incorrecta del registro puede provocar un mal funcionamiento del sistema. Cree una copia de seguridad del registro antes de realizar cambios. Utilice este método solo si entiende lo que está haciendo.
Claves del registro para el proxy
Ubicación de la configuración
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Parámetros principales
| Parámetro | Tipo | Valor | Descripción |
|---|---|---|---|
| ProxyEnable | DWORD | 1 | Habilitar proxy (0 = deshabilitar) |
| ProxyServer | String | 192.168.1.100:8080 | Dirección y puerto del proxy |
| ProxyOverride | String | localhost;127.*;*.local | Exclusiones (direcciones sin proxy) |
| AutoConfigURL | String | http://proxy/proxy.pac | URL del archivo PAC |
Ejemplo de archivo REG para importar
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.1.100:8080"
"ProxyOverride"="localhost;127.0.0.1;*.local"
Guarde este texto en un archivo con extensión .reg y haga doble clic para importarlo en el registro.
⚡ Configuración a través de PowerShell
PowerShell es una herramienta moderna y potente para la automatización de la configuración de Windows. Ideal para la configuración masiva de proxies en muchos ordenadores o para la automatización de la configuración.
Comandos de PowerShell para la gestión de proxies
Habilitar proxy
# Establecer la dirección del servidor proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyServer -Value "192.168.1.100:8080"
# Habilitar proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 1
# Aplicar cambios (notificar al sistema)
$signature = @'
[DllImport("wininet.dll")]
public static extern bool InternetSetOption(int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
'@
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$type::InternetSetOption(0, 39, 0, 0) | Out-Null
Deshabilitar proxy
# Deshabilitar proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 0
Verificar la configuración actual
# Obtener todas las configuraciones de proxy
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | `
Select-Object ProxyEnable, ProxyServer, ProxyOverride, AutoConfigURL
Función lista para configurar proxy
function Set-Proxy {
param(
[Parameter(Mandatory=$true)]
[string]$Server,
[Parameter(Mandatory=$true)]
[int]$Port,
[string]$Override = "localhost;127.0.0.1;*.local"
)
$proxyString = "${Server}:${Port}"
$regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxyString
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value $Override
Write-Host "Proxy configurado: $proxyString" -ForegroundColor Green
}
# Uso:
Set-Proxy -Server "192.168.1.100" -Port 8080
💻 Configuración a través de la línea de comandos (netsh)
La utilidad netsh (Network Shell) es una herramienta clásica de la línea de comandos de Windows para gestionar la configuración de red, incluido el proxy para WinHTTP.
Comandos netsh winhttp
Establecer proxy
netsh winhttp set proxy proxy-server="192.168.1.100:8080" bypass-list="localhost;*.local"
Importar configuración desde IE
netsh winhttp import proxy source=ie
Importa la configuración del proxy de Internet Explorer a WinHTTP.
Ver la configuración actual
netsh winhttp show proxy
Restablecer la configuración del proxy
netsh winhttp reset proxy
💡 Consejo: Los comandos netsh winhttp afectan al WinHTTP del sistema, utilizado por Windows Update, PowerShell y muchas aplicaciones del sistema, pero NO afectan a la configuración de Internet Explorer/Edge.
🌐 Variables de entorno en Windows
Muchas utilidades de consola y aplicaciones utilizan variables de entorno para definir el servidor proxy. Esto es especialmente importante para Python, Node.js, Git, curl y otras herramientas de desarrollo.
Variables de proxy estándar
Establecer mediante la línea de comandos (temporal)
set HTTP_PROXY=http://192.168.1.100:8080
set HTTPS_PROXY=http://192.168.1.100:8080
set NO_PROXY=localhost,127.0.0.1,.local
Estas variables solo son válidas en la sesión de consola actual.
Establecer mediante la GUI (permanente)
- Abra "Sistema" (Windows + Pausa)
- Haga clic en "Configuración avanzada del sistema"
- Pestaña "Opciones avanzadas" → "Variables de entorno"
- En la sección "Variables de usuario", haga clic en "Crear"
- Añada las variables HTTP_PROXY, HTTPS_PROXY
Establecer mediante PowerShell (permanente)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")
Formato con autenticación
set HTTP_PROXY=http://username:password@192.168.1.100:8080
set HTTPS_PROXY=http://username:password@192.168.1.100:8080
⚠️ Los caracteres especiales en la contraseña deben estar codificados en URL (@ → %40, : → %3A)
🎯 Configuración para aplicaciones específicas
Algunas aplicaciones no utilizan la configuración de proxy del sistema y requieren su propia configuración. Veamos las herramientas más populares.
🦊 Firefox
Firefox utiliza su propia configuración de proxy:
- Menú → Configuración → Red
- Botón "Configurar"
- Configuración manual del proxy
- Introduzca la dirección y el puerto
📦 Git
Configuración del proxy para Git:
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
🐍 Python pip
Configuración para pip:
pip install package_name --proxy http://192.168.1.100:8080
📦 npm
Configuración para npm:
npm config set proxy http://192.168.1.100:8080
npm config set https-proxy http://192.168.1.100:8080
🎁 ProxyCove — proxies fiables para Windows: Soporte para todos los métodos de autenticación (lista blanca de IP y login:password), funciona con cualquier aplicación, soporte técnico 24/7. Regístrese → y obtenga +$1.3 con el código promocional ARTHELLO
Continuará...
En la siguiente parte: configuración de proxy en Linux (Ubuntu, Debian, CentOS), variables de entorno, configuración de apt/yum a través de proxy
Configuración de proxy en Linux: Ubuntu, Debian, CentOS — Parte 2
En esta parte: Guía detallada para configurar servidores proxy en varias distribuciones de Linux: Ubuntu, Debian, CentOS y RHEL. Cubriremos las variables de entorno del sistema, la configuración a través de archivos, la configuración de los gestores de paquetes apt y yum, y la configuración para aplicaciones específicas. El material está actualizado para 2025.
📑 Contenido de la Parte 2 (Linux)
- Características de la configuración de proxy en Linux
- Variables de entorno (http_proxy, https_proxy)
- Configuración a nivel de sistema (/etc/environment)
- Configuración en Ubuntu/Debian
- Configuración en CentOS/RHEL
- Configuración de APT a través de proxy
- Configuración de YUM/DNF a través de proxy
- Configuración en .bashrc y .profile
- Configuración para aplicaciones (curl, wget, git)
🐧 Características de la configuración de proxy en Linux
A diferencia de Windows, Linux no tiene un lugar centralizado único para configurar el servidor proxy. En su lugar, se utilizan varios métodos: variables de entorno, archivos de configuración, configuraciones de aplicaciones individuales e interfaces gráficas (en distribuciones de escritorio).
Enfoques principales para la configuración de proxy en Linux
🌐 Variables de entorno
El método más común. Las variables http_proxy, https_proxy y no_proxy son utilizadas por la mayoría de las utilidades de consola.
📝 Archivos de configuración
Archivos como /etc/environment, /etc/profile, ~/.bashrc para configuraciones del sistema y del usuario.
📦 Gestores de paquetes
APT, YUM/DNF requieren una configuración separada en sus archivos de configuración.
🎨 Interfaz gráfica
GNOME, KDE y otros entornos de escritorio proporcionan una GUI para la configuración del proxy (solo en versiones de escritorio).
⚠️ Puntos importantes
- En Linux no hay un estándar obligatorio para el proxy: cada aplicación puede ignorar la configuración del sistema
- Las variables de entorno deben establecerse tanto en minúsculas como en mayúsculas (HTTP_PROXY y http_proxy)
- APT y YUM NO utilizan las variables de entorno del sistema automáticamente
- Para versiones de servidor (sin GUI), utilice solo la línea de comandos y los archivos de configuración
🔧 Variables de entorno (http_proxy, https_proxy)
Las variables de entorno son la forma estándar de configurar el proxy en Linux para aplicaciones de consola. La mayoría de las utilidades (curl, wget, apt-get con la configuración correcta) leen estas variables.
Variables de proxy principales
Lista de variables principales
| Variable | Formato | Descripción |
|---|---|---|
| http_proxy | http://proxy:8080 | Proxy para tráfico HTTP |
| https_proxy | http://proxy:8080 | Proxy para tráfico HTTPS |
| ftp_proxy | http://proxy:8080 | Proxy para tráfico FTP |
| no_proxy | localhost,127.0.0.1,.local | Direcciones sin proxy (exclusiones) |
| HTTP_PROXY | http://proxy:8080 | Duplica http_proxy (mayúsculas) |
| HTTPS_PROXY | http://proxy:8080 | Duplica https_proxy (mayúsculas) |
Establecimiento temporal (sesión actual)
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
# Duplicar en mayúsculas por compatibilidad
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Estas variables solo serán válidas en la sesión de terminal actual.
Con autenticación
export http_proxy="http://username:password@192.168.1.100:8080"
export https_proxy="http://username:password@192.168.1.100:8080"
⚠️ Si la contraseña contiene caracteres especiales, utilice la codificación URL: @ → %40, : → %3A
Verificar variables establecidas
# Mostrar todas las variables de proxy
env | grep -i proxy
# Verificar una variable específica
echo $http_proxy
echo $https_proxy
Deshabilitar proxy
unset http_proxy
unset https_proxy
unset ftp_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
🌍 Configuración a nivel de sistema (/etc/environment)
El archivo /etc/environment contiene variables de entorno del sistema que se aplican a todos los usuarios y se cargan al arrancar el sistema.
Configuración del sistema permanente
Paso 1: Editar el archivo
sudo nano /etc/environment
Paso 2: Añadir variables
Añada las siguientes líneas al final del archivo:
http_proxy="http://192.168.1.100:8080"
https_proxy="http://192.168.1.100:8080"
ftp_proxy="http://192.168.1.100:8080"
no_proxy="localhost,127.0.0.1,*.local"
HTTP_PROXY="http://192.168.1.100:8080"
HTTPS_PROXY="http://192.168.1.100:8080"
FTP_PROXY="http://192.168.1.100:8080"
NO_PROXY="localhost,127.0.0.1,*.local"
Paso 3: Aplicar cambios
# Reiniciar el sistema (recomendado)
sudo reboot
# O aplicar para la sesión actual
source /etc/environment
💡 Consejo: El archivo /etc/environment no admite la sustitución de variables ni la expansión de comandos. Utilice solo valores simples. Para una lógica más compleja, utilice /etc/profile o /etc/bash.bashrc.
🐧 Configuración en Ubuntu/Debian
Ubuntu y Debian son las distribuciones de Linux más populares. Veamos tanto la configuración a través de la GUI (para versiones de escritorio) como a través de la línea de comandos (para servidores).
🎨 A través de la GUI (Ubuntu Desktop)
Configuración de GNOME
- Abra Configuración (Settings)
- Seleccione Red (Network)
- Haga clic en el icono de engranaje junto a la conexión
- Pestaña Proxy
- Seleccione Manual
- Introduzca la dirección y el puerto para HTTP, HTTPS, FTP, Socks
- Haga clic en Aplicar (Apply)
⌨️ A través de la línea de comandos
gsettings (para GNOME)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '192.168.1.100'
gsettings set org.gnome.system.proxy.http port 8080
🔴 Configuración en CentOS/RHEL
CentOS y Red Hat Enterprise Linux utilizan una estructura de configuración similar. En 2025, muchos están migrando a Rocky Linux y AlmaLinux, donde se aplican los mismos principios.
Configuración del sistema para RHEL-based
Método 1: /etc/profile.d/
Cree un archivo para la configuración del proxy:
sudo nano /etc/profile.d/proxy.sh
Añada el siguiente contenido:
#!/bin/bash
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Haga el archivo ejecutable: sudo chmod +x /etc/profile.d/proxy.sh
Método 2: /etc/environment
El mismo método que para Ubuntu/Debian: edite /etc/environment
📦 Configuración de APT a través de proxy
Importante: APT (Advanced Package Tool) en Ubuntu/Debian NO utiliza las variables de entorno del sistema automáticamente. Para que funcione a través de un proxy, se requiere una configuración separada.
Configuración del proxy para APT
Método 1: apt.conf.d/ (recomendado)
Cree un archivo de configuración:
sudo nano /etc/apt/apt.conf.d/02proxy
Añada el siguiente contenido:
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::https::Proxy "http://192.168.1.100:8080";
Acquire::ftp::Proxy "http://192.168.1.100:8080";
Con autenticación
Acquire::http::Proxy "http://username:password@192.168.1.100:8080";
Acquire::https::Proxy "http://username:password@192.168.1.100:8080";
Método 2: Configuración temporal (un comando)
sudo apt-get -o Acquire::http::proxy="http://192.168.1.100:8080" update
Se aplica solo al comando apt actual.
Verificar configuración de APT
# Mostrar configuración actual de APT
apt-config dump | grep -i proxy
# Prueba de actualización a través del proxy
sudo apt-get update
Exclusiones (sin proxy para algunos hosts)
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::http::Proxy::ppa.launchpad.net "DIRECT";
"DIRECT" significa conexión directa sin proxy para el host especificado.
📦 Configuración de YUM/DNF a través de proxy
YUM (para CentOS 7 y anteriores) y DNF (para CentOS 8+, Fedora, Rocky Linux, AlmaLinux) son gestores de paquetes para distribuciones basadas en Red Hat. También requieren una configuración de proxy separada.
Configuración global de YUM/DNF
YUM (CentOS 7 y anteriores)
Edite el archivo de configuración:
sudo nano /etc/yum.conf
Añada en la sección [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Si el proxy no requiere autenticación, omita proxy_username y proxy_password.
DNF (CentOS 8+, Fedora, Rocky Linux, AlmaLinux)
Edite el archivo de configuración:
sudo nano /etc/dnf/dnf.conf
Añada en la sección [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Configuración para un repositorio específico
Se puede configurar el proxy solo para un repositorio específico en los archivos /etc/yum.repos.d/*.repo:
[epel]
name=Extra Packages for Enterprise Linux 8
baseurl=https://download.fedoraproject.org/pub/epel/8/$basearch
proxy=http://192.168.1.100:8080
proxy_username=username
proxy_password=password
Deshabilitar proxy para un repositorio específico
[local-repo]
name=Local Repository
baseurl=http://192.168.1.50/repo
proxy=_none_
proxy=_none_ deshabilita el proxy para este repositorio.
Verificar configuración
# Para YUM
sudo yum repolist
# Para DNF
sudo dnf repolist
# Mostrar configuración
sudo dnf config-manager --dump | grep -i proxy
👤 Configuración en .bashrc y .profile
Para configuraciones de proxy específicas del usuario que solo se aplican a ese usuario, utilice los archivos .bashrc o .profile en el directorio personal.
Configuración específica del usuario
Editar .bashrc
nano ~/.bashrc
Añada al final del archivo:
# Proxy settings
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export NO_PROXY=$no_proxy
Aplicar cambios:
source ~/.bashrc
Creación de funciones para gestionar el proxy
# Función para habilitar proxy
proxy_on() {
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
echo "Proxy habilitado"
}
# Función para deshabilitar proxy
proxy_off() {
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
echo "Proxy deshabilitado"
}
# Función para verificar el estado del proxy
proxy_status() {
echo "http_proxy: $http_proxy"
echo "https_proxy: $https_proxy"
}
Uso: proxy_on, proxy_off, proxy_status
🛠️ Configuración para aplicaciones (curl, wget, git)
Algunas utilidades populares tienen sus propias formas de configurar proxies o archivos de configuración.
📡 curl
curl utiliza variables de entorno, pero también se puede especificar el proxy en los parámetros:
curl -x http://192.168.1.100:8080 https://example.com
# Con autenticación
curl -x http://user:pass@192.168.1.100:8080 https://example.com
# A través de .curlrc
echo 'proxy = "http://192.168.1.100:8080"' >> ~/.curlrc
📥 wget
wget también utiliza variables de entorno, pero tiene un archivo de configuración:
# ~/.wgetrc
http_proxy = http://192.168.1.100:8080
https_proxy = http://192.168.1.100:8080
use_proxy = on
🔧 git
Git tiene su propio sistema de configuración de proxy:
# Globalmente para todos los repositorios
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
# Para un repositorio específico
git config http.proxy http://192.168.1.100:8080
# Deshabilitar proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
🐳 Docker
Docker requiere la configuración del proxy para el demonio y el cliente:
# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.100:8080"
Environment="HTTPS_PROXY=http://192.168.1.100:8080"
Environment="NO_PROXY=localhost,127.0.0.1"
🎁 ProxyCove — proxies profesionales para Linux: Compatibilidad total con todas las distribuciones, soporte para lista blanca de IP y autenticación, funciona con cualquier aplicación. Regístrese → y obtenga +$1.3 con el código promocional ARTHELLO
¡La parte final está por llegar!
En la parte final: Archivos PAC, configuración automática y solución de problemas típicos
Archivos PAC, configuración automática y solución de problemas — Final
En esta parte final: Guía completa sobre los archivos PAC (Proxy Auto-Configuration), el protocolo WPAD para el descubrimiento automático de proxies, diagnóstico y solución de problemas típicos de proxy en Windows y Linux. Recomendaciones y mejores prácticas finales para 2025.
📑 Contenido de la parte final
- Qué son los archivos PAC
- Sintaxis y estructura de los archivos PAC
- Ejemplos prácticos de archivos PAC
- Despliegue de archivos PAC
- WPAD — Descubrimiento automático de proxy
- Solución de problemas: diagnóstico de fallos
- Pruebas de proxy
- Seguridad al usar proxies
- Mejores prácticas 2025
- Conclusiones y recomendaciones
📜 Qué son los archivos PAC
PAC (Proxy Auto-Configuration) es un archivo JavaScript que determina automáticamente qué servidor proxy usar para una URL específica. Esto permite crear reglas de enrutamiento de tráfico flexibles sin necesidad de configurar manualmente cada cliente.
Ventajas de los archivos PAC
✅ Flexibilidad
Diferentes proxies para diferentes sitios, acceso directo para recursos locales, tolerancia a fallos con múltiples proxies.
✅ Centralización
Un cambio en el archivo PAC se aplica a todos los clientes sin necesidad de reconfigurar cada máquina.
✅ Lógica basada en condiciones
Selección de proxy basada en dominio, subred IP, hora del día, día de la semana y otros factores.
✅ Rendimiento
Balanceo de carga entre múltiples servidores proxy, conmutación automática en caso de fallo.
Cuándo usar archivos PAC
- Redes corporativas — diferentes proxies para recursos internos y externos
- Enrutamiento complejo — diferentes proxies para diferentes países o servicios
- Respaldo — conmutación automática a un proxy de reserva en caso de fallo
- Optimización — dirigir el tráfico por la ruta más eficiente
💻 Sintaxis y estructura de los archivos PAC
Un archivo PAC es un archivo de texto con la extensión .pac que contiene una función JavaScript: FindProxyForURL(url, host).
Estructura básica
function FindProxyForURL(url, host) {
// Su lógica aquí
// Devuelve una cadena con la configuración del proxy
return "PROXY proxy.example.com:8080";
}
Parámetros de la función
| Parámetro | Descripción | Ejemplo |
|---|---|---|
| url | URL completa a la que accede el navegador | https://example.com/page |
| host | Solo el nombre de dominio de la URL | example.com |
Valores de retorno
| Valor | Descripción |
|---|---|
DIRECT |
Conexión directa sin proxy |
PROXY host:port |
Proxy HTTP/HTTPS |
SOCKS host:port |
Proxy SOCKS (v4/v5) |
SOCKS5 host:port |
SOCKS5 explícito |
PROXY p1:8080; PROXY p2:8080; DIRECT |
Múltiples opciones (fallback) |
Funciones PAC integradas
| Función | Descripción |
|---|---|
isPlainHostName(host) |
Comprueba si el host es un nombre simple (sin puntos) |
dnsDomainIs(host, domain) |
Comprueba si el host pertenece a un dominio |
localHostOrDomainIs(host, domain) |
Compara el host con el dominio |
isResolvable(host) |
Comprueba si el host se resuelve en DNS |
isInNet(host, pattern, mask) |
Comprueba si la IP está en una subred |
shExpMatch(str, pattern) |
Coincidencia de patrones (wildcards * y ?) |
weekdayRange(day1, day2) |
Comprueba el día de la semana |
dateRange(...) |
Comprueba el rango de fechas |
timeRange(...) |
Comprueba la hora del día |
📚 Ejemplos prácticos de archivos PAC
Ejemplo 1: Proxy simple para todas las solicitudes
function FindProxyForURL(url, host) {
return "PROXY proxy.company.com:8080";
}
Ejemplo 2: Direcciones locales sin proxy
function FindProxyForURL(url, host) {
// Hosts locales — conexión directa
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Todo lo demás a través del proxy
return "PROXY proxy.company.com:8080";
}
Ejemplo 3: Diferentes proxies para diferentes dominios
function FindProxyForURL(url, host) {
// Redes sociales a través de un proxy especial
if (shExpMatch(host, "*.facebook.com") ||
shExpMatch(host, "*.twitter.com") ||
shExpMatch(host, "*.instagram.com"))
{
return "PROXY social-proxy.company.com:8080";
}
// Streaming de video a través de otro proxy
if (shExpMatch(host, "*.youtube.com") ||
shExpMatch(host, "*.netflix.com"))
{
return "PROXY video-proxy.company.com:8080";
}
// Recursos locales directamente
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
{
return "DIRECT";
}
// El resto a través del proxy principal
return "PROXY main-proxy.company.com:8080";
}
Ejemplo 4: Tolerancia a fallos (Fallback)
function FindProxyForURL(url, host) {
// Direcciones locales sin proxy
if (isPlainHostName(host) ||
isInNet(host, "192.168.0.0", "255.255.0.0"))
{
return "DIRECT";
}
// Intento a través del proxy principal, luego el de respaldo, luego directo
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
El navegador intentará conectarse a través de proxy1, si falla, a través de proxy2, y si eso también falla, se conectará directamente.
Ejemplo 5: Enrutamiento dependiente del tiempo
function FindProxyForURL(url, host) {
// En horario laboral (8:00-18:00) y días laborables
if (weekdayRange("MON", "FRI") &&
timeRange(8, 18))
{
return "PROXY work-proxy.company.com:8080";
}
// Por la noche y fines de semana, otro proxy
return "PROXY night-proxy.company.com:8080";
}
Ejemplo 6: Configuración corporativa compleja
function FindProxyForURL(url, host) {
// Hosts locales sin proxy
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
dnsDomainIs(host, ".company.com") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "172.16.0.0", "255.240.0.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Tráfico HTTPS a través de un proxy SSL especial
if (url.substring(0, 6) == "https:")
{
return "PROXY ssl-proxy.company.com:8443; DIRECT";
}
// Contenido multimedia a través de proxy de caché
if (shExpMatch(url, "*.mp4") ||
shExpMatch(url, "*.mp3") ||
shExpMatch(url, "*.jpg") ||
shExpMatch(url, "*.png"))
{
return "PROXY cache-proxy.company.com:3128";
}
// HTTP a través del proxy principal con failover
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
🚀 Despliegue de archivos PAC
Una vez creado el archivo PAC, debe colocarse correctamente y configurarse para que los clientes lo utilicen.
Ubicación del archivo PAC
1. Servidor web (HTTP/HTTPS)
Coloque el archivo proxy.pac en el servidor web:
http://proxy.company.com/proxy.pac
https://proxy.company.com/proxy.pac
⚠️ El tipo MIME debe ser: application/x-ns-proxy-autoconfig
2. Sistema de archivos (file://)
# Windows
file:///C:/proxy.pac
file://\\server\share\proxy.pac
# Linux
file:///etc/proxy.pac
No recomendado para entornos de producción, pero útil para pruebas.
Configuración del tipo MIME en Apache
# En httpd.conf o .htaccess
AddType application/x-ns-proxy-autoconfig .pac
Configuración del tipo MIME en Nginx
# En nginx.conf
types {
application/x-ns-proxy-autoconfig pac;
}
Configuración de clientes
Windows
Configuración → Red e Internet → Proxy → "Usar un script de configuración" → Introduzca la URL del archivo PAC
Linux (GNOME)
gsettings set org.gnome.system.proxy mode 'auto'
gsettings set org.gnome.system.proxy autoconfig-url 'http://proxy.company.com/proxy.pac'
Firefox
Configuración → Red → Configurar → Configuración automática de proxy → URL de autoconfiguración
🔍 WPAD — Descubrimiento automático de proxy
WPAD (Web Proxy Auto-Discovery Protocol) es un protocolo que permite a los navegadores encontrar automáticamente un archivo PAC. En 2025, es compatible con todos los navegadores y sistemas operativos principales.
Cómo funciona WPAD
- Método DHCP: El cliente solicita la opción 252 al servidor DHCP, que devuelve la URL del archivo PAC
- Método DNS: El cliente intenta encontrar el host
wpad.domain.coma través de DNS - Carga de PAC: Si se encuentra, el cliente intenta cargar
http://wpad.domain.com/wpad.dat
Configuración de WPAD a través de DNS
Cree un registro DNS A o CNAME:
wpad.company.com. IN A 192.168.1.100
# o
wpad.company.com. IN CNAME proxy-server.company.com.
Coloque el archivo PAC en la dirección: http://wpad.company.com/wpad.dat
Configuración de WPAD a través de DHCP
En la configuración del servidor DHCP, añada la opción 252:
# ISC DHCP (dhcpd.conf)
option wpad code 252 = text;
option wpad "http://proxy.company.com/proxy.pac";
⚠️ Problemas de seguridad de WPAD
- Secuestro de WPAD: Un atacante puede suplantar la respuesta de WPAD y redirigir el tráfico a través de su propio proxy
- Spoofing de DNS: Suplantación del registro DNS wpad.domain.com
- Recomendación: Utilice WPAD solo en redes corporativas de confianza
- Alternativa: Especificar explícitamente la URL del archivo PAC es más seguro que el descubrimiento automático
🔧 Solución de problemas: diagnóstico de fallos
Problemas y soluciones comunes
Problema 1: El proxy no funciona
Síntomas: Los sitios web no se abren, errores de conexión
Soluciones:
- Compruebe la accesibilidad del servidor proxy:
ping proxy-host - Verifique el puerto:
telnet proxy-host 8080onc -zv proxy-host 8080 - Asegúrese de que el proxy no esté bloqueado por el cortafuegos
- Compruebe la dirección y el puerto correctos en la configuración
Problema 2: Error 407 (Proxy Authentication Required)
Síntomas: Solicitud de autenticación, código de error 407
Soluciones:
- Verifique el nombre de usuario y la contraseña correctos
- Asegúrese de usar el formato correcto:
http://user:pass@proxy:port - Compruebe si las credenciales han caducado
- Para autenticación por IP: asegúrese de que su IP esté en la lista blanca
- Compruebe si su dirección IP externa ha cambiado
Problema 3: Rendimiento lento a través del proxy
Síntomas: Carga lenta de páginas, tiempos de espera agotados
Soluciones:
- Compruebe la velocidad del proxy:
curl -x proxy:port -w "@curl-format.txt" https://example.com - Pruebe con otro servidor proxy (si está disponible)
- Verifique la carga del servidor proxy
- Asegúrese de no usar el proxy para recursos locales (añada exclusiones)
- Compruebe la configuración de DNS (un DNS lento puede ralentizar el proxy)
Problema 4: El archivo PAC no funciona
Síntomas: La configuración automática no se aplica
Soluciones:
- Compruebe la accesibilidad del archivo PAC: abra la URL en el navegador
- Asegúrese de que el tipo MIME sea correcto:
application/x-ns-proxy-autoconfig - Verifique la sintaxis de JavaScript en el archivo PAC
- Utilice herramientas de prueba de PAC: pactester (Linux) o DevTools del navegador
- Compruebe si hay caché: borre la caché del navegador
🧪 Pruebas de proxy
Herramientas de prueba
Comprobación de conexión (curl)
# Comprobar proxy HTTP
curl -x http://proxy:8080 -I https://www.google.com
# Con autenticación
curl -x http://user:pass@proxy:8080 https://www.google.com
# Mostrar IP externa (comprobar que el proxy funciona)
curl -x http://proxy:8080 https://ifconfig.me
curl -x http://proxy:8080 https://api.ipify.org
Verificar puerto (netcat)
# Linux
nc -zv proxy-host 8080
# Windows (PowerShell)
Test-NetConnection -ComputerName proxy-host -Port 8080
Prueba de archivo PAC (Linux)
# Instalar pactester
sudo apt-get install libpacparser1 # Ubuntu/Debian
# Probar archivo PAC
pactester -p /path/to/proxy.pac -u https://www.google.com
Verificar configuración actual (Windows PowerShell)
# Mostrar configuración de proxy actual
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyEnable, ProxyServer, AutoConfigURL
# Mostrar proxy WinHTTP
netsh winhttp show proxy
Herramientas en línea
- whatismyip.com — Comprobar su IP externa
- ifconfig.me — Muestra la IP en formato de consola
- browserleaks.com/proxy — Información detallada del proxy
- ipleak.net — Comprobar fugas de DNS, WebRTC
🔒 Seguridad al usar proxies
Recomendaciones de seguridad
✅ Use proxies HTTPS
Un proxy HTTPS cifra los datos entre el cliente y el servidor proxy, protegiéndolos de interceptaciones.
✅ No guarde contraseñas en texto plano
Utilice gestores de contraseñas, variables de entorno o archivos de configuración cifrados.
✅ Verifique los certificados
Al usar un proxy MITM, asegúrese de confiar en el certificado raíz del servidor proxy.
✅ Minimice las fugas de DNS
Utilice DNS-over-HTTPS o configure las consultas DNS a través del proxy para evitar fugas.
❌ Qué evitar
- No utilice proxies públicos gratuitos para datos confidenciales
- No ignore las advertencias de certificados SSL
- No guarde contraseñas de proxy en el historial de comandos (use un espacio antes del comando en bash)
- No utilice proxies HTTP sin cifrado para transmitir contraseñas
🎯 Mejores prácticas 2025
1️⃣ Elija el tipo de proxy correcto
Para scraping y análisis web: Proxies residenciales o móviles
Para redes corporativas: Proxies de centro de datos con lista blanca de IP
Para eludir bloqueos geográficos: Proxies residenciales del país deseado
2️⃣ Utilice archivos PAC para enrutamiento complejo
Los archivos PAC son ideales para entornos corporativos donde diferentes recursos requieren diferentes proxies. Proporcionan gestión centralizada y flexibilidad.
3️⃣ Configure exclusiones
Las direcciones locales (localhost, 127.0.0.1, subredes privadas) no deben pasar por el proxy. Esto acelerará el acceso a recursos locales.
4️⃣ Implemente tolerancia a fallos
En los archivos PAC, utilice opciones de fallback: varios proxies con posibilidad de conexión directa en caso de indisponibilidad de todos los proxies.
5️⃣ Monitoreo y registro
Compruebe periódicamente el funcionamiento del proxy, supervise la velocidad de conexión y la disponibilidad. Registre los errores para una respuesta rápida.
6️⃣ Documente la configuración
Cree documentación con descripciones de todas las configuraciones de proxy, archivos PAC, exclusiones y procedimientos de recuperación. Esto ahorrará tiempo en la solución de problemas.
📝 Conclusiones y recomendaciones
Resumen de la serie de artículos
Windows
En Windows, utilice la GUI para configuraciones sencillas, PowerShell para automatización y el registro para ajustes finos. Las variables de entorno son necesarias para las utilidades de consola.
Linux
En Linux, el método principal es mediante variables de entorno en /etc/environment o ~/.bashrc. No olvide la configuración separada para APT y YUM/DNF.
Archivos PAC
Los archivos PAC ofrecen la máxima flexibilidad para escenarios complejos. Úselos en entornos corporativos y para enrutamiento de tráfico inteligente.
Solución de problemas
La mayoría de los problemas se resuelven comprobando la accesibilidad del proxy, la corrección de las credenciales y la configuración. Utilice curl, netcat y las DevTools del navegador para el diagnóstico.
🏆 ProxyCove — Su elección ideal
Cobertura global
195+ países
Alta velocidad
Hasta 10 Gbps
Seguridad
IP + Login/Pass
Soporte 24/7
En español
Precios accesibles
Desde $1.5/GB
API
Integración completa
¿Listo para empezar a trabajar con proxies profesionales?
¡Regístrese en ProxyCove, deposite fondos con el código promocional ARTHELLO y obtenga un regalo de +$1.3!