En aquest article mostrarem la configuració de 3proxy en un servidor dedicat alimentat pel sistema operatiu ArchLinux/CentOS. 3proxy és una de les eines més rellevants i funcionals. Admet diversos tipus de protocols: HTTP, HTTPS, FTP, SOCKS i altres. Us ajudarà a configurar el vostre propi servidor intermediari en qüestió de minuts.
L'article conté una guia pas a pas sobre la instal·lació de la utilitat i la seva configuració posterior. Es consideren qüestions com ara la instal·lació des d'una font oficial, la configuració de fitxers de configuració, l'obertura de ports no estàndard, així com es descriuen errors comuns i es donen recomanacions pràctiques per resoldre'ls. Abans del llançament, heu de demanar a VPS or servidor dedicat alimentat pel sistema operatiu CentOS o ArchLinux. Totes les accions de l'exemple es realitzaran en un servidor dedicat alimentat pel sistema operatiu CentOS7 amb una adreça IP pública estàtica dedicada.
instal·lació
3proxy s'instal·la directament des de les fonts. gcc s'utilitzarà com a compilador. Ens connectem al servidor com a root (superusuari) i instal·lem el compilador.
yum install gcc
Ara cal descarregar els fitxers font 3proxy. Podeu fer-ho anant a web oficial i copiant l'enllaç a la versió actual:
Si cal una versió arxivada, també podeu descarregar l'enllaç directament des de GitHub:
En el moment d'escriure aquest article, la versió actual és la 0.9.3. Baixeu-lo i desempaqueteu-lo immediatament:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Aneu al directori amb el projecte descomprimit i compileu:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Creem directoris i copiem el fitxer 3proxy a /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Creem un usuari per treballar amb el catàleg. En aquest cas el nom d'usuari és 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Atorguem els drets per treballar amb directoris a l'usuari creat:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Ara creem un fitxer de configuració amb l'ordre:
touch /etc/3proxy/3proxy.cfg
Si cal, podeu establir permisos al fitxer de configuració per a l'usuari root. Aquest pas no és obligatori, però afegirà protecció:
chmod 600 /etc/3proxy/3proxy.cfg
3 configuració de proxy
Cal omplir correctament el fitxer de configuració que es va crear anteriorment. Primer, esbrineu l'uid i el gid de l'usuari mitjançant l'ordre:
id 3proxyuser
En el nostre cas aquests són els valors següents:
Per omplir el fitxer de configuració, podeu prendre configuracions ja fetes o utilitzar el documentació al lloc web oficial. També un fitxer amb un exemple ja està preinstal·lat per defecte; el podeu trobar al llarg del camí: /cfg/3proxy.cfg.sample
Com a exemple, tindrem en compte 2 tipus de configuració: amb i sense registre. Cada línia anirà acompanyada de comentaris (estan marcats amb el símbol “#”).
Aquest és un exemple de configuració ja feta sense registrar:
# 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
Hem considerat l'opció d'un fitxer de configuració sense registre. Ara crearem un fitxer de configuració amb registre i autorització dels usuaris; s'utilitzarà més tard durant la configuració del servidor.
Assegureu-vos que proporcioneu informació d'autorització, ja que el servidor es pot detectar fins i tot en ports no estàndard.
# 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
Això completa la configuració del fitxer de configuració principal. Passem a l'etapa final i ens posem en marxa.
Creeu un fitxer d'inicialització per a systemd:
touch /etc/systemd/system/3proxy.service
Expedir els drets necessaris:
chmod 664 /etc/systemd/system/3proxy.service
Copieu i enganxeu els valors següents al fitxer i deseu:
[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»
Recordeu: al valor "ExecStop" heu d'especificar el nom d'usuari que es va crear al pas núm. 5.
Després d'això, heu d'actualitzar la configuració del dimoni amb l'ordre:
systemctl daemon-reload
L'únic que necessitem és llançar el 3proxy configurat, afegir-lo a l'inici automàtic i també obrir ports al tallafoc.
Afegiu-lo a l'inici automàtic, inici i comproveu l'estat:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Després de comprovar l'estat, veiem informació que 3proxy s'ha llançat correctament:
L'únic que queda és obrir ports:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Si cal, reinicieu el servidor. És possible comprovar si els ports estan oberts amb l'ordre:
firewall-cmd --list-all
Què hauria de ser:
Com podem veure, tots dos ports s'han obert amb èxit i s'estan escoltant. La connexió http es troba al primer port, els mitjons al segon port.
Comproveu la connexió mitjançant qualsevol servei convenient:
Tot funciona. Per la nostra part, no recomanem utilitzar una connexió no segura sense autorització d'inici de sessió/contrasenya, així com amb un conjunt estàndard de ports. Durant la configuració del fitxer de configuració, Assegureu-vos d'especificar un inici de sessió i crear una contrasenya complexa, i també canviar els ports a uns no estàndard. En casos excepcionals, és possible utilitzar l'autorització d'adreça IP
Problemes comuns
S'ha produït un error i el proxy no funciona? Potser la configuració de 3proxy s'ha fet incorrectament. Considerem els problemes més comuns i les seves solucions durant la instal·lació i la configuració de la utilitat.
Sense conexió
El problema més comú per a molts usuaris és una connexió inaccessible quan els fitxers de configuració semblen estar configurats correctament. Si esteu segur que tots els paràmetres s'han configurat correctament, el proveïdor d'allotjament no limita el port seleccionat i totes les dades indiquen un servei en funcionament, el problema pot estar al tallafoc o, més precisament, la seva configuració incorrecta. Per exemple, pot haver-hi més de dos programes instal·lats al sistema que entren en conflicte. Per resoldre el problema, n'hi ha prou amb utilitzar un tallafoc específic. Us recomanem que seleccioneu només iptables o firewall-cmd.
El servei no s'inicia
El servei no s'inicia després de configurar tots els fitxers de configuració necessaris. Això passa quan es perd un pas de configuració, no es donen els drets adequats o es comet un error menor als fitxers de configuració. Us recomanem que torneu a estudiar detingudament les instruccions pas a pas, potser us heu perdut algun dels passos. Si res no ajuda, seria una bona idea reinstal·lar el sistema operatiu i seguir tots els passos des del principi. Recomanem utilitzar mostra ubicat a /cfg/3proxy.cfg.sample, com a configuració de prova, i preinstal·lat firewall-cmd com a tallafoc.
Inici de sessió
L'últim, però no menys important, es refereix a l'emmagatzematge de fitxers. 3proxy triga diversos mb durant la instal·lació, però la mida només es pot augmentar significativament mitjançant el registre amb el pas del temps. El fet és que molts usuaris permeten l'enregistrament de registres en un fitxer separat, però no configuren la rotació i no suprimeixen els registres irrellevants. Es poden utilitzar tres opcions per resoldre aquest problema:
- Habilita el registre;
- Eliminar periòdicament els registres irrellevants;
- Habiliteu la rotació, tal com es va fer a la configuració anterior. Per exemple, "girar 30" al fitxer de configuració significa que 3proxy només emmagatzemarà els darrers 30 fitxers.
Conclusió
Instal·lar i configurar 3proxy als sistemes operatius CentOS i ArchLinux és una tasca bastant senzilla, però alhora eficaç. L'article tractava els passos per instal·lar els paquets necessaris, configurar fitxers de configuració i llançar el servei. Els coneixements adquirits us permetran instal·lar i configurar vosaltres mateixos el vostre servidor intermediari sense cap dificultat.