Konfiguracja serwera Squid na Debian Squeeze dla sieci opartej na MS Windows 2003 / 2008 Server, przy pomocy LDAP oraz uwierzytelniania Kerbelos.
W tym celu musimy skonfigurować następujące rzeczy:
Domena = example.local
Podsieć = 192.168.0.0/24
Server Proxy Ddebian: IP = 192.168.0.26, Nazwa = squidproxy.example.local
Windows Server 1: IP = 192.168.0.1, Nazwa = domaincontroller1.example.local (Kontroler domeny)
Windows Server 2: IP = 192.168.0.10, Nazwa = server2.example.local (Stacja testowa)
Do tego musimy posiadać zainstalowane dwa serwery 2003 (wykonać pierwszą konfigurację na Server 1, czyli zainstalować DNS, DHCP oraz AD, jak to zrobić znajdziesz: http://www.3xile.pl/publikacje/artykuly/windows-server-2003-cz-1, następnie wciśnij Ctrl+F, w wyszukiwarkę wpisz:„Zarządzanie tym serwerem”, od tego miejsca opisana jest konfiguracja potrzebnych nam funkcji ) oraz jeden Debian Sqeeze.
Jako, że IE po instalacji 2003 Server nie ma wyjścia do sieci (musimy włączyć Enable Integrated Windows Authentication): Opcje internetowe (Internet Options) -> Zaawansowane ustawienia (Advanced settings) -> Włączyć autodetekcję Proxy (Proxy Auto detection enabled). Prostszym wyjściem jest zainstalowanie innej nowszej przeglądarki, ja polecam Chrome’a.
1) Konfiguracja DNS – Debian Squeeze:
apt-get install dnsutils
Następnie na serwer (2003 Server IP:1) musimy dodać rekordy A (nazwa serwera) oraz PTR (zamienia IP na nazwę), jak to zrobić w linku: dodanie rekordu A oraz PTR.
Wracamy do Debiana, dodajemy wpisy naszych serwerów DNS z 2003 Server:
nano /etc/resolv.conf
ping domaincontroller1.example.local -c 4 && ping google.com -c 4
Jeżeli chcemy pobawić się tylko testowo, wykonujemy tylko pierwszą część pinga do …local -c 4
Sprawdźmy dodatkowo w jakim stanie jest rozwiązywanie nazw serwerów:
2) Skonfigurujmy czas wewnątrz naszej sieci (oczywiście trzeba mieć internet w sieci):
Powinniśmy otrzymać odpowiedź, że serwery otrzymały synchronizację czasową.
3) Dodanie Kerbelos’a:
[libdefaults]
default_realm = EXAMPLE.LOCAL
dns_lookup_kdc = no
dns_lookup_realm = no
ticket_lifetime = 24h
default_keytab_name = /etc/squid3/PROXY.keytab
; for Windows 2003
default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; for Windows 2008 with AES
; default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
; default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
; permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
EXAMPLE.LOCAL = {
kdc = domaincontroller1.example.local
kdc = server2.example.local
admin_server = domaincontroller1.example.local
default_domain = example.local
}
[domain_realm]
.example.local = EXAMPLE.LOCAL
example.local = EXAMPLE.LOCAL
4) Instalacja Squid’a:
apt-get install squid3 ldap-utils
cd /var/cache/apt/archives/
wget http://fuhm.net/software/msktutil/releases/msktutil_0.4-2_i386.deb
apt-get install libsasl2-modules-gssapi-mit libsasl2-modules
dpkg -i msktutil_0.4-2_i386.deb
cd
Musimy zainicjować sesję pomiędzy Debianem a serwerem:
kinit administrator
musimy podać hasła administratora dla domeny. Nie powinniśmy dostać żadnego błędu. Możemy sprawdzić to ewentualnie poleceniem klist.
Tworzymy obiekt Proxy w AD systemu Windows:
2003 Server:
msktutil -c -b „CN=COMPUTERS” -s HTTP -k /etc/squid3/PROXY.keytab –computer-name SQUIDPROXY
–upn HTTP/squidproxy.example.local –server domaincontroller1.example.local –verbose –enctypes 28
msktutil –auto-update –verbose
Jeżeli pojawiły się błędy dodaj do w/w polecenia: -k /etc/squid3/PROXY.keytab.
Następnie dodajemy do crona:
Internet Users | Opis: Użytkownicy mają dostęp do internetu . Dostęp nie jest zalogowany z pełnym dostępem do strony
Internet Users Full Log | Opis: Użytkownicy mają dostęp do internetu . Pełny dostęp poprzez przeglądarkę
Internet Users Full NoLog | Opis: Użytkownicy mają dostęp do internetu. Dostęp nie jest zalogowany z pełnym dostępem do strony
5) Startujemy Squid’a:
nano /etc/default/squid3
Dodajemy:
Dodajemy poniższy wpis do konfiguracji, zmieniamy na własną zaznaczone pkt :
-b „dc=example,dc=local”
touch /etc/squid3/whitelistsites.txt
touch /etc/squid3/blockedsites.txt
apt-get install apache2
nano /etc/apache2/conf.d/wpad.dat
Dodajemy do niego:
AddType application/x-ns-proxy-autoconfig .dat
nano /var/www/wpad.dat
function FindProxyForURL(url, host)
{
$proxy = „PROXY squidproxy.example.local:3128„;
// URLs within this network are accessed direct
if (isInNet(host, „192.168.0.0”, „255.255.0.0”)) {return „DIRECT”;}
if (isInNet(host, „172.16.0.0”, „255.240.0.0”)) {return „DIRECT”;}
if (isInNet(host, „10.0.0.0”, „255.0.0.0”)) {return „DIRECT”;}
if (isInNet(host, „127.0.0.0”, „255.0.0.0”)) {return „DIRECT”;}
//Return proxy for EVERYTHING else
else return $proxy;
}
invoke-rc.d apache2 restart
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).