Ubuntu Linux에서 브라우저 트래픽을 프록시 서버로 전달하는 방법을 알아야 할 이유는 다양합니다. 보안이 취약한 공용 무선 네트워크에서 인터넷을 사용하거나, 직장에서 자신의 인터넷 사용 내역이 노출되는 것을 원하지 않을 수도 있습니다. 이유가 무엇이든, 기본적인 컴퓨터 활용 능력과 집이나 회사에 프록시 역할을 할 시스템을 구축할 수만 있다면 요즘은 생각보다 간단하게 설정할 수 있습니다.
프록시란 무엇인가?
간단히 말해 프록시(proxy)는 브라우저가 인터넷에서 웹페이지나 기타 웹 콘텐츠를 요청할 때 거치는 중간 경유지입니다. 많은 기업들이 합법적으로 프록시를 사용하는데, 보안 목적의 경계 통제, 백신·악성코드 방어 솔루션으로서의 역할, 그리고 직원들의 인터넷 사용 정책 준수 여부 확인 등을 위해 콘텐츠를 필터링합니다.
브라우저가 요청을 보내면 먼저 프록시 서버에 접속합니다. 프록시 서버가 캐시 기능도 함께 제공한다면 로컬 캐시에 해당 콘텐츠가 이미 있는지 확인하고, 있다면 로컬에서 바로 제공하여 브라우징 속도를 크게 높일 수 있습니다. 캐시에 없다면 일반 웹에 콘텐츠를 요청합니다.
1. 가장 쉬운 방법: SSH 터널 활용하기
Ubuntu에서 프록시를 만드는 '가장 쉬운' 방법은 SSH를 통해 터널을 구축하는 것입니다. 이 방식은 오랫동안 검증된 방법으로, 지금도 동일하게 적용됩니다.
먼저 SSH 접근이 가능한 Ubuntu 서버가 있어야 합니다. 집이나 회사의 인터넷 연결, 또는 프록시를 두고 싶은 어느 곳에든 서버를 두면 됩니다.
서버 설정이 완료되면 SOCKS 프로토콜을 사용해 브라우저가 모든 정보를 해당 프록시 위치에서 가져오도록 지시하면 됩니다.
이 방법은 Tomato나 DD-WRT처럼 SSH를 지원하는 무선 공유기가 있는 경우에도 동일하게 작동한다는 장점이 있습니다.
2. 웹 프록시 활용하기
두 번째 방법은 웹 프록시를 사용하는 것입니다. Ubuntu 시스템이 웹사이트를 서비스하도록 설정되어 있다면 GlypeProxy라는 웹 애플리케이션을 설치하여 브라우징 세션의 프록시 역할을 하게 할 수 있습니다. 자신의 Ubuntu 시스템에서 웹 서버를 운영 중이라면 같은 방식으로 적용할 수 있습니다.
이 방법에는 장단점이 있습니다. 장점은 웹 프록시를 사용하기 위해 자신의 브라우저 설정을 수정할 필요가 없다는 점입니다. 브라우저 옵션에서 프록시 서버를 지정할 수 없는 환경이라면 이 점이 필수적입니다.
반면 단점도 분명합니다. 웹 서버가 SSL 암호화를 사용하도록 설정되어 있지 않으면 매우 불안전합니다. 사용자 컴퓨터의 트래픽을 감시하는 사람이라면 누구든 콘텐츠를 아무 문제 없이 열람할 수 있습니다.
3. 설치는 복잡하지만 기능이 강력한 프록시
좀 더 전문적인 구성을 원한다면 Ubuntu Linux 머신에 '진짜' 프록시 서버를 설치할 수 있습니다. 프록시 소프트웨어는 앞서 언급한 여러 문제들을 해결하기 위해 특별히 개발되었으며, 선택할 수 있는 소프트웨어도 매우 다양합니다.
여기서 살펴볼 프록시는 크게 두 가지 유형입니다. 첫 번째는 '일반(normal)' 프록시로, 브라우저에 프록시 정보를 직접 입력해야 웹 브라우징에 적용됩니다. 두 번째는 '투명(transparent)' 프록시로, 브라우저 설정에서 지정하지 않아도 모든 웹 트래픽이 해당 머신을 거치도록 작동합니다.
Ubuntu에서 실제 프록시 서버를 구축할 때는 보통 Squid라는 소프트웨어가 중심이 됩니다. Squid는 인터넷 전반에서 폭넓게 사용되는 오픈소스 프록시 서버로, 설치와 설정이 비교적 쉽습니다. 아래 명령으로 설치한 후 설정 파일을 편집합니다:
$ sudo apt-get install squid3 $ vi /etc/squid3/squid.conf
그리고 설정 파일에 다음 내용을 추가합니다:
http_access allow local_net acl local_net src 192.168.0.0/255.255.255.0
여기서 192.168.0.0은 사용자의 로컬 네트워크 주소입니다. Squid를 재시작하면 기본적인 프록시 서버 구축이 완료됩니다. 이후 브라우저 설정에서 웹 프록시 포트 3128과 Ubuntu 시스템의 IP 주소를 지정하면 됩니다.
프록시 서버 설정은 더욱 다양하게 확장할 수도 있습니다. Howtoforge에서는 Squid를 Dansguardian 및 ClamAV와 함께 구성하여 백신 및 악성코드 방어 기능까지 갖추는 훌륭한 튜토리얼을 제공하고 있으니 참고해 보세요.
자신에게 맞는 방법을 선택하세요
쉬운 방법부터 전문적인 구성까지, 어떤 종류의 프록시 서버가 필요하든 Ubuntu로 충분히 구현할 수 있습니다. 상황과 목적에 맞는 방법을 선택해 안전하고 쾌적한 인터넷 환경을 만들어 보세요!