구축환경: Ubuntu 14.04 LTS (VirtualBox)


VirtualBox에 프록시 서버를 구축했다.

내 PC의 사설 주소가 192.168.0.x라서,

가상머신 설정 - 네트워크 - NAT - 고급 - 포트포워딩에 다음과 같은 규칙을 추가했다.

Squid 프록시 서버가 TCP/UDP 3128 포트를 사용한다고 해서 두개 다 추가했다. 


https://packages.ubuntu.com/source/trusty/squid3 에서 소스 패키지를 다운 받아, 압축을 풀고

./configure -> make -> make install 명령어를 차례로 사용하여 설치한다.


/usr/local/squid/etc/squid.conf 파일에 다음과 같은 내용을 추가한다. (책 '이것이 우분투 리눅스다' 참고)

acl myserver src 192.168.0.0/255.255.255.0    #Access Control List에 myserver라는 이름의 192.168.0.0 네트워크를 추가

http_access allow myserver                        #myserver라는 이름의 네트워크 접근 허용

cache_dir ufs /var/spool/squid 1000 16 256    #캐시할 디스크 지정. ufs: 스퀴드용 파일 시스템으로 지정

#10000: MB 단위로 캐시할 데이터공간 지정 16: 캐시에서 사용할 하부 디렉터리 개수 지정

#256: 앞 16개 디렉터리 안에 다시 생성할 디렉터리 개수 지정

visible_hostname myserver                        #네트워크 이름을 외부에 보이도록 설정


바로 서버를 켜려고 하니까 permission 오류가 난다.

Squid는 기본적으로 nobody라는 user로 실행된다고 해서,

/usr/local/squid/var/logs/cache.log를 생성해서 허가권을 모두 줬다.


그 후에도 켜지지 않아서 시스템 로그를 보니, 처음 Squid를 실행하는 경우엔

/usr/local/squid/sbin/squid -z

명령어를 사용해서 swap directory 라는 것을 만들어주라고 한다.

swap directory는 /var/spool/squid/에 만들어지니 이 디렉터리에 대한 허가권도 nobody에게 준다.


그리고서

/usr/local/squid/sbin/squid

명령어로 Squid 서버를 켜니 잘 돌아간다.


테스트를 위해 내 PC의 설정 - 네트워크 및 인터넷 - 프록시에서

자동 프록시 설정은 꺼주고,

수동 프록시를 아래와 같이 설정하고 저장했다.


Squid가 켜져있는 상태에서는 웹 사이트에 잘 접속이 되고,

꺼져있을 때는 접속이 되지 않는 것을 확인하면 프록시 서버가 잘 돌아가는 것이다.


+ Recent posts