Neste artigo mostraremos a configuración de 3proxy nun servidor dedicado alimentado polo sistema operativo ArchLinux/CentOS. 3proxy é unha das ferramentas máis relevantes e funcionais. Soporta varios tipos de protocolos: HTTP, HTTPS, FTP, SOCKS e outros. Axudarache a configurar o teu propio servidor proxy en cuestión de minutos.
O artigo contén orientación paso a paso sobre a instalación da utilidade e a súa configuración posterior. Téñense en conta cuestións como a instalación desde unha fonte oficial, a configuración de ficheiros de configuración, a apertura de portos non estándar, así como descríbense os erros comúns e se dan recomendacións prácticas para solucionalos. Antes do lanzamento, debes pedir un Estudantes or servidor dedicado alimentado polo sistema operativo CentOS ou ArchLinux. Todas as accións do exemplo realizaranse nun servidor dedicado alimentado polo sistema operativo CentOS7 cun enderezo IP público estático dedicado.
instalación
1 paso
3proxy instálase directamente desde as fontes. gcc empregarase como compilador. Conectámonos ao servidor como root (superusuario) e instalamos o compilador.
yum install gcc
2 paso
Agora é necesario descargar os ficheiros fonte 3proxy. Podes facelo indo a web oficial e copiando a ligazón á versión actual:
Se precisa unha versión arquivada, tamén pode descargar a ligazón directamente desde GitHub:
No momento de escribir este artigo, a versión actual é a 0.9.3. Descárgao e descomprimilo inmediatamente:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3 paso
Vaia ao directorio co proxecto descomprimido e compile:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4 paso
Creamos directorios e copiamos o ficheiro 3proxy en /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5 paso
Creamos un usuario para traballar co catálogo. Neste caso o nome de usuario é 3usuario proxy:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Concedimos os dereitos para traballar con directorios ao usuario creado:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Agora imos crear un ficheiro de configuración usando o comando:
touch /etc/3proxy/3proxy.cfg
Se é necesario, pode establecer permisos no ficheiro de configuración para o usuario root. Este paso non é obrigatorio, pero engadirá protección:
chmod 600 /etc/3proxy/3proxy.cfg
3 configuración de proxy
6 paso
É necesario cubrir correctamente o ficheiro de configuración que se creou anteriormente. Primeiro, descubra o uid e o gid do usuario mediante o comando:
id 3proxyuser
No noso caso son os seguintes valores:
Para encher o ficheiro de configuración, pode tomar configuracións preparadas ou usar o documentación no sitio web oficial. Tamén un ficheiro cun exemplo xa está preinstalado por defecto; podes atopalo ao longo do camiño: /cfg/3proxy.cfg.sample
Como exemplo, consideraremos 2 tipos de configuración: con e sen rexistro. Cada liña irá acompañada de comentarios (están marcados co símbolo “#”).
Este é un exemplo dunha configuración preparada sen rexistro:
# 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 a opción dun ficheiro de configuración sen rexistro. Agora imos crear un ficheiro de configuración con rexistro e autorización do usuario; utilizarase máis tarde durante a configuración do servidor.
Asegúrate de proporcionar información de autorización, xa que o servidor pódese detectar incluso en portos non 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
Isto completa a configuración do ficheiro de configuración principal. Pasamos á fase final e lanzamos.
7 paso
Cree un ficheiro de inicialización para systemd:
touch /etc/systemd/system/3proxy.service
Expedir os dereitos necesarios:
chmod 664 /etc/systemd/system/3proxy.service
Copia e pega os seguintes valores no ficheiro e gárdao:
[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»
Ten en conta: no valor "ExecStop" debes especificar o nome de usuario que se creou no paso número 5.
Despois diso, cómpre actualizar a configuración do Daemon co comando:
systemctl daemon-reload
8 paso
O único que necesitamos é lanzar o 3proxy configurado, engadilo ao inicio automático e tamén abrir portos no firewall.
Engádeo ao inicio automático, inicio e comproba o estado:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Despois de comprobar o estado, vemos información de que 3proxy se iniciou correctamente:
O único que queda é abrir portos:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Se é necesario, reinicie o servidor. É posible comprobar se os portos están abertos co comando:
firewall-cmd --list-all
Que debería ser:
Como podemos ver, ambos portos abríronse con éxito e están a ser escoitados. A conexión http está no primeiro porto, os calcetíns están no segundo porto.
Comproba a conexión a través de calquera servizo conveniente:
Todo funciona. Pola nosa banda, non recomendamos usar unha conexión non segura sen autorización de inicio de sesión/contrasinal, así como cun conxunto estándar de portos. Durante a configuración do ficheiro de configuración, asegúrate de especificar un inicio de sesión e crear un contrasinal complexo e tamén cambia os portos a outros non estándar. En casos excepcionais, é posible utilizar a autorización de enderezos IP
Problemas comúns
Produciuse un erro e o proxy non funciona? Quizais a configuración de 3proxy se fixera incorrectamente. Consideremos os problemas máis comúns e as súas solucións durante a instalación e configuración da utilidade.
Sen conexión
O problema máis común para moitos usuarios é unha conexión inaccesible cando os ficheiros de configuración parecen estar configurados correctamente. Se estás seguro de que todos os axustes foron configurados correctamente, o provedor de hospedaxe non limita o porto seleccionado e todos os datos indican un servizo en funcionamento, o problema pode estar no Firewall ou, máis precisamente, a súa configuración incorrecta. Por exemplo, pode haber máis de dous programas instalados no sistema que entrarán en conflito entre si. Para resolver o problema, abonda con usar un Firewall específico. Recomendamos que seleccione só iptables ou firewall-cmd.
O servizo non se inicia
O servizo non se inicia despois de configurar todos os ficheiros de configuración necesarios. Isto ocorre cando se perde un paso de configuración, non se dan os dereitos adecuados ou se comete un pequeno erro nos ficheiros de configuración. Recomendámosche que estudes detidamente as instrucións paso a paso de novo, quizais perdeches algún dos pasos. Se nada axuda, sería unha boa idea reinstalar o sistema operativo e seguir todos os pasos desde o principio. Recomendamos usar sample localizado en /cfg/3proxy.cfg.sample, como configuración de proba, e preinstalado firewall-cmd como un cortalumes.
Logging
O último, pero non menos importante, refírese ao almacenamento de ficheiros. 3proxy leva varios mb durante a instalación, pero o tamaño só pode aumentar significativamente a través do rexistro co paso do tempo. O feito é que moitos usuarios permiten a gravación de rexistros nun ficheiro separado, pero non configuran a rotación e non eliminan rexistros irrelevantes. Pódense utilizar tres opcións para resolver este problema:
- Activar o rexistro;
- Elimina periodicamente os rexistros irrelevantes;
- Activa a rotación, como se fixo na configuración anterior. Por exemplo, "xirar 30" no ficheiro de configuración significa que 3proxy só almacenará os últimos 30 ficheiros.
Conclusión
Instalar e configurar 3proxy nos sistemas operativos CentOS e ArchLinux é unha tarefa bastante sinxela, pero ao mesmo tempo eficaz. O artigo cubriu os pasos para instalar os paquetes necesarios, configurar ficheiros de configuración e iniciar o servizo. Os coñecementos adquiridos permitiranche instalar e configurar o teu servidor proxy sen dificultade.