지식 Profitserver 서비스를 사용하기 위한 간단한 지침
본관 지식 CentOS/ArchLinux에서의 3proxy 구성

CentOS/ArchLinux에서의 3proxy 구성


이 글에서는 ArchLinux/CentOS 운영 체제로 구동되는 전용 서버에서 3proxy 구성을 보여드리겠습니다. 3proxy는 가장 관련성 있고 기능적인 도구 중 하나입니다. HTTP, HTTPS, FTP, SOCKS 등 다양한 유형의 프로토콜을 지원합니다. 몇 분 만에 자체 프록시 서버를 설정하는 데 도움이 됩니다.

이 문서에서는 유틸리티 설치 및 추가 구성에 대한 단계별 지침을 제공합니다. 공식 소스를 통한 설치, 구성 파일 설정, 비표준 포트 열기 등의 문제를 다루고 있으며, 흔히 발생하는 오류와 해결 방법에 대한 실질적인 권장 사항도 제시합니다. 시작하기 전에 CentOS 또는 ArchLinux 운영 체제가 설치된 VPS 또는 전용 서버를 주문해야 합니다 . 예제의 모든 작업은 고정 공용 IP 주소 하나를 사용하는 CentOS7 운영 체제의 전용 서버에서 수행됩니다.

설치

1단계

3proxy는 소스 코드에서 직접 설치됩니다. 컴파일러로는 gcc가 사용됩니다. 루트(슈퍼유저) 권한으로 서버에 접속하여 컴파일러를 설치합니다.

yum install gcc

2단계

이제 3proxy 소스 파일을 다운로드해야 합니다. 공식 웹사이트 에 접속하여 현재 버전의 링크를 복사하면 됩니다 .

유틸리티 설치

보관된 버전이 필요한 경우 GitHub 에서 직접 링크를 다운로드할 수도 있습니다.

Github에서 3proxy 설치

이 글을 쓸 당시 현재 버전은 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단계

카탈로그 작업을 위한 사용자를 생성합니다. 이 경우 사용자 이름은 3proxyuser입니다.

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

우리의 경우에는 다음과 같은 값이 있습니다.

uid와 gid

설정 파일을 작성하려면 미리 만들어진 설정 파일을 사용하거나 공식 웹사이트의 문서를 참조할 수 있습니다 . 또한 예제 파일이 기본적으로 설치되어 있으며, 해당 파일은 /cfg/3proxy.cfg.sample 경로에서 찾을 수 있습니다.

예시로 로깅을 활성화한 경우와 활성화하지 않은 경우 , 두 가지 설정 유형을 살펴보겠습니다 . 각 줄에는 주석(# 기호로 표시)이 함께 제공됩니다.

다음은 로깅 기능이 없는 미리 만들어진 설정 예시입니다.

# 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단계에서 생성한 사용자 이름을 지정해야 합니다.

그 후 다음 명령을 사용하여 데몬 구성을 업데이트해야 합니다.

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 연결은 첫 번째 포트에 있고, socks는 두 번째 포트에 있습니다.

편리한 서비스를 통해 연결을 확인하세요.

3proxy 설정 성공

모든 것이 정상적으로 작동하고 있습니다. 저희는 로그인/비밀번호 인증 없이, 그리고 표준 포트 세트를 사용하는 보안되지 않은 연결을 권장하지 않습니다 . 설정 파일을 구성할 때 로그인 정보를 지정하고 복잡한 비밀번호를 생성하며, 포트도 표준이 아닌 다른 포트로 변경하십시오 . 예외적인 경우에 한해 IP 주소 인증을 사용할 수 있습니다.

일반적인 문제

문제가 발생하여 프록시가 작동하지 않습니까? 아마도 3proxy 구성이 잘못되었을 것입니다. 유틸리티를 설치하고 구성하는 동안 가장 흔한 문제와 그 해결책을 고려해 보겠습니다.

연결 없음

많은 사용자에게 가장 흔한 문제는 구성 파일이 올바르게 구성된 것처럼 보일 때 액세스할 수 없는 연결입니다. 모든 설정이 올바르게 구성되었고 호스팅 제공자가 선택한 포트를 제한하지 않으며 모든 데이터가 작동하는 서비스를 나타내는 경우 문제는 방화벽에 있거나 더 정확히 말하면 잘못된 구성에 있을 수 있습니다. 예를 들어 서로 충돌하는 두 개 이상의 프로그램이 시스템에 설치되어 있을 수 있습니다. 문제를 해결하려면 특정 방화벽 하나만 사용하면 됩니다. iptables 또는 방화벽-cmd만 선택하는 것이 좋습니다.

서비스가 시작되지 않습니다

필요한 모든 설정 파일을 설치했는데도 서비스가 시작되지 않는 경우가 있습니다. 이는 설정 단계 중 일부가 누락되었거나, 적절한 권한이 부여되지 않았거나, 설정 파일에 사소한 오류가 있는 경우에 발생합니다. 단계별 지침을 다시 한번 꼼꼼히 살펴보시기 바랍니다. 혹시 단계를 놓쳤을 수도 있습니다. 그래도 문제가 해결되지 않으면 운영체제를 재설치하고 처음부터 모든 단계를 다시 수행하는 것이 좋습니다. 테스트 구성으로는 /cfg/3proxy.cfg.sample에 있는 샘플 파일을 사용하고, 방화벽으로는 기본 설치된 firewall-cmd를 사용하는 것을 권장합니다.

로깅

마지막으로, 그다지 중요하지 않은 문제는 파일 저장과 관련이 있습니다. 3proxy는 설치하는 동안 몇 MB가 걸리지만, 시간이 지남에 따라 로깅을 통해서만 크기를 상당히 늘릴 수 있습니다. 사실 많은 사용자가 별도의 파일에 로그 기록을 활성화하지만, 로테이션을 설정하지 않고 관련 없는 로그를 삭제하지 않습니다. 이 문제를 해결하는 데 세 가지 옵션을 사용할 수 있습니다.

  1. 로깅 활성화;
  2. 주기적으로 관련없는 로그를 삭제합니다.
  3. 위의 구성에서 한 것처럼 회전을 활성화합니다. 예를 들어, 구성 파일에서 "rotate 30"은 3proxy가 최신 30개 파일만 저장한다는 것을 의미합니다.

맺음말

CentOS 및 ArchLinux 운영 체제에 3proxy를 설치하고 구성하는 것은 매우 간단하지만 동시에 효과적인 작업입니다. 이 문서에서는 필요한 패키지를 설치하고, 구성 파일을 구성하고, 서비스를 시작하는 단계를 다루었습니다. 습득한 지식을 통해 어려움 없이 직접 프록시 서버를 설치하고 구성할 수 있습니다.

❮ 이전 기사 Windows 비밀번호를 재설정하는 방법
다음 기사 ❯ Windows OS에서 디스크 파티션을 늘리는 방법

VPS에 대해 문의하세요

저희는 언제든지 여러분의 질문에 답변할 준비가 되어 있습니다.