Про сквид все просто:
Ставим Squid с поддержкой LDAP
Далее правим squid.conf
Если предполагаем доступ без групп:
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "o=SKBKontur" -h 192.168.100.3 -f "(&(cn=%s)(objectClass=Person))" -s sub
С группами:
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "o=SKBKontur" -h 192.168.100.3 -D cn=Admin,o=SKBKontur -w 12345 -f "(&(cn=%s)(objectClass=Person)(securityequals=cn=Squid,o=SKBKontur))" -s sub
или
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "o=SKBKontur" -h 192.168.100.3 -D cn=Admin,o=SKBKontur -w 12345 -f "(&(&(cn=%s)(objectClass=Person))(securityequals=cn=Squid,o=SKBKontur))" -s sub
или
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "o=SKBKontur" -h 192.168.100.3 -D cn=Admin,o=SKBKontur -w 12345 -f "(&(cn=%s)(objectClass=Person)(|(securityequals=cn=Squid,o=SKBKontur)))" -s sub
или много групп
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "o=SKBKontur" -h 192.168.100.3 -D cn=Admin,o=SKBKontur -w 12345 -f "(&(cn=%s)(objectClass=Person)(|(securityequals=cn=Squid,o=SKBKontur)(securityequals=cn=Squid1,o=SKBKontur)(securityequals=cn=Squid2,o=SKBKontur)))" -s sub
Пишем ACL'ки:
acl ldap proxy_auth REQUIRED
acl vpn_kontur_src src 192.168.201.0/255.255.255.0
http_access allow vpn_kontur_src
http_access allow ldap
УСЁ !!!
ACL vpn_kontur_src как раз под VPN написана, ибо у нас с рабочих станция до сервере VPN тунель, а далее Squid, NAT и еще куча всего.
P.S:
o=SKBKontur - BaseDN
192.168.100.3 - IP NW сервера
cn=Admin,o=SKBKontur - ну это понятно
12345 - пароль админа
cn=Squid,o=SKBKontur
cn=Squid1,o=SKBKontur
cn=Squid2,o=SKBKontur - это группы членам которых разрешено ходить в инет.
Почему в случае с группами нужно авторизоваться админом (лучше конечно же завести другого юзера) потому что нужно читать аттрибут securityequals а его при анонимном подключении читать нельзя.
Про остальное (VPN и NAT) и единой регистрации я уже раз 5-10 писал на форуме, поищите по слову squid и найдете массу всего
Например: http://novell.org.ru/forum/viewtopic.php?t=5254