Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Cómo utilizar mi servidor como proxy

17 febrero, 2019
ips

Buenas,

En esta entrada vamos a ver como utilizar las IPs de nuestro servidor VPS o dedicado para utilizarlas como proxys privados, así podemos utilizar las Ips que ya tenemos “funcionando” con nuestros blogs para otras funciones además de seguir funcionando como IP de nuestro blog.

Que vamos a necesitar

Lo primero que haremos será ver que vamos a necesitar para lograr hacer esto:

– Un servidor dedicado o VPS.
– Una o varias IPs.
– Sistema operativo Linux.
– Acceder por SSH o consola
– Una buena jarra de cerveza bien fresquita

Preparando el servidor

En mi caso lo voy a montar sobre un servidor VPS de OVH, exactamente sobre el VPS más económico que tienen, que permiten añadir 16 IPs.
Este es enlace a los VPS que comento , saldrían en 2.99 + IVA al mes…. https://www.ovh.es/vps/vps-ssd.xml

Te valdría cualquier otro server incluso te puede valer algún VPS gratuito.

¿Por que he escogido OVH? pues basicamente por precio y por que cada IP nueva te cuesta 2 Euros más (Sin mensualidad), por lo que si haces cuentas tendrás el server con 16 ips por 3 euros al més, más las 16 Ips x2 euros=32 , 35 euros el primer mes y después 3 euros cada mes para mantenerlo… 3 euros/mes es un precio bastante asumible para cualquiera.

Nota: En este server tengo montados 16 blogs WordPress pequeñitos que tenían poca carga de trabajo y poco tráfico aunque actualmente alguno tiene 1000 visitas al día y aguanta!!, aunque tiene frecuentes problemas de espacio, logs y demás que hay que estar revisando continuamente.
*** No te recomendaría este servidor para montar webs serias, por que está bastante limitados.

Estas IPs son IPs failover de tipo Datacenter , qué como comentó un compañero que cito textualmente:

De cara a Google los proxies que montas con las IP’s de OVH, aunque los montes transparentes y anonimos, son IP’s de tipo Datacenter……
y lo más valioso es tener IP’s residenciales para usarlas como proxies, IP’s que ofrecen los ISP’s y no los Datacenters. Google sabe la procedencia de cada IP

 

Que quiere decir esto, que si las utilizas de cara a Google, verás que en cuanto hagas 5-6 consultas te mostrará un captcha, resuelve el captcha y te dejará tranquilo un tiempo / quiza dias o incluos horas para poder scrappear con esas ips.

Una vez que tenemos el servidor, hemos escogido el sistema operativo Linux y está montado,  o  en el caso de que ya lo tenemos funcionando con nuestras webs vamos a comprar las ips que queremos añadir al server. Por lo general tardan poco, y en unas horas sueles tener las ips añadidas a tu cuenta, puedes escoger los paises de las ips, si las compras todas juntas tendrán IPs correlativas por lo que si quieres que sean diferentes IPs y no correlativas debes de comprarlas de poco en poco o escogerlas de paises diferentes.

Finalmente tendremos algo así, con las ips que nos hemos comprado:

 


ips

Vamos al siguiente paso donde instalaremos el programa que necesitamos:


Instalando Squid

Para montar los proxys vamos a utilizar Squid, así que en este paso vamos a instalar este software, sino conoces este script esto es lo que dice la wikipedia de este programa:

Squid es un servidor proxy para web con caché. Es una de las aplicaciones más populares y de referencia para esta función, software libre publicado bajo licencia GPL. Entre sus utilidades está la de mejorar el rendimiento de las conexiones de empresas y particulares a Internet guardando en caché peticiones recurrentes a servidores web y DNS, acelerar el acceso a un servidor web determinado o añadir seguridad realizando filtrados de tráfico.

Aunque orientado principalmente a HTTP y HTTPS soporta también otros protocolos como FTP e incluso Gopher. Implementa cifrado SSL/TLS tanto en la conexión al servidor web como a los navegadores y cualquier cliente web que lo soporte.

Squid es una aplicación muy consolidada en Internet. En desarrollo desde los años 1990, se le considera muy completo y robusto y es el software de referencia como servidor proxy-caché de web. Como muchas aplicaciones de software libre está incluido en distribuciones GNU/Linux pero se puede ejecutar también en entornos tipo Unix y hay algunas versiones para MS Windows.

 

Bien pues dependiendo de nuestro sistema operativo Linux abrimos una consola e instalamos squid:

Desde Centos sería algo así:


yum -y install squid

 

Desde Ubuntu sería así:


sudo apt-get install squid

 

Después de instalarlo puedes ver su estado con:

sudo service squid status

Puedes ponerlo en marcha con

sudo service squid start

Puedes pararlo con

sudo service squid stop

Y puedes reiniciarlo cuando has hecho cambios con

sudo service squid restart

Pues hasta aquí ya tenemos nuestro server funcionando y nuestro squid funcionando, ahora queda el último paso para vincular estas ips a nuestra configuración de Squid.

Configurando Squid

En este paso vamos a editar la configuración de Squid para poder añadir las ips y los puertos que queremos al programa para que podamos utilizarlos como  proxys, para realizar esto vamos a ir al fichero de configuración que se encuentra en /etc/squid/squid.conf

Lo primero hacemos un backup del fichero:

cp -p /etc/squid/squid.conf /etc/squid/squid.conf.backup

No suelo hacer backups porque me gusta vivir al límite, salvo que sea la web de un cliente que entonces SIEMPRE tienes que hacer backup de cualquier cosa que toques.

y ahora abrimos el fichero de configuración y editamos, puedes utilizar vi, vim, nano o el editor que te guste mas, o bien desde FTP si no estás familiarizado con la consola

nano /etc/squid/squid.conf

Vamos a la linea donde pone

# Squid normally listens to port

Y aquí vamos a añadir los puertos y las ips que queremos utilizar como proxys.

El formato será así

http_port Ip:puerto name=nombreAsignado

Para no liarnos al nombre le vamos a llamar igual que el puerto,  así será más simple reconocerlo:

http_port Ip:puerto name=puerto

El rango de puertos yo los he puesto correlativos pero puedes ponerlos como quieras, por ejemplo puedes empezar por el 4100 y seguir subiendo, solo tienes que tener en cuenta que no esté asignado para otra cosa.

Quedaría algo así, con tus ips y tus puertos:


http_port 91.xxx.135.xxx:3128 name=3128
http_port 164.xxx.29.78:3129 name=3129
http_port 178.33.xxx.113:3130 name=3130
http_port 207.xxx.10.xxx:3131 name=3131
http_port 207.xxx.10.46:3132 name=3132
http_port 207.182.xxx.143:3133 name=3133

 

Bien ahora vamos a permitir que se usen, mediante reglas de configuración acl que utiliza squid

El formato sería así:

acl nombreQueQueremos myportname nombreDelPuertoAnterior src IPhttp_access allow nombreQueQueremos

tcp_outgoing_address IP nombreQueQueremos


Que basicamente le estamos indicando que pueda conectarse utilizando tcp a esa IP y ese puerto.

Esto lo haremos por cada IP,  será algo así:

acl NombreQueQuieras1 myportname 3128 src 91.xxx.135.xxx

http_access allow NombreQueQuieras1

tcp_outgoing_address 91.xxx.135.xxx NombreQueQuieras1

 

acl NombreQueQuieras2 myportname 3129  src 164.xxx.29.78

http_access allow NombreQueQuieras2

tcp_outgoing_address 164.xxx.29.78 NombreQueQuieras2

 

acl NombreQueQuieras3 myportname 3130 src 178.33.xxx.113

http_access allow NombreQueQuieras3

tcp_outgoing_address 178.33.xxx.113 NombreQueQuieras3

 

Quedaría algo así, cambiando tus nombres y tus puertos:

acl tasty3128 myportname 3128 src 91.xxx.135.xxx
http_access allow tasty3128
tcp_outgoing_address 91.xxx.135.xxx tasty3128

acl tasty3129 myportname 3129 src 164.xxx.29.78
http_access allow tasty3129
tcp_outgoing_address 164.xxx.29.78 tasty3129

acl tasty3130 myportname 3130 src 178.33.xxx.113
http_access allow tasty3130
tcp_outgoing_address 178.33.xxx.113 tasty3130

Y listo, con esto ya deberías tener tus ips esperando que las llames para utilizarlas como proxys.

Reinicia el servicio y deberías de estar todo Ready.
service squid restart

Por último para poner la guinda al pastel vamos a cambiar de proxy con 1 solo click para eso vamos a utilizar una extensión en el navegador.


Utilizando los proxys desde el navegador

 

Llegados a este punto puedes poner el puerto y la ip en el navegador y utilizarlo como proxy , pero si tienes muchos y quieres ir trasteando entre unos y otros lo mejor es que te pongas una extensión que te permita hacerlo con pocos clicks.

Yo utilizo foxyproxy pero te puede valer cualquier plugin ,
Esto es todo lo que tienes que rellenar, nombre que le quieres poner, el puerto y la ip.

Así es como debe de quedar cada proxy que añadas:

foxyproxy

Les pones unos nombres y colorines que te gusten y listo puedes ir cambiando entre uno y otro con 1 click

foxyproxy

 

 

Y listo, ahora si que si, ya lo deberías de tener todo funcionando.

Si tienes cualquier duda déjame un comentario y te responderé en cuanto pueda 😉

 

 

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Comentarios (11)

Buena informacion! yo necesito ips residenciales para utilizar en instagram, es posible?

Responder

Miguel, ¡¡Eres un artista!! Muchísimas gracias por compartir este truco que nos va a ser muy útil para ahorrar un poquito en los pequeños proyectos.

Responder

Gracias Supertrámites,
Cualquier cosa estoy por aquí
😉

Responder

Miguel gracias, un ahorro la verdad…solo me queda una duda. Yo tengo el vps en ovh y centos, debo instalar o puedo instalar squid directamente ahi? No he tocado casi nada de linux 🙁 … gracias tio

Responder

Buenas Lolezno,
Si con lanzar por consola
yum -y install squid

Te debería instalar squid en Centos , yo también lo tengo en un Centos 7

Cualquier cosa me dices

Responder

Fantástico!
Tengo varias dudas por favor:
1- Ubuntu 18.04 en ovh sirve para este tutorial?
2- Quiero usar los proxies para instagram, unos 10 instagrams en principio van bien con el plan básico de 3€?
3- Me han dicho que hay que ponerles usuario y contraseña a los proxies, si no, mal… Cómo se haría?

Muchas Gracias!

Responder

Sirve si, perfectamente, yo lo utilizo en OVH o en Digital Ocean, incluso en VPS de 4 euros al mes.

puedes ponerles user y password, si los vas a tener tiempo abiertos, tambien puedes levantar ese servidor que hará de proxi solo el tiempo que lo utilices, el resto puedes seguir utilizando tu servidor normal y corriente.

Responder

Debajo de “# Squid normally listens to port” tengo puesto:
http_port 3128 (ya estaba escrito)
http_port 51.xxx.220.xxx:3129 name=3129 (Esa 51.xxx.220.xxx es una ip que he comprado y 3129 un puerto inventado)
acl Primer3129 myportname 3129 src 51.xxx.220.xxx
http_acces allow Primer3129
tcp_outgoing_address 51.xxx.220.xxx Primer3129
——————————————-
Presiono enter y luego qué hay que escribir para reinciar? he puesto de todo y no hace nada, no se reinicia, entonces cierro la venta “de mala manera” abro de nuevo nano y no hay nada escrito, como si no hubiera modificado nada. Ayúdame please

Responder

Ya lo averigué, “Ctrl + X” se guarda, reinicio squid y luego exit y se cierra consola. Está todo lo anterior bien?
-Cómo se pone usuario y contraseña a cada proxy creado?
Un manual de eso y de ocultar la IP haría ya este manual y a su creador Top1 😁😁.

Responder

Para la IP que te viene en el VPS hay que hacerle también estos pasos para que las IPs compradas posteriormente funcionen como proxy?
Es que hice todos los pasos con una IP comprada en mi VPS y cuando lo pruebo en firefox me dice: “The proxy server is refusing connections”, entonces pienso que falta algo? Abrir puertos o qué?

Responder

Que tal?

Buen tema, tengo mis dudas, yo rento a varios clientes servicios de renta de servidores squid fisicos, existe la forma de que pueda tener este servicio instalado en una vps, y solo configurar en el controlador de dominio de mis clientes la ip del proxy en las configuraciones de navegador para que puedan tener los bloqueos como si fuera un servidor fisico en la lan?..

Saludos

Responder