본문 바로가기

네트워크 서버 구축 실무

프록시 서버 설치와 운영(페도라의 Squid 프록시서버)

프록시는 단어 그대로 '대리인'의 역할을 하는 서버다. 웹 환경에서 프록시 서버의 역할은 웹 클라이언트와 웹 서버 사이에서 요청한 데이터를 전달하는 것이다. 이때 프록시 서버는 웹 서버에서 가져온 데이터를 웹 클라이언트에게 전송한 후 데이터를 캐시에 저장한다.

여기서는 프록시 서버 중에서 페도라에서 제공되는 Squid 프록시 서버를 설치해보겠다.

[STEP 1] Squid 프록시 서버를 설치하고 저장하자.

1-1. squid 패키지 설치 확인 후 설치가 안되어 있으면 yum 명령어를 통해 설치한다.

1-2. vi에디터나 gedit 으로 설정 파일인 /etc/squid/squid.conf 파일을 간단히 수정한다.

26행쯤 추가 : acl    fedora19    src    192.168.35.0/255.255.255.0

54행쯤 추가 : http_access    allow    fedora19

제일 아래 추가 : visible_hostname    fedora19 

aclAccess Control List의 약자로 모든 컴퓨터가 아닌 지정된 컴퓨터나 네트워크만 프록시 서버에 접근할 수 있도록 제한하는 구문이다. 여기서는 192.168.35.0 네트워크 컴퓨터를 fedora19 라는 이름으로 지정했다. http_access allowdeny를 설정할 수 있는데, 이 예에서는 fedora19 이름으로 설정된 네트워크의 접근을 허용하는 것이다. visible_hostname네트워크의 이름을 외부에 보이도록 설정하는 것인데 별로 중요하지는 않다. 또, 59행쯤에 Squid는 기본적으로 3128번 포트를 사용하는 것으로 되어 있다. 필요하다면 이 포트를 8080 등으로 변경해도 된다.

1-3. 'firewall-cmd' 명령어를 통해 방화벽에서 Squid 포트번호인 3128번을 추가해준다.

1-4. 다른 리눅스 또는 윈도우에서 프록시서버 설정 후 웹브라우저를 통해 접근해보자.

[STEP 2] 리눅스 클라이언트를 통해 프록시 서버를 설정 후 테스트 해보자.

2-1. Firefox를 실행한 후, 메뉴의 [편집]->[환경설정]을 선택하고, [Firefox 환경 설정]에서 [고급]->[네트워크] 탭을 선택한 후, <설정> 버튼을 클릭한다. [연결설정]에서 [프록시 수동 설정]을 선택한 후, [HTTP 프록시]에 프록시 서버(Server)의 주소를 입력하고 [포트]에는 '3128'을 입력한다. 그리고 아래에 있는 [모든 프로토콜을 ~~]의 체크를 켠다. 설정이 완료되면 <확인> 버튼을 클릭하고, 다시 <닫기> 버튼을 클릭해서 마친다.

2-2. 웹 브라우저를 닫고, 다시 실행해서 아무 사이트나 들어가보자. 오류 메시지가 나올 것이다. 아직 프록시 서버를 가동하지 않아서 나오는 메시지다.

[STEP 3] Squid 프록시 서버를 가동하자.

3-1. 'systemctl restart/status/enable squid'를 차례로 입력해 squid 서비스를 시작/상태 확인/상시 가동하게 하자.

[STEP 4] 윈도우 클라이언트를 통해 프록시 서버를 설정 후 테스트 해보자.

4-1. 인터넷익스플로러를 실행하고, [도구] 아이콘이나 메뉴의 [도구]->[인터넷옵션]을 선택하고 [연결]탭을 클릭한다. 그리고 <LAN 설정>을 클릭한 다음 [프록시 서버] 항목에서 [사용자 LAN에 프록시 서버~~]의 체크를 켜고, [주소]에는 프록시서버의 주소를, [포트]에는 3128을 입력해 프록시 서버를 설정한다.