다행히도 나에게는 ssh 접속이 가능한 서버들이 몇대 있는데 이 서버들은 아주 빠른 네트웍에 물려 있다. (kidc안에 있음) 나는 이 서버의 일반 계정으로 프록시 서버를 설치하고 프록시 포트를 ssh를 사용해 로컬 포트로 포워딩하고 있다. 이때 사용되는 tcp 트래픽은 ssh에 의해 압축된다.
프록시 서버 역할을 할 프로그램들은 일반 계정으로도 사용할수 있는 작으며, 서버에 부하를 주지않으며, 쉽게 설정가능한 것들을 찾아보았다. 다음 두가지를 테스트 해보았는데 모두 잘 작동했다.
tinyproxy는 이름 그대로 작은 http 프록시 서버이다. 소스를 받아 컴파일 한후에 다음과 같이 설정 파일을 만든다.
# tinyproxy.conf Port 8080 Allow 127.0.0.1 Timeout 600 Logfile "/tmp/proxy.log" LogLevel Connect PidFile "/tmp/proxy.pid" MaxClients 50 MinSpareServers 5 MaxSpareServers 10 MaxRequestsPerChild 0 |
위 설정파일은 프록시 서버가 8080 포트를 사용하며, localhost에서의 접속만을 허용하는 것으로 되어있다. 실행은 tinyproxy -c tinyproxy.conf 로 해준다.
socks 4/5 를 지원하는 nylon을 사용하려면 다음과 같은 설정파일을 사용한다.
# nylon.conf [General] No-Simultaneous-Conn=10 Log=1 Verbose=0 PIDfile=/tmp/nylon.pid [Server] Port=8080 Allow-IP=127.0.0.0/24 |
역시 로컬 호스트에서의 접속만을 허용하며 8080 포트를 사용하도록한 설정 파일이다. 실행은 nylon -c nylon.conf 로 한다.