HTTP Proxy Server 구축하기

NAS에 HTTP 프록시 서버 구축하기입니다.

 

사용 모델: Synology DS209+II

 

1. 부트스트랩 설치

이부분은 나스 사용자에게만 해당되는 부분입니다. 일반적으로 나스의 경우 제조사에서 필요한 프로그램들만 설치되어 있기 때문에 사용자가 필요로 하는 추가 프로그램을 설치하기 위해서 부트 스트랩이 필요합니다.

부트스트랩은 사용하는 모델에 따라 방법이 달라집니다.

이 팁에서는 설치 과정은 생략합니다. 각자 알아서 설치하시기 바랍니다.

 

2.  tinyproxy 설치

텔넷 또는 SSH 클라이언트로 서버에 접속(root 사용자로 로그인, 암호는 admin과 동일하게)하여 아래 명령을 내립니다.

[dropshadowbox align=”none” effect=”lifted-both” width=”650px” height=”” background_color=”#000000″ border_width=”1″ border_color=”#dddddd” rounded_corners=”false” inside_shadow=”false” outside_shadow=”false” ]

fs> ipkg update       (생략 가능)

fs> ipkg upgrade    (생략 가능)

fs> ipkg tinyproxy

[/dropshadowbox]

 

3. tinyproxy 설정

  • tinyproxy가 사용할 포트, 로그 기록, 접속 허용 클라이언트 아이피 등 설정(/opt/etc/tinyproxy.conf)

[dropshadowbox align=”none” effect=”lifted-both” width=”650px” height=”” background_color=”#000000″ border_width=”1″ border_color=”#dddddd” rounded_corners=”false” inside_shadow=”false” outside_shadow=”false” ]

# 기본 포트는 8888입니다. 기본 설정으로 사용할 경우 수정하지 않아도 됩니다.

Port 8888

#로그 파일의 위치는 기본으로 주석처리되어 있습니다. 위치를 변경하고자할 경우 #을 삭제하여 활성화합니다. 활성화하기 않아도 기본 위치에 로그는 기록됩니다.

#LogFile “/opt/var/log/tinyproxy/tinyproxy.log”

# 로그 레벨을 설정합니다.  Critical, Error, Warning, Notice, Connect, Info 중 하나

LogLevel Info

# 접속을 허용할 클라이언트의 아이피 주소 설정, 기본으로 로컬에서만 접속 가능하게 127.0.0.1만 있으니, SSH 터널링이 아닌 원격지에서 직접 연결하고자할 경우 해당 아이피 또는 범위를 등록합니다.

Allow 127.0.0.1

Allow 123.456.789.11
Allow 58.151.123.1/24

[/dropshadowbox]

 

  • 로그 및 프로세스 아이디가 기록될 폴더 생성

[dropshadowbox align=”none” effect=”lifted-both” width=”650px” height=”” background_color=”#000000″ border_width=”1″ border_color=”#dddddd” rounded_corners=”false” inside_shadow=”false” outside_shadow=”false” ]

fs> mkdir /opt/var/log/tinyproxy
fs> chmod 777 /opt/var/log/tinyproxy/
fs> mkdir /opt/var/run/tinyproxy
fs> chmod 777 /opt/var/run/tinyproxy/

[/dropshadowbox]

 

4. tinyproxy 실행

  •   간단히 아래 명령만 내려주면 실행됩니다.

[dropshadowbox align=”none” effect=”lifted-both” width=”650px” height=”” background_color=”#000000″ border_width=”1″ border_color=”#dddddd” rounded_corners=”false” inside_shadow=”false” outside_shadow=”false” ]

fs> tinyproxy

[/dropshadowbox]

 

  • 나스 시작 시 자동 실행되게 하기

아래 명령을 그대로 내립니다.

[dropshadowbox align=”none” effect=”lifted-both” width=”650px” height=”” background_color=”#000000″ border_width=”1″ border_color=”#dddddd” rounded_corners=”false” inside_shadow=”false” outside_shadow=”false” ]

fs> cd /opt/etc/init.d

fs> wget -O S88tinyproxy http://nethard.fft.kr/bloc/common/tinyproxy/?download=S88tinyproxy

fs> chmod 755 S88tinyproxy

[/dropshadowbox]

 

5. 공유기 포트포워딩 설정

3번째 단계에서 설정한 tinyproxy의 포트(기본 8888)를 외부에서 접속할 수 있게 포워딩해줍니다.

특정 TCP 포트를 나스의 tinyproxy 포트로 포워딩하면 됩니다.

SSH 터널링 등으로 접속하고자할 경우에는 이 과정은 생략 가능합니다.

포트포워딩
포트포워딩

 

6. 클라이언트 프록시 설정

HTTP 프록시를 사용하는 PC 버전의 카카오톡으로 테스트 해보겠습니다.

아래와 같이 설정 후 로그아웃 후 재시작합니다. 그냥 종료하고 재시작하면 안되고, 반드시 로그아웃해야 적용됩니다.

카카오톡 프록시 설정

 

아래는 프록시 사용하기 전의 통신 패킷 정보입니다. 원격의 아이피 주소가 카카오톡 서버의 아이피 주소로 표시됩니다.

프록시 적용 전

 

아래는 프록시 서버 적용 후의 통신 패킷 정보입니다. 제 서버의 아이피로 나옵니다. 즉, 제대로 적용되었다는 것입니다.

프록시 적용 후

 

아래는 SSH 터널링을 이용한 프록시 서버 적용 후의 통신 패킷 정보입니다. 127.0.0.1로 표시됩니다.

프록시 적용 후(SSH 터널링)

 

This Post Has One Comment

  1. DSM 5.x에서는 Proxy Server 패키지를 설치하면 간단합니다.
    설정 UI도 지원되어서 쉽게 할 수 있습니다.

댓글 남기기

Close Menu
%d 블로거가 이것을 좋아합니다: