Ubuntu Proxy Server, Squid3 간단 설치

 접근이 불가능한 사이트를 접근을 하기 위해 우리는 보통 프록시 서버(Proxy Server)를 통한다고 말한다. 프록시 서버를 이용한다는 개념은 내가 원하는 자료를 프록시 서버를 통해서 접근을 한다는 의미다.
일반 개념: 사용자 -----> 웹사이트
프록시 개념: 사용자 ----> 프록시 서버 ----> 웹사이트
 사이트 차단의 기본 원리는 사용자가 접근하고 있는 곳의 주소를 가지고 차단을 한다. 그런데 사용자가 프록시 서버를 거치게 되면 사용자가 접근하고 있는 주소가 프록시 서버가 됨으로써 사이트 차단을 회피할 수 있게 된다.

 프록시 서버를 이용함에 있어서 사이트를 회피 할 수 있다는 장점은 있지만, 프록시 서버를 통해서 사이트에 자신의 로그인 정보를 넣는 것은 위험하다고 한다. 자신의 행위가 프록시 서버에 다 기록이 남기 때문이다. 신뢰할 수 있는 프록시 서버가 없다면 자신만의 프록시 서버를 만들어 보자.

 우분투에서 Squid3를 이용하여 프록시 서버를 구축하는 간단한 방법을 알아보자.

1. Squid3 설치
$ sudo apt-get install squid3
2. 원본 설정파일 보관을 위해서 config 파일 복제
$ sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.original
$ sudo chmod a-w /etc/squid3/squid.conf.original
3. vi로 설정 변경
$ sudo vi /etc/squid3/squid.conf 
4. vi 편집 상태에서 외부 접근 허용하기. 대략 809라인. manager와 localhost만 접근을 허용한다는 의미를 설정 정보(2,3번째라인)에 #을 붙여 주석 처리를 한다. 그리고 모든 접근을 허용한다는 의미의 "http_access allow all"를 추가하자. 완료 후 코드는 다음과 같다.
http_access allow all
# http_access allow manager localhost
# http_access deny manager
5, Squid3 재시작
$ sudo /etc/init.d/squid3 restart
 이런 과정을 통하면 쉽게 우분투 서버를 프록시 서버로 이용이 가능하다. 열려있는 포트 번호는 설정 파일의 http_port 부분에서 확인가능하다.
Squid3 기본 포트 : http_port 3128
 다음 명령을 통해서 해당 포트가 정상적으로 동작하는 확인이 가능하다.
$ netstat -a | grep 3128
 아래처럼 결과에 LISTEN 이 나온다면 서버쪽의 Squid3은 정상적으로 동작하는 것이다.
tcp        0      0 *:3128                  *:*                     LISTEN
 클라인트에서 서버로 접근이 가능한지는 tcping.exe 와 같은 프로그램으로 간단히 확인할 수 있다.
tcping.exe 다운받기: http://www.elifulkerson.com/projects/tcping.php
 위 링크에서 프로그램을 다운 받은 후, cmd 창에서 다음과 같이 입력하면된다.
tcping daum.net 80
 Squid에 관한 좀더 자세한 사항은 다음 링크를 참고하자.
Squid - Proxy Server : https://help.ubuntu.com/community/Squid
 추가.
 집에서 공유기와 라즈베리파이를 이용하여 프록시서버를 구축하기 위해선 공유기의 "포트포워드"기능을 이용해야 한다. 아래의 링크를 참고하여 "3128" 포트를 라즈베리파이에 할당된 IP로 포워딩을 하면된다.
라즈베리파이 웹서버 설치하기 : http://www.withover.com/2014/12/nginx-php5-mysql.html