Внешний Proxy сервер Squid в Ubuntu

/etc/squid/squid.conf

Если нужен доступ по паролю, с разрешённых хостов закоментить «http_access allow allowed_hosts» и раскоментить «http_access allow allowed_hosts allowed_users»
Если нужен доступ по паролю с любых хостов, убрать «allowed_hosts» из этой строки

Создать файл паролей (при добавлении следующего пользователя без «-c»):
sudo htdigest -c /etc/squid/passwd_digest ‘Сообщение при подключении’ username
Список разрешённых хостов в файле /etc/squid/allowed_hosts

В сетевых правилах открыть tcp 4080

Если ip клиента меняется, но есть доменное имя, можно его обновлять на сервере:

Создать скрипт /etc/init.d/getallowedip.sh и сделать его исполняемым:

sudo chmod +x /etc/init.d/getallowedip.sh

Добавить в задания cron, например запускать каждую минуту:

sudo crontab -e