Энэ нийтлэлд бид ArchLinux/CentOS үйлдлийн системээр ажилладаг тусгай сервер дээр 3прокси тохиргоог харуулах болно. 3proxy бол хамгийн хамааралтай, ажиллагаатай хэрэгслүүдийн нэг юм. Энэ нь янз бүрийн төрлийн протоколуудыг дэмждэг: HTTP, HTTPS, FTP, SOCKS болон бусад. Энэ нь танд хэдхэн минутын дотор прокси серверээ тохируулахад тусална.
Нийтлэл нь хэрэгслийг суурилуулах, түүний цаашдын тохиргооны талаар алхам алхмаар зааварчилгааг агуулдаг. Албан ёсны эх сурвалжаас суулгах, тохиргооны файлуудыг тохируулах, стандарт бус порт нээх зэрэг асуудлуудыг авч үзэхээс гадна нийтлэг алдаануудыг тайлбарлаж, тэдгээрийг шийдвэрлэх практик зөвлөмжийг өгсөн болно. Гаргахаасаа өмнө та захиалах ёстой VPS or зориулагдсан сервер CentOS эсвэл ArchLinux үйлдлийн системээр ажилладаг. Жишээн дээрх бүх үйлдлийг CentOS7 үйлдлийн системээр ажилладаг тусгай зориулалтын статик нийтийн IP хаягтай тусгай сервер дээр гүйцэтгэх болно.
суурилуулах ажил
Алхам 1
3proxy-г эх сурвалжаас шууд суулгасан. gcc хөрвүүлэгч болгон ашиглах болно. Бид сервер рүү root (супер хэрэглэгч)-ээр холбогдож, хөрвүүлэгчийг суулгана.
yum install gcc
Алхам 2
Одоо 3proxy эх файлыг татаж авах шаардлагатай байна. Та үүнийг хийх замаар хийж болно албан ёсны вэб сайт болон холбоосыг одоогийн хувилбар руу хуулах:
Хэрэв архивлагдсан хувилбар шаардлагатай бол холбоосыг шууд эндээс татаж авч болно GitHub:
Энэ нийтлэлийг бичиж байх үед одоогийн хувилбар нь 0.9.3 байна. Татаж аваад шууд задлаарай:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Алхам 3
Баглаагүй төсөлтэй лавлах руу очоод эмхэтгэ:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Алхам 4
Бид лавлахуудыг үүсгэж, 3proxy файлыг /usr/bin руу хуулна.
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Алхам 5
Бид каталогтой ажиллах хэрэглэгчийг бий болгодог. Энэ тохиолдолд хэрэглэгчийн нэр байна 3 прокси хэрэглэгч:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Бид үүсгэсэн хэрэглэгчдэд лавлахтай ажиллах эрхийг олгодог.
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Одоо дараах тушаалыг ашиглан тохиргооны файл үүсгэцгээе.
touch /etc/3proxy/3proxy.cfg
Шаардлагатай бол та үндсэн хэрэглэгчийн тохиргооны файлд зөвшөөрлийг тохируулж болно. Энэ алхам нь заавал байх албагүй, гэхдээ хамгаалалт нэмнэ:
chmod 600 /etc/3proxy/3proxy.cfg
3 прокси тохиргоо
Алхам 6
Өмнө нь үүсгэсэн тохиргооны файлыг зөв бөглөх шаардлагатай. Эхлээд дараах тушаалаар хэрэглэгчийн uid болон gid-ийг олж мэдээрэй.
id 3proxyuser
Манай тохиолдолд эдгээр нь дараах утгууд юм.
Тохиргооны файлыг бөглөхийн тулд та бэлэн тохиргоог авч эсвэл ашиглаж болно бичиг баримт албан ёсны вэбсайт дээр. Мөн жишээ бүхий файлыг анхдагчаар аль хэдийн суулгасан байна; Та үүнийг зам дагуу олж болно: /cfg/3proxy.cfg. дээж
Жишээ болгон бид 2 төрлийн тохиргоог авч үзэх болно. мод бэлтгэлтэй, мод бэлтгэхгүйгээр. Мөр бүрийг тайлбар дагалдуулна (тэдгээрийг "#" тэмдгээр тэмдэглэсэн).
Энэ бол бэлэн тохиргооны жишээ юм мод бэлтгэхгүйгээр:
# 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
Бид бүртгэл хийхгүйгээр тохиргооны файлын сонголтыг авч үзсэн. Одоо бид тохиргооны файлыг үүсгэх болно бүртгэл болон хэрэглэгчийн зөвшөөрөл; Энэ нь дараа нь серверийн тохиргооны үед ашиглагдах болно.
Стандарт бус портууд дээр ч серверийг илрүүлэх боломжтой тул та зөвшөөрлийн мэдээллээ оруулсан эсэхээ шалгаарай.
# 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
Энэ нь үндсэн тохиргооны файлын тохиргоог дуусгана. Бид эцсийн шат руу шилжиж, эхлүүлнэ.
Алхам 7
Systemd-д зориулж эхлүүлэх файл үүсгэх:
touch /etc/systemd/system/3proxy.service
Шаардлагатай эрхийг олгох:
chmod 664 /etc/systemd/system/3proxy.service
Дараах утгуудыг файл руу хуулж буулгаад хадгална уу.
[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»
Анхаарна уу: "ExecStop" утгад та 5-р алхам дээр үүсгэсэн хэрэглэгчийн нэрийг зааж өгөх ёстой.
Үүний дараа та Daemon-ийн тохиргоог дараах тушаалаар шинэчлэх хэрэгтэй.
systemctl daemon-reload
Алхам 8
Бидэнд хэрэгтэй цорын ганц зүйл бол тохируулсан 3proxy-г ажиллуулж, автоматаар эхлүүлэхэд нэмэх, мөн галт хананд портуудыг нээх явдал юм.
Үүнийг автоматаар эхлүүлэх, эхлүүлэх, статусыг шалгахад нэмнэ үү:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Статусыг шалгасны дараа бид 3proxy амжилттай ажиллаж эхэлсэн гэсэн мэдээллийг харж байна.
Үлдсэн цорын ганц зүйл бол портуудыг нээх явдал юм.
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Шаардлагатай бол серверийг дахин ачаална уу. Портууд нээлттэй байгаа эсэхийг дараах тушаалаар шалгах боломжтой.
firewall-cmd --list-all
Юу байх ёстой вэ:
Бидний харж байгаагаар хоёр порт амжилттай нээгдэж, сонсож байна. http холболт эхний порт дээр, оймс хоёр дахь порт дээр байна.
Ямар ч тохиромжтой үйлчилгээгээр дамжуулан холболтыг шалгана уу:
Бүх зүйл ажиллаж байна. Бидний хувьд, Бид нэвтрэх/нууц үгийн зөвшөөрөлгүйгээр, түүнчлэн стандарт багц порттой хамгаалалтгүй холболтыг ашиглахыг зөвлөдөггүй.. Тохиргооны файлыг тохируулах явцад, Нэвтрэх, нарийн төвөгтэй нууц үг үүсгэх, портуудыг стандарт бус болгон өөрчлөхөө мартуузай. Онцгой тохиолдолд IP хаягийн зөвшөөрлийг ашиглах боломжтой
Нийтлэг бэрхшээлүүд
Ямар нэг алдаа гарсан бөгөөд прокси ажиллахгүй байна уу? Магадгүй 3прокси тохиргоог буруу хийсэн байж магадгүй. Хэрэгслийг суулгах, тохируулах явцад хамгийн нийтлэг асуудал, тэдгээрийн шийдлүүдийг авч үзье.
Холболт байхгүй
Олон хэрэглэгчдийн хувьд хамгийн нийтлэг асуудал бол тохиргооны файлуудыг зөв тохируулсан мэт санагдах үед холбогдох боломжгүй байдаг. Хэрэв та бүх тохиргоог зөв тохируулсан гэдэгт итгэлтэй байгаа бол хостинг үйлчилгээ үзүүлэгч нь сонгосон портыг хязгаарладаггүй бөгөөд бүх өгөгдөл нь ажиллаж байгаа үйлчилгээг харуулж байгаа бол асуудал нь Галт хананд, эсвэл илүү нарийвчлалтай, буруу тохиргоотой байж болно. Жишээлбэл, систем дээр хоёроос олон програм суулгасан байж болох бөгөөд тэдгээр нь хоорондоо зөрчилддөг. Асуудлыг шийдэхийн тулд тодорхой нэг Галт ханыг ашиглахад хангалттай. Бид танд зөвхөн iptables эсвэл firewall-cmd сонгохыг зөвлөж байна.
Үйлчилгээг эхлүүлэхгүй байна
Шаардлагатай бүх тохиргооны файлуудыг тохируулсны дараа үйлчилгээ эхлэхгүй. Энэ нь тохиргооны алхамыг орхигдуулсан, зохих эрхийг өгөөгүй эсвэл тохиргооны файлд бага зэргийн алдаа гарсан тохиолдолд тохиолддог. Та алхам алхмаар зааварчилгааг сайтар судалж үзэхийг зөвлөж байна, магадгүй та аль нэг алхмыг алдсан байж магадгүй юм. Хэрэв юу ч тус болохгүй бол үйлдлийн системээ дахин суулгаж, бүх алхмуудыг эхнээс нь дагаж мөрдөх нь зүйтэй юм. Бид ашиглахыг зөвлөж байна Жишээ /cfg/3proxy.cfg.sample-д туршилтын тохиргоо болон урьдчилан суулгасан галт хана-cmd галт хана байдлаар.
Бүртгэл
Эцсийн, гэхдээ тийм ч чухал асуудал бол файл хадгалахтай холбоотой юм. Суулгах явцад 3proxy нь хэд хэдэн mb зарцуулдаг боловч цаг хугацаа өнгөрөхөд зөвхөн бүртгэл хийх замаар хэмжээ нь мэдэгдэхүйц нэмэгдэх болно. Баримт нь олон хэрэглэгчид бүртгэлийн бичлэгийг тусдаа файлд идэвхжүүлдэг боловч эргэлтийг тохируулдаггүй бөгөөд хамааралгүй бүртгэлийг устгадаггүй. Энэ асуудлыг шийдэхийн тулд гурван сонголтыг ашиглаж болно:
- Бүртгэлийг идэвхжүүлэх;
- Үл хамаарах бүртгэлийг үе үе устгах;
- Дээрх тохиргоонд хийсэн шиг эргэлтийг идэвхжүүлнэ үү. Жишээлбэл, тохиргооны файл дахь "30 эргүүлэх" нь 3proxy нь зөвхөн сүүлийн 30 файлыг хадгалах болно гэсэн үг юм.
Дүгнэлт
CentOS болон ArchLinux үйлдлийн системүүд дээр 3proxy-г суулгах, тохируулах нь нэлээд энгийн боловч нэгэн зэрэг үр дүнтэй ажил юм. Уг нийтлэлд шаардлагатай багцуудыг суулгах, тохиргооны файлуудыг тохируулах, үйлчилгээг эхлүүлэх алхмуудыг авч үзсэн. Олж авсан мэдлэг нь танд прокси серверээ ямар ч хүндрэлгүйгээр өөрөө суулгаж, тохируулах боломжийг олгоно.