Base de Conocimiento Instrucciones sencillas para trabajar con el servicio Profitserver
Main Base de Conocimiento Configuración de 3proxy en CentOS/ArchLinux

Configuración de 3proxy en CentOS/ArchLinux


En este artículo, mostraremos la configuración de 3proxy en un servidor dedicado con el sistema operativo ArchLinux/CentOS. 3proxy es una de las herramientas más relevantes y funcionales. Es compatible con varios tipos de protocolos: HTTP, HTTPS, FTP, SOCKS y otros. Le ayudará a configurar su propio servidor proxy en cuestión de minutos.

El artículo incluye instrucciones paso a paso para la instalación y configuración de la utilidad. Se abordan temas como la instalación desde una fuente oficial, la configuración de archivos y la apertura de puertos no estándar. Además, se describen errores comunes y se ofrecen recomendaciones prácticas para solucionarlos. Antes de la instalación, deberá contratar un VPS o un servidor dedicado con el sistema operativo CentOS o ArchLinux. Todas las acciones del ejemplo se realizarán en un servidor dedicado con el sistema operativo CentOS 7 y una dirección IP pública estática.

Instalación

Paso 1

3proxy se instala directamente desde el código fuente. Se utilizará gcc como compilador. Nos conectamos al servidor como root (superusuario) e instalamos el compilador.

yum install gcc

Paso 2

Ahora es necesario descargar los archivos fuente de 3proxy. Puedes hacerlo accediendo al sitio web oficial y copiando el enlace a la versión actual:

Instalación de utilidad

Si necesita una versión archivada, también puede descargar el enlace directamente desde GitHub :

Instalación de 3proxy desde Github

Al momento de escribir este artículo, la versión actual es la 0.9.3. Descárguela y descomprímala inmediatamente:

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz

Paso 3

Vaya al directorio con el proyecto descomprimido y compile:

cd 3proxy-0.9.3/
make -f Makefile.Linux

Paso 4

Creamos directorios y copiamos el archivo 3proxy a /usr/bin:

mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/

Paso 5

Creamos un usuario para trabajar con el catálogo. En este caso, el nombre de usuario es 3proxyuser:

useradd -s /usr/sbin/nologin -U -M -r 3proxyuser

Otorgamos los derechos para trabajar con directorios al usuario creado:

chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy

Ahora vamos a crear un archivo de configuración usando el comando:

touch /etc/3proxy/3proxy.cfg

Si es necesario, puede establecer permisos en el archivo de configuración para el usuario root. Este paso no es obligatorio, pero añadirá protección:

chmod 600 /etc/3proxy/3proxy.cfg

Configuración de 3proxy

Paso 6

Es necesario completar correctamente el archivo de configuración creado anteriormente. Primero, determine el UID y el GID del usuario con el comando:

id 3proxyuser

En nuestro caso estos son los siguientes valores:

uid y gid

Para completar el archivo de configuración, puede utilizar configuraciones predefinidas o consultar la documentación en el sitio web oficial. Además, se incluye un archivo de ejemplo preinstalado por defecto; lo encontrará en la siguiente ruta: /cfg/3proxy.cfg.sample

Como ejemplo, consideraremos dos tipos de configuración: con y sin registro de eventos . Cada línea irá acompañada de comentarios (marcados con el símbolo “#”).

Este es un ejemplo de una configuración predefinida sin registro de eventos :

# We specify the user's data that we found out in the previous command
setgid 995
setuid 997

# Type the NS-servers. It is possible to clarify your own servers at /etc/resolv.conf
nserver 1.1.1.1
nserver 8.8.8.8

# Cache size
nscache 65536

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Authorization of users by login/password (if required). You may not to use it or specify the path to the file in which authorization data is stored, for example, users $/etc/3proxy/.authfile

# If you insert a password in md5 format, replace “CL” with “CR”, as indicated in the example. You can use 2 methods at the same time.
auth cache strong
users "userproxy:CL:passwordproxy"
users "userproxy2:CR:b89097a7ad0b94f13b3c313ae76699d4 "

# Launch mode. Daemon only.
Daemon

# We write the port through which the http connection will take place. The example shows the standard one. To establish a socks connection, use the command specified in the second line, the port is also standard.
proxy -p3128			
socks -p1080

Consideramos la opción de un archivo de configuración sin registro de eventos. Ahora crearemos un archivo de configuración con registro de eventos y autorización de usuarios ; se utilizará posteriormente durante la configuración del servidor.

Asegúrese de proporcionar la información de autorización, ya que el servidor puede detectarse incluso en puertos no estándar.

# Configuring the server to launch from the userproxy user and the passwordproxy password.
users userproxy:CL:passwordproxy

# Specify the user's uid and gid
setgid 995
setuid 997

# Nameservers (NS-servers)
nserver 1.1.1.1
nserver 8.8.8.8

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Cache size (standard)
nscache 65536

# Indicate the launch mode
daemon

# We install http proxy on a non-standard 50001 port. If there are several IP addresses on the server, be sure to specify a specific address for connecting the network. For example, "-e91.150.32.146". The argument "i" is a local address.
proxy –p50001	

# In a same way as socks proxy, we conduct the installation on a 50002 port.
socks –p50002			

# Path to the directory with logs, logs format and proxy rotation
Log /var/log/3proxy/3proxy.log D	
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

Con esto finaliza la configuración del archivo de configuración principal. Pasamos a la etapa final: el lanzamiento.

Paso 7

Cree un archivo de inicialización para systemd:

touch /etc/systemd/system/3proxy.service

Expedir los derechos necesarios:

chmod 664 /etc/systemd/system/3proxy.service

Copie y pegue los siguientes valores en el archivo y guárdelo:

[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep 3proxyuser`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target»

Tenga en cuenta: en el valor “ExecStop” debe especificar el nombre de usuario que se creó en el paso n.º 5.

Después de lo cual debes actualizar la configuración de Daemon con el comando:

systemctl daemon-reload

Paso 8

Lo único que necesitamos es iniciar el 3proxy configurado, agregarlo al inicio automático y también abrir los puertos en el firewall.

Agréguelo al inicio automático, lanzamiento y verificación de estado:

systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy

Después de verificar el estado, vemos información de que 3proxy se ha iniciado correctamente:

El proxy se está ejecutando

Lo único que falta es abrir los puertos:

firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload

Si es necesario, reinicie el servidor. Puede comprobar si los puertos están abiertos con el comando:

firewall-cmd --list-all

¿Qué debería ser?

Abrir puertos de firewall

Como podemos ver, ambos puertos se han abierto con éxito y están siendo escuchados. La conexión http está en el primer puerto, Socks está en el segundo puerto.

Verifique la conexión a través de cualquier servicio conveniente:

Configuración exitosa de 3proxy

Todo funciona correctamente. Por nuestra parte, no recomendamos utilizar una conexión no segura sin autorización de usuario/contraseña, ni con un conjunto de puertos estándar . Al configurar el archivo de configuración, asegúrese de especificar un nombre de usuario y crear una contraseña compleja, y también cambie los puertos a puertos no estándar . En casos excepcionales, es posible utilizar la autorización por dirección IP.

Problemas comunes

¿Algo salió mal y el proxy no funciona? Quizás la configuración de 3proxy fue incorrecta. Analicemos los problemas más comunes y sus soluciones durante la instalación y configuración de la utilidad.

Sin conexión

El problema más común para muchos usuarios es una conexión inaccesible cuando los archivos de configuración parecen estar configurados correctamente. Si está seguro de que todos los ajustes están configurados correctamente, el proveedor de alojamiento no limita el puerto seleccionado y todos los datos indican que el servicio funciona, el problema podría estar en el firewall o, más precisamente, en una configuración incorrecta. Por ejemplo, podría haber más de dos programas instalados en el sistema que entren en conflicto. Para solucionar el problema, basta con usar un firewall específico. Le recomendamos seleccionar solo iptables o firewall-cmd.

El servicio no se inicia

El servicio no se inicia tras configurar todos los archivos necesarios. Esto ocurre cuando se omite algún paso de configuración, no se otorgan los permisos adecuados o se produce un error menor en los archivos de configuración. Le recomendamos que revise detenidamente las instrucciones paso a paso, ya que es posible que haya omitido alguno. Si el problema persiste, le sugerimos reinstalar el sistema operativo y seguir todos los pasos desde el principio. Le recomendamos utilizar el archivo de ejemplo ubicado en /cfg/3proxy.cfg.sample como configuración de prueba y el firewall preinstalado firewall-cmd como cortafuegos.

Inicio de sesión

El último problema, pero no menos importante, está relacionado con el almacenamiento de archivos. 3proxy ocupa varios MB durante la instalación, pero este tamaño solo puede aumentar significativamente mediante el registro con el tiempo. Muchos usuarios habilitan el registro en un archivo separado, pero no configuran la rotación ni eliminan los registros irrelevantes. Existen tres opciones para solucionar este problema:

  1. Habilitar registro;
  2. Eliminar periódicamente los registros irrelevantes;
  3. Habilite la rotación, como se hizo en la configuración anterior. Por ejemplo, si la opción "rotar 30" aparece en el archivo de configuración, 3proxy solo almacenará los últimos 30 archivos.

Conclusión

Instalar y configurar 3proxy en sistemas operativos CentOS y ArchLinux es una tarea bastante sencilla, pero a la vez eficaz. El artículo explica los pasos para instalar los paquetes necesarios, configurar los archivos de configuración e iniciar el servicio. Los conocimientos adquiridos le permitirán instalar y configurar su servidor proxy usted mismo sin ninguna dificultad.

❮ Artículo anterior Cómo restablecer la contraseña de Windows
Siguiente artículo ❯ Cómo aumentar la partición del disco en el sistema operativo Windows

Pregúntenos sobre VPS

Siempre estamos listos para responder sus preguntas en cualquier momento del día o de la noche.