Bu makalede ArchLinux/CentOS işletim sistemi tarafından desteklenen özel bir sunucuda 3proxy yapılandırmasını göstereceğiz. 3proxy en alakalı ve işlevsel araçlardan biridir. Çeşitli protokol türlerini destekler: HTTP, HTTPS, FTP, SOCKS ve diğerleri. Dakikalar içinde kendi proxy sunucunuzu kurmanıza yardımcı olacaktır.
Makale, yardımcı programın kurulumu ve daha sonraki yapılandırması hakkında adım adım rehberlik içerir. Resmi bir kaynaktan kurulum, yapılandırma dosyalarını ayarlama, standart olmayan portları açma gibi konular ele alınır ve yaygın hatalar açıklanır ve bunları çözmek için pratik öneriler verilir. Başlatmadan önce, bir VPS or dedicated server CentOS veya ArchLinux işletim sistemi tarafından desteklenmektedir. Örnekteki tüm eylemler, tek bir özel statik genel IP adresine sahip CentOS7 işletim sistemi tarafından desteklenen özel bir sunucuda gerçekleştirilecektir.
Montaj
1. Adım
3proxy doğrudan kaynaklardan kurulur. gcc derleyici olarak kullanılacaktır. Sunucuya root (superuser) olarak bağlanıyoruz ve derleyiciyi yüklüyoruz.
yum install gcc
2. Adım
Şimdi 3proxy kaynak dosyalarını indirmeniz gerekiyor. Bunu şuraya giderek yapabilirsiniz: resmi internet sitesi ve güncel versiyona bağlantıyı kopyalıyoruz:
Arşivlenmiş bir versiyona ihtiyaç duyarsanız, bağlantıyı doğrudan şu adresten de indirebilirsiniz: GitHub:
Bu makaleyi yazdığım sırada güncel sürüm 0.9.3'tür. İndirin ve hemen açın:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3. Adım
Açılan projenin bulunduğu dizine gidin ve şunu derleyin:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4. Adım
Dizinler oluşturuyoruz ve 3proxy dosyasını /usr/bin'e kopyalıyoruz:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5. Adım
Katalogla çalışmak için bir kullanıcı oluşturuyoruz. Bu durumda kullanıcı adı 3proxykullanıcısı:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Oluşturulan kullanıcıya dizinlerle çalışma haklarını veriyoruz:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Şimdi şu komutu kullanarak bir yapılandırma dosyası oluşturalım:
touch /etc/3proxy/3proxy.cfg
Gerekirse, yapılandırma dosyasında kök kullanıcı için izinler ayarlayabilirsiniz. Bu adım zorunlu değildir, ancak koruma ekleyecek:
chmod 600 /etc/3proxy/3proxy.cfg
3proxy yapılandırması
6. Adım
Daha önce oluşturulan yapılandırma dosyasını doğru bir şekilde doldurmak gerekir. İlk olarak, şu komutla kullanıcının uid ve gid'ini bulun:
id 3proxyuser
Bizim durumumuzda bunlar aşağıdaki değerlerdir:
Yapılandırma dosyasını doldurmak için hazır yapılandırmaları alabilir veya belgeleme resmi web sitesinde. Ayrıca bir örnek içeren bir dosya varsayılan olarak önceden yüklenmiştir; bunu şu yol boyunca bulabilirsiniz: /cfg/3proxy.cfg.örnek
Örnek olarak 2 tip yapılandırmayı ele alacağız: günlüklü ve günlüksüzHer satıra yorumlar eşlik edecek (bunlar “#” sembolüyle işaretlenmiştir).
Bu hazır bir yapılandırmanın örneğidir kayıt olmadan:
# 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
Günlük kaydı olmadan bir yapılandırma dosyası seçeneğini düşündük. Şimdi bir yapılandırma dosyası oluşturacağız günlük kaydı ve kullanıcı yetkilendirmesi; sunucu kurulumu sırasında daha sonra kullanılacaktır.
Sunucunun standart dışı portlarda bile tespit edilebilmesi nedeniyle yetkilendirme bilgilerini sağladığınızdan emin olun.
# 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
Bu ana yapılandırma dosyasının kurulumunu tamamlar. Son aşamaya geçip başlatırız.
7. Adım
systemd için bir başlatma dosyası oluşturun:
touch /etc/systemd/system/3proxy.service
Gerekli hakları verin:
chmod 664 /etc/systemd/system/3proxy.service
Aşağıdaki değerleri dosyaya kopyalayıp yapıştırın ve kaydedin:
[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»
Lütfen aklınızda bulundurun: “ExecStop” değerine 5. adımda oluşturulan kullanıcı adını belirtmeniz gerekmektedir.
Daha sonra Daemon yapılandırmasını şu komutla güncellemeniz gerekiyor:
systemctl daemon-reload
8. Adım
Yapmamız gereken tek şey yapılandırdığımız 3proxy'yi başlatmak, onu otomatik başlatmaya eklemek ve ayrıca güvenlik duvarında portları açmak.
Otomatik başlatmaya ekleyin, başlatın ve durumunu kontrol edin:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Durumu kontrol ettiğimizde 3proxy'nin başarıyla başlatıldığı bilgisini görüyoruz:
Geriye sadece portları açmak kaldı:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Gerekirse sunucuyu yeniden başlatın. Portların açık olup olmadığını şu komutla kontrol etmek mümkündür:
firewall-cmd --list-all
Ne olmalı:
Görüldüğü gibi her iki port da başarıyla açılmış ve dinleniyor. http bağlantısı birinci portta, socks bağlantısı ise ikinci portta.
Bağlantıyı herhangi bir uygun servis aracılığıyla kontrol edin:
Her şey çalışıyor. Bizim açımızdan, oturum açma/şifre yetkilendirmesi olmadan ve standart bir port setiyle güvenli olmayan bir bağlantı kullanmanızı önermiyoruzYapılandırma dosyasını kurarken, bir oturum açma adı belirttiğinizden ve karmaşık bir parola oluşturduğunuzdan ve ayrıca portları standart olmayan olanlarla değiştirdiğinizden emin olunİstisnai durumlarda IP adresi yetkilendirmesi kullanmak mümkündür
Yaygın sorunlar
Bir şeyler ters gitti ve proxy çalışmıyor mu? Belki de 3proxy yapılandırması yanlış yapıldı. Yardımcı programı yükleme ve yapılandırma sırasında en sık karşılaşılan sorunları ve çözümlerini ele alalım.
Bağlantı yok
Birçok kullanıcı için en yaygın sorun, yapılandırma dosyaları doğru şekilde yapılandırılmış gibi göründüğünde erişilemeyen bir bağlantıdır. Tüm ayarların doğru şekilde yapılandırıldığından eminseniz, barındırma sağlayıcısı seçilen portu sınırlamıyorsa ve tüm veriler çalışan bir hizmeti gösteriyorsa, sorun Güvenlik Duvarı'nda veya daha doğrusu yanlış yapılandırmasında olabilir. Örneğin, sistemde birbirleriyle çakışacak ikiden fazla program yüklü olabilir. Sorunu çözmek için belirli bir Güvenlik Duvarı kullanmak yeterlidir. Yalnızca iptables veya firewall-cmd'yi seçmenizi öneririz.
Hizmet başlatılamıyor
Tüm gerekli yapılandırma dosyaları ayarlandıktan sonra hizmet başlamıyor. Bu, bir yapılandırma adımı atlandığında, uygun haklar verilmediğinde veya yapılandırma dosyalarında küçük bir hata yapıldığında meydana gelir. Talimatları adım adım tekrar dikkatlice incelemenizi öneririz, belki de adımlardan birini atlamışsınızdır. Hiçbir şey işe yaramazsa, işletim sistemini yeniden yüklemek ve tüm adımları baştan takip etmek iyi bir fikir olacaktır. örnek /cfg/3proxy.cfg.sample konumunda bulunan, bir test yapılandırması olarak ve önceden yüklenmiş güvenlik duvarı-cmd bir güvenlik duvarı olarak.
Günlüğü
Son, ancak daha az önemli olmayan konu dosya depolamasıyla ilgilidir. 3proxy kurulum sırasında birkaç mb alır, ancak boyut yalnızca zaman geçtikçe günlük kaydı yoluyla önemli ölçüde artırılabilir. Gerçek şu ki, birçok kullanıcı ayrı bir dosyada günlük kaydını etkinleştirir, ancak rotasyonu ayarlamaz ve alakasız günlükleri silmez. Bu sorunun çözümü için üç seçenek kullanılabilir:
- Günlük kaydını etkinleştir;
- İlgisiz kayıtları periyodik olarak silin;
- Yukarıdaki yapılandırmada yapıldığı gibi döndürmeyi etkinleştirin. Örneğin, yapılandırma dosyasındaki "rotate 30", 3proxy'nin yalnızca en son 30 dosyayı depolayacağı anlamına gelir.
Sonuç
CentOS ve ArchLinux işletim sistemlerinde 3proxy'yi kurmak ve yapılandırmak oldukça basit, ancak aynı zamanda etkili bir görevdir. Makale, gerekli paketleri kurma, yapılandırma dosyalarını yapılandırma ve hizmeti başlatma adımlarını ele aldı. Edinilen bilgi, proxy sunucunuzu herhangi bir zorluk çekmeden kendiniz kurmanıza ve yapılandırmanıza olanak tanır.