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é instruccions pas a pas sobre la instal·lació de la utilitat i la seva configuració posterior. Es consideren problemes com la instal·lació des d'una font oficial, la configuració de fitxers i 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 un VPS o un servidor dedicat amb el sistema operatiu CentOS o ArchLinux. Totes les accions de l'exemple es duran a terme en un servidor dedicat amb el sistema operatiu CentOS7 amb una adreça IP pública estàtica dedicada.
instal·lació
El 3proxy s'instal·la directament des del codi font. S'utilitzarà gcc 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 de 3proxy. Podeu fer-ho anant al lloc web oficial i copiant l'enllaç a la versió actual:
Si necessiteu 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 definir 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 agafar configuracions ja fetes o utilitzar la documentació del lloc web oficial. A més, per defecte ja hi ha un fitxer amb un exemple preinstal·lat; el podeu trobar a la ruta: /cfg/3proxy.cfg.sample
Com a exemple, considerarem 2 tipus de configuració: amb i sense registre . Cada línia anirà acompanyada de comentaris (marcats amb el símbol "#").
Aquest és un exemple d'una configuració predefinida sense registre :
# 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ó d'usuari ; s'utilitzarà més endavant durant la configuració del servidor.
Assegureu-vos de proporcionar 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»
Nota: 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 part nostra, no recomanem utilitzar una connexió no segura sense autorització d'inici de sessió/contrasenya, així com amb un conjunt de ports estàndard . En configurar el fitxer de configuració, assegureu-vos d'especificar un inici de sessió i crear una contrasenya complexa, i també canviar els ports per ports 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 passa per alt un pas de configuració, no es donen els drets adequats o es produeix un error menor als fitxers de configuració. Us recomanem que torneu a estudiar atentament les instruccions pas a pas, potser us heu saltat algun dels passos. Si res ajuda, seria una bona idea reinstal·lar el sistema operatiu i seguir tots els passos des del principi. Us recomanem que utilitzeu l'exemple que es troba a /cfg/3proxy.cfg.sample com a configuració de prova i el firewall-cmd preinstal·lat com a tallafocs.
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.