Si trabajas en Linux y necesitas dirigir el tráfico a través de un proxy — para scraping, monitoreo de precios en marketplaces o gestión de múltiples cuentas — las instrucciones estándar de internet a menudo no funcionan. Algunas describen solo el navegador, otras solo la terminal, y en ningún lugar hay una imagen completa. En esta guía, analizaremos todas las formas: desde un solo comando en la terminal hasta configuraciones del sistema que cubren todo el tráfico de Ubuntu y Debian.
Qué tipo de proxy elegir para Linux
Antes de proceder a la configuración, es importante entender: no todos los proxies son igualmente adecuados para diferentes tareas. Las máquinas Linux a menudo se utilizan para tareas automatizadas — scraping, monitoreo, solicitudes masivas — y la elección del tipo de proxy aquí es crítica.
| Tipo de proxy | Protocolos | Adecuado para | Riesgo de bloqueo |
|---|---|---|---|
| Proxies de centro de datos | HTTP, HTTPS, SOCKS5 | Scraping, curl, scripts | Medio |
| Proxies residenciales | HTTP, HTTPS, SOCKS5 | Marketplaces, redes sociales, cuentas | Bajo |
| Proxies móviles | HTTP, SOCKS5 | Facebook, Instagram, TikTok | Mínimo |
Para la mayoría de las tareas en Linux, son adecuados los proxies HTTP/HTTPS o SOCKS5. SOCKS5 es preferible — funciona a nivel TCP y es compatible con la mayoría de las herramientas, incluyendo curl, wget y proxychains. En los ejemplos a continuación, utilizaremos ambas opciones.
Formato de datos del proxy
Para todas las configuraciones a continuación, necesitarás los datos en el formato:
host:port o host:port:login:password
Estos datos los obtienes de tu proveedor de proxy en tu cuenta personal.
Configuración a través de variables de entorno en la terminal
La forma más rápida de dirigir el tráfico a través de un proxy en Linux es establecer variables de entorno. La mayoría de las utilidades de consola (curl, wget, pip, apt y otras) leen automáticamente estas variables y utilizan el proxy especificado sin configuración adicional.
Configuración temporal (solo para la sesión actual)
Abre la terminal y ejecuta los siguientes comandos. Reemplaza los valores con los datos de tu proxy:
# Para proxy HTTP sin autorización export http_proxy="http://192.168.1.1:3128" export https_proxy="http://192.168.1.1:3128" # Para proxy HTTP con login y contraseña export http_proxy="http://login:[email protected]:3128" export https_proxy="http://login:[email protected]:3128" # Para proxy SOCKS5 export http_proxy="socks5://login:[email protected]:1080" export https_proxy="socks5://login:[email protected]:1080" # Excepciones — direcciones sin proxy (localhost y red local) export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"
Después de estos comandos, todas las utilidades en la terminal actual utilizarán el proxy. Un matiz importante: algunos programas leen las variables solo en mayúsculas. Para asegurarte, duplica los comandos con letras mayúsculas:
export HTTP_PROXY="http://login:[email protected]:3128" export HTTPS_PROXY="http://login:[email protected]:3128" export NO_PROXY="localhost,127.0.0.1"
Configuración permanente para tu usuario
Para que el proxy se aplique automáticamente en cada inicio de sesión en la terminal, agrega las variables al archivo ~/.bashrc (para bash) o ~/.zshrc (para zsh):
# Abrimos el archivo en el editor nano nano ~/.bashrc # Agregamos al final del archivo las siguientes líneas: export http_proxy="http://login:password@host:port" export https_proxy="http://login:password@host:port" export HTTP_PROXY="http://login:password@host:port" export HTTPS_PROXY="http://login:password@host:port" export no_proxy="localhost,127.0.0.1" # Guardamos: Ctrl+O, Enter, Ctrl+X # Aplicamos los cambios sin reiniciar la terminal: source ~/.bashrc
Configuración del sistema para todos los usuarios
Si Linux se utiliza como servidor o deseas aplicar el proxy para todos los usuarios del sistema, agrega las variables al archivo /etc/environment:
sudo nano /etc/environment # Agrega las líneas (sin el comando export!): http_proxy="http://login:password@host:port" https_proxy="http://login:password@host:port" HTTP_PROXY="http://login:password@host:port" HTTPS_PROXY="http://login:password@host:port" no_proxy="localhost,127.0.0.1,::1"
Después de guardar el archivo, los cambios entrarán en vigor en el próximo inicio de sesión. Para aplicar sin reiniciar, ejecuta source /etc/environment.
Configuraciones del sistema de proxy a través de la interfaz gráfica (GNOME)
Si utilizas Ubuntu con el escritorio GNOME (instalación estándar de Ubuntu Desktop), puedes configurar el proxy a través de la interfaz gráfica sin un solo comando. Esto es conveniente para aquellos que recién comienzan a trabajar con Linux.
Instrucciones paso a paso para Ubuntu GNOME
- Haz clic en el ícono en la esquina superior derecha de la pantalla → selecciona “Configuración” (Settings)
- En el menú de la izquierda, desplázate hacia abajo y selecciona “Red” (Network)
- En la sección “Proxy de red”, haz clic en el botón con la flecha (ícono de configuración)
- Selecciona el modo de proxy:
- Desactivado — no se utiliza proxy
- Manual — introduces los datos del proxy tú mismo (recomendado)
- Automático — se utiliza un archivo PAC del proveedor
- Selecciona “Manual” y completa los campos:
- Proxy HTTP: introduce la dirección del host y el puerto
- Proxy HTTPS: los mismos datos
- Host SOCKS: dirección y puerto (si utilizas SOCKS5)
- Ignorar hosts:
localhost, 127.0.0.0/8
- Cierra la ventana — los ajustes se aplican automáticamente
⚠️ Importante saber
Las configuraciones de proxy a través de GNOME solo se aplican a las aplicaciones que leen la configuración del sistema: navegador GNOME Web, algunas aplicaciones de GNOME. Las utilidades de terminal (curl, wget, apt) no utilizan estas configuraciones — necesitan las variables de entorno de la sección anterior. Firefox y Chromium tienen sus propias configuraciones de proxy.
Configuración a través de gsettings (terminal + GUI)
Si deseas gestionar las configuraciones del sistema de proxy GNOME a través de la terminal (por ejemplo, para automatización), utiliza el comando gsettings:
# Activar el modo manual de proxy gsettings set org.gnome.system.proxy mode 'manual' # Establecer proxy HTTP gsettings set org.gnome.system.proxy.http host 'host' gsettings set org.gnome.system.proxy.http port 3128 # Establecer proxy HTTPS gsettings set org.gnome.system.proxy.https host 'host' gsettings set org.gnome.system.proxy.https port 3128 # Establecer proxy SOCKS5 gsettings set org.gnome.system.proxy.socks host 'host' gsettings set org.gnome.system.proxy.socks port 1080 # Desactivar el proxy gsettings set org.gnome.system.proxy mode 'none'
Proxy para APT — instalación de paquetes a través de un proxy
El gestor de paquetes APT (utilizado en Ubuntu y Debian) tiene su propio sistema de configuración de proxy, que no depende de las variables de entorno. Esto es especialmente relevante para servidores sin acceso directo a internet o para redes corporativas.
Método 1: Proxy temporal para un solo comando
# Usar proxy para un solo comando apt sudo apt-get -o Acquire::http::Proxy="http://login:password@host:port" update # O a través de la variable de entorno sudo http_proxy="http://login:password@host:port" apt-get update
Método 2: Proxy permanente para APT
Crea un archivo de configuración para APT. Este método se recomienda para servidores donde el proxy es necesario de forma constante:
# Creamos el archivo de configuración sudo nano /etc/apt/apt.conf.d/95proxies # Agregamos el contenido: Acquire::http::Proxy "http://login:password@host:port"; Acquire::https::Proxy "http://login:password@host:port"; Acquire::ftp::Proxy "ftp://login:password@host:port"; # Guardamos y verificamos: sudo apt-get update
Si el proxy no requiere autorización, las líneas se ven más simples: Acquire::http::Proxy "http://host:port";. Para desactivar el proxy para APT, simplemente elimina el archivo creado con el comando sudo rm /etc/apt/apt.conf.d/95proxies.
Proxy para curl y wget
Curl y wget son las herramientas principales para trabajar con solicitudes HTTP en Linux. Se utilizan para scraping, pruebas de API, descarga de archivos. Ambas herramientas admiten proxy directamente a través de parámetros de línea de comandos.
Curl con proxy
# Proxy HTTP curl -x http://login:password@host:port https://example.com # Proxy SOCKS5 curl --socks5 host:port --proxy-user login:password https://example.com # Verificar tu IP a través del proxy curl -x http://login:password@host:port https://api.ipify.org # Ignorar errores SSL (si es necesario) curl -x http://login:password@host:port -k https://example.com
Para no tener que especificar el proxy cada vez, agrega la configuración al archivo ~/.curlrc:
nano ~/.curlrc # Agrega la línea: proxy = "http://login:password@host:port" # Ahora curl siempre utiliza este proxy: curl https://api.ipify.org
Wget con proxy
# A través del parámetro de línea de comandos wget -e "http_proxy=http://login:password@host:port" https://example.com # Configuración permanente en ~/.wgetrc nano ~/.wgetrc # Agrega las líneas: http_proxy = http://login:password@host:port https_proxy = http://login:password@host:port use_proxy = on
Proxy para Firefox y Chromium en Linux
Los navegadores en Linux tienen sus propias configuraciones de proxy, que funcionan independientemente de las configuraciones del sistema. Esto es conveniente si deseas utilizar un proxy solo en el navegador, sin afectar al resto del tráfico.
Firefox: configuración manual
- Abre Firefox → haz clic en las tres líneas en la esquina superior derecha → “Configuración”
- Desplázate hacia abajo hasta la sección “Servidor proxy” → haz clic en “Configuración”
- Selecciona “Configuración manual de proxy”
- Completa los campos:
- Proxy HTTP: dirección del host, puerto
- Marca la casilla “Usar este servidor proxy para todos los protocolos”
- O especifica SOCKS por separado: dirección, puerto, selecciona SOCKS v5
- Haz clic en OK
Si el proxy requiere autorización, Firefox solicitará el login y la contraseña en el primer acceso y los recordará. Para alternar rápidamente entre varios proxies, instala la extensión FoxyProxy — permite crear perfiles y alternar con un solo clic.
Chromium / Google Chrome: lanzamiento con proxy
Chromium en Linux no tiene configuraciones de proxy integradas en la interfaz — utiliza las configuraciones del sistema. Pero puedes lanzar el navegador con un proxy específico a través de un parámetro de línea de comandos:
# Lanzar Chromium con proxy HTTP chromium-browser --proxy-server="http://host:port" # Lanzar con proxy SOCKS5 chromium-browser --proxy-server="socks5://host:port" # Lanzar con proxy e ignorar localhost chromium-browser --proxy-server="http://host:port" \ --proxy-bypass-list="localhost;127.0.0.1" # Para Google Chrome, reemplaza chromium-browser por google-chrome google-chrome --proxy-server="socks5://host:port"
💡 Consejo para multi-cuentas
Si gestionas varias cuentas a través del navegador en Linux, utilizar un navegador normal con proxy no es suficiente — los sitios rastrean la huella digital del navegador, cookies y otros parámetros. Para un verdadero multi-cuentas, utiliza navegadores anti-detección: Dolphin Anty, AdsPower o GoLogin — crean perfiles aislados con proxies separados para cada cuenta.
Proxychains — proxy para cualquier aplicación sin soporte
Algunas aplicaciones no admiten la configuración de proxy ni a través de variables de entorno ni a través de sus propios parámetros. En este caso, proxychains viene al rescate — una herramienta que intercepta las llamadas de red de cualquier programa y las dirige a través de un proxy. Esto es especialmente útil para scrapers escritos en Python o utilidades especializadas.
Instalación de proxychains
# Ubuntu / Debian sudo apt-get update sudo apt-get install proxychains4 # Verificar la instalación proxychains4 --version
Configuración del archivo de configuración
# Abrimos el config sudo nano /etc/proxychains4.conf # Encontramos la línea "dynamic_chain" — descomentamos (quitamos #): dynamic_chain # Comentamos "strict_chain" (agregamos # al inicio): # strict_chain # Al final del archivo en la sección [ProxyList] agregamos nuestro proxy: # Formato: tipo host puerto [login] [contraseña] # Proxy HTTP sin autorización: http 192.168.1.1 3128 # SOCKS5 con autorización: socks5 host 1080 login password
Uso de proxychains
Después de la configuración, simplemente agrega proxychains4 antes de cualquier comando:
# Ejecutar curl a través del proxy proxychains4 curl https://api.ipify.org # Ejecutar script de Python a través del proxy proxychains4 python3 parser.py # Ejecutar nmap a través del proxy proxychains4 nmap -sT target.com # Abrir Firefox a través del proxy proxychains4 firefox
El modo dynamic_chain significa que si un proxy no está disponible, proxychains intentará el siguiente de la lista. Esto es conveniente si tienes varios proxies — agrégales todos a [ProxyList] y obtendrás rotación automática.
Cómo verificar que el proxy funciona
Después de la configuración, asegúrate de verificar que el tráfico realmente pase a través del proxy y no directamente. Aquí hay algunas formas rápidas:
Verificación a través de curl
# Conocer la IP actual sin proxy curl https://api.ipify.org # Resultado: tu IP real, por ejemplo 85.12.34.56 # Conocer IP a través del proxy curl -x http://login:password@host:port https://api.ipify.org # El resultado debe ser diferente — esta es la IP del servidor proxy # Información extendida sobre la IP curl -x http://login:password@host:port https://ipinfo.io/json
Verificación de variables de entorno
# Ver las variables de proxy establecidas env | grep -i proxy # Resultado esperado: # http_proxy=http://login:password@host:port # https_proxy=http://login:password@host:port
Verificación de la disponibilidad del servidor proxy
# Verificar que el puerto del proxy esté abierto y responda nc -zv host port # Por ejemplo: nc -zv 192.168.1.1 3128 # Si nc no está instalado: telnet host port
✅ Lista de verificación del proxy
- La IP en la respuesta de curl es diferente de tu IP real
- El país y la ciudad en ipinfo.io corresponden al proxy seleccionado
- No hay errores
Connection refusedo407 Proxy Authentication Required - La velocidad de conexión es aceptable (verifica a través de curl con el flag
-w "%{time_total}")
Escenarios prácticos: scraping, monitoreo, multi-cuentas
Consideremos tareas específicas con las que los usuarios que configuran proxies en Linux se enfrentan con más frecuencia.
Escenario 1: Scraping de Wildberries y Ozon desde un servidor Linux
Los vendedores de marketplaces a menudo ejecutan scrapers de precios en VPS con Ubuntu. Wildberries y Ozon bloquean activamente las solicitudes desde direcciones IP de servidores. Para eludir esta protección, se necesitan proxies residenciales — parecen usuarios domésticos normales.
El esquema de configuración recomendado para scraping de marketplaces:
- Establece las variables de entorno con los datos de proxies residenciales en el archivo
~/.bashrc - Si utilizas un script de Python, asegúrate de que la biblioteca
requestslea las variables de entorno (por defecto lo hace) - Para rotar IP, configura varios proxies en proxychains con el modo
dynamic_chain - Agrega retrasos entre solicitudes (1-3 segundos) — esto reduce el riesgo de bloqueo
- Verifica la IP después de cada 50-100 solicitudes a través de
curl https://api.ipify.org
Escenario 2: Monitoreo de precios de competidores en Avito
Avito bloquea solicitudes por varios criterios: frecuencia de solicitudes, tipo de User-Agent, dirección IP. Para monitorear anuncios desde un servidor Linux, utiliza el siguiente enfoque:
# Ejemplo de solicitud a Avito a través de un proxy con los encabezados correctos curl -x http://login:password@host:port \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \ -H "Accept-Language: ru-RU,ru;q=0.9" \ -H "Accept: text/html,application/xhtml+xml" \ "https://www.avito.ru/moskva/nedvizhimost"
Para Avito, es especialmente importante utilizar proxies con direcciones IP rusas. Los proxies residenciales con geolocalización en la ciudad deseada permiten ver anuncios vinculados a una región específica.
Escenario 3: Trabajo con Facebook Ads e Instagram a través de Linux
Los arbitrajistas que trabajan en Linux (a menudo a través de VPS) utilizan navegadores anti-detección para gestionar cuentas publicitarias. El esquema de trabajo:
- Instalas Dolphin Anty o AdsPower en Linux (ambos tienen versiones para Linux)
- Creas un perfil de navegador separado para cada cuenta de Facebook Ads
- En la configuración de cada perfil, especificas un proxy separado
- Para Facebook e Instagram se recomiendan proxies móviles — tienen IP reales de operadores móviles y un riesgo mínimo de bloqueos
- El proxy del sistema Linux no es necesario — el navegador anti-detección gestiona el proxy a nivel de cada perfil
Comparación de métodos de configuración de proxy en Linux
| Método | Alcance | Dificultad | Mejor para |
|---|---|---|---|
| Variables de entorno | La mayoría de las utilidades CLI | Baja | Scripts, curl, pip |
| GNOME GUI | Aplicaciones GNOME | Baja | Escritorio sin terminal |
| Configuración APT | Solo APT | Baja | Servidores detrás de NAT |
| Proxychains | Cualquier aplicación | Media | Scrapers, utilidades de terceros |
| Configuraciones del navegador | Solo navegador | Baja | Trabajo manual en el navegador |
Errores típicos al configurar proxies en Linux
- Solo variables en minúsculas — algunos programas leen solo
HTTP_PROXY(mayúsculas), otros solohttp_proxy. Establece ambas variantes. - Olvidaste source — después de modificar
.bashrc, debes ejecutarsource ~/.bashrc, de lo contrario, los cambios no se aplicarán. - El proxy no funciona con sudo — al usar sudo, las variables de entorno del usuario no se transmiten. Usa
sudo -Epara transmitir las variables. - localhost pasa a través del proxy — siempre agrega a
no_proxylos valoreslocalhost,127.0.0.1. - Formato de URL incorrecto — para proxies HTTP, asegúrate de especificar el esquema:
http://osocks5://.
Conclusión
Configurar un proxy en Linux Ubuntu y Debian es una tarea que se puede resolver de varias maneras dependiendo de tu objetivo. Para la mayoría de las tareas, son suficientes las variables de entorno: cubren curl, wget, pip y la mayoría de los scripts. Para una cobertura completa del tráfico de cualquier aplicación, utiliza proxychains. Para el navegador, usa configuraciones integradas o lanza con el parámetro --proxy-server. Para APT, un archivo de configuración separado.
El principio principal: elige el método según la tarea específica. No es necesario configurar un proxy del sistema si solo necesitas un proxy para un solo script. Y viceversa: si todo el tráfico del servidor debe pasar a través de un proxy, configura las variables en /etc/environment una vez y olvídate de ello.
Si utilizas Linux para scraping de marketplaces, monitoreo de precios o solicitudes automatizadas, presta atención a los proxies residenciales — tienen IP reales de usuarios domésticos, que prácticamente no son bloqueados en Wildberries, Ozon y Avito. Para trabajar con cuentas publicitarias de Facebook Ads e Instagram a través de navegadores anti-detección en Linux, los proxies móviles son una buena opción — riesgo mínimo de bloqueos y máxima confianza por parte de las plataformas.