Установим на нашем VPS-сервере HTTP-прокси сервер Squid:
# aptitude install squid3
Центральный конфигурационный файл прокси-сервера находится в файле /etc/squid/squid.conf, это довольно монстроидальный файл содержащий все возможные опции в закомментированном виде и его стоит скопировать на будущее для справки так сказать. Реально работающий конфиг небольшой и выглядит примерно вот так:
acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost acl vpnnet src 10.250.0.0/24 http_access allow vpnnet visible_hostname proxy-server http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320
Из интересного в этом конфигурационном файле только правила:
acl vpnnet src 10.250.0.0/24 http_access allow vpnnet
Именно ими мы и разрешаем работу с прокси сервером из нашей VPN-сети.
Если вам интересны более хардкорные примеры, то они есть у меня и я могу ими поделиться, но для этого мне надо будет арендовать прокси в Америке с поддержкой пула IPv6-адресов (могу показать проект с рандомными IPv6-проксями на разных портах) и внизу странички есть формочка как меня задонатить на этот подвиг.