Dalam artikel ini kami akan menunjukkan konfigurasi 3proksi pada pelayan khusus yang dikuasakan oleh sistem pengendalian ArchLinux/CentOS. 3proxy ialah salah satu alat yang paling relevan dan berfungsi. Ia menyokong pelbagai jenis protokol: HTTP, HTTPS, FTP, SOCKS, dan lain-lain. Ia akan membantu anda menyediakan pelayan proksi anda sendiri dalam masa beberapa minit.
Artikel itu mengandungi panduan langkah demi langkah tentang pemasangan utiliti dan konfigurasi selanjutnya. Isu seperti pemasangan daripada sumber rasmi, menyediakan fail konfigurasi, membuka port bukan standard dipertimbangkan, serta ralat biasa diterangkan dan cadangan praktikal untuk menyelesaikannya diberikan. Sebelum pelancaran, anda mesti memesan a VPS or dedicated server dikuasakan oleh sistem pengendalian CentOS atau ArchLinux. Semua tindakan dalam contoh akan dilakukan pada pelayan khusus yang dikuasakan oleh sistem pengendalian CentOS7 dengan satu alamat IP awam statik khusus.
Pemasangan
Langkah 1
3proxy dipasang terus dari sumber. gcc akan digunakan sebagai penyusun. Kami menyambung ke pelayan sebagai root (superuser) dan memasang pengkompil.
yum install gcc
Langkah 2
Sekarang anda perlu memuat turun fail sumber 3proksi. Anda boleh melakukan ini dengan pergi ke laman web rasmi dan menyalin pautan ke versi semasa:
Jika versi arkib diperlukan, anda juga boleh memuat turun pautan terus daripada GitHub:
Pada masa menulis artikel ini, versi semasa ialah 0.9.3. Muat turunnya dan segera buka bungkusannya:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Langkah 3
Pergi ke direktori dengan projek yang tidak dibungkus dan susun:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Langkah 4
Kami membuat direktori dan menyalin fail 3proksi ke /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Langkah 5
Kami mencipta pengguna untuk bekerja dengan katalog. Dalam kes ini nama pengguna ialah 3pengguna proksi:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Kami memberikan hak untuk bekerja dengan direktori kepada pengguna yang dibuat:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Sekarang mari buat fail konfigurasi menggunakan arahan:
touch /etc/3proxy/3proxy.cfg
Jika perlu, anda boleh menetapkan kebenaran pada fail konfigurasi untuk pengguna root. Langkah ini tidak wajib, tetapi akan menambah perlindungan:
chmod 600 /etc/3proxy/3proxy.cfg
3konfigurasi proksi
Langkah 6
Ia adalah perlu untuk mengisi fail konfigurasi yang telah dibuat sebelum ini dengan betul. Pertama, ketahui uid dan gid pengguna dengan arahan:
id 3proxyuser
Dalam kes kami ini adalah nilai berikut:
Untuk mengisi fail konfigurasi, anda boleh mengambil konfigurasi siap sedia atau gunakan fail konfigurasi dokumentasi di laman web rasmi. Juga fail dengan contoh sudah diprapasang secara lalai; anda boleh menemuinya di sepanjang laluan: /cfg/3proxy.cfg.sample
Sebagai contoh, kami akan mempertimbangkan 2 jenis konfigurasi: dengan dan tanpa pembalakan. Setiap baris akan disertakan dengan komen (ia ditandakan dengan simbol “#”).
Ini adalah contoh konfigurasi siap sedia tanpa pembalakan:
# 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
Kami mempertimbangkan pilihan fail konfigurasi tanpa pengelogan. Sekarang kita akan membuat fail konfigurasi dengan pengelogan dan kebenaran pengguna; ia akan digunakan kemudian semasa persediaan pelayan.
Pastikan anda memberikan maklumat kebenaran, kerana pelayan boleh dikesan walaupun pada port bukan standard.
# 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
Ini melengkapkan persediaan fail konfigurasi utama. Kami bergerak ke peringkat akhir dan melancarkan.
Langkah 7
Buat fail permulaan untuk systemd:
touch /etc/systemd/system/3proxy.service
Mengeluarkan hak yang diperlukan:
chmod 664 /etc/systemd/system/3proxy.service
Salin dan tampal nilai berikut ke dalam fail dan simpan:
[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»
Sila ambil perhatian: dalam nilai "ExecStop" anda mesti menyatakan nama pengguna yang telah dibuat dalam langkah No. 5.
Selepas itu anda perlu mengemas kini konfigurasi Daemon dengan arahan:
systemctl daemon-reload
Langkah 8
Satu-satunya yang kita perlukan ialah melancarkan 3proxy yang dikonfigurasikan, menambahnya pada autostart, dan juga membuka port dalam firewall.
Tambahkannya pada autostart, lancarkan dan semak status:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Selepas menyemak status, kami melihat maklumat bahawa 3proxy telah berjaya dilancarkan:
Satu-satunya perkara yang tinggal ialah membuka port:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Jika perlu, but semula pelayan. Adalah mungkin untuk menyemak sama ada port dibuka dengan arahan:
firewall-cmd --list-all
Apa yang sepatutnya:
Seperti yang kita dapat lihat, kedua-dua port telah berjaya dibuka dan sedang didengari. Sambungan http berada pada port pertama, stokin berada pada port kedua.
Semak sambungan melalui mana-mana perkhidmatan yang mudah:
Semuanya beroperasi. Bagi pihak kami, kami tidak mengesyorkan menggunakan sambungan tidak selamat tanpa kebenaran log masuk/kata laluan, serta dengan set port standard. Semasa menyediakan fail konfigurasi, pastikan anda menentukan log masuk dan mencipta kata laluan yang kompleks, dan juga menukar port kepada yang tidak standard. Dalam kes yang luar biasa, adalah mungkin untuk menggunakan kebenaran alamat IP
Masalah biasa
Kesilapan telah berlaku dan proksi tidak berfungsi? Mungkin konfigurasi 3proksi telah dilakukan dengan salah. Mari kita pertimbangkan masalah yang paling biasa dan penyelesaiannya semasa memasang dan mengkonfigurasi utiliti.
Tiada sambungan
Masalah yang paling biasa bagi kebanyakan pengguna ialah sambungan tidak boleh diakses apabila fail konfigurasi nampaknya dikonfigurasikan dengan betul. Jika anda pasti bahawa semua tetapan telah dikonfigurasikan dengan betul, pembekal pengehosan tidak mengehadkan port yang dipilih dan semua data menunjukkan perkhidmatan yang berfungsi, masalahnya mungkin dalam Firewall, atau, lebih tepat lagi, konfigurasinya yang salah. Sebagai contoh, mungkin terdapat lebih daripada dua program yang dipasang pada sistem yang akan bercanggah antara satu sama lain. Untuk menyelesaikan masalah, cukup menggunakan satu Firewall tertentu. Kami menasihati anda untuk memilih hanya iptables atau firewall-cmd.
Perkhidmatan tidak dilancarkan
Perkhidmatan tidak bermula selepas menyediakan semua fail konfigurasi yang diperlukan. Ini berlaku apabila langkah konfigurasi terlepas, hak yang sesuai tidak diberikan, atau ralat kecil dibuat dalam fail konfigurasi. Kami mengesyorkan anda untuk mengkaji dengan teliti arahan langkah demi langkah sekali lagi, mungkin anda terlepas salah satu langkah. Jika tiada apa-apa yang membantu, adalah idea yang baik untuk memasang semula OS dan mengikuti semua langkah dari awal. Kami mengesyorkan menggunakan sampel terletak di /cfg/3proxy.cfg.sample, sebagai konfigurasi ujian dan prapasang firewall-cmd sebagai tembok api.
Pembalakan
Isu terakhir, tetapi tidak kurang pentingnya berkaitan dengan penyimpanan fail. 3proxy mengambil masa beberapa mb semasa pemasangan, tetapi saiznya boleh ditingkatkan dengan ketara hanya melalui pengelogan dengan peredaran masa. Hakikatnya ialah ramai pengguna mendayakan rakaman log dalam fail berasingan, tetapi tidak menyediakan putaran dan tidak memadam log yang tidak berkaitan. Tiga pilihan boleh digunakan untuk penyelesaian masalah ini:
- Dayakan pembalakan;
- Padam log yang tidak berkaitan secara berkala;
- Dayakan putaran, seperti yang dilakukan dalam konfigurasi di atas. Contohnya, "putar 30" dalam fail konfigurasi bermakna 3proxy hanya akan menyimpan 30 fail terkini.
Kesimpulan
Memasang dan mengkonfigurasi 3proxy pada sistem pengendalian CentOS dan ArchLinux adalah tugas yang agak mudah, tetapi pada masa yang sama berkesan. Artikel itu merangkumi langkah-langkah untuk memasang pakej yang diperlukan, mengkonfigurasi fail konfigurasi dan melancarkan perkhidmatan. Pengetahuan yang diperoleh akan membolehkan anda memasang dan mengkonfigurasi pelayan proksi anda sendiri tanpa sebarang kesulitan.