Po zabawie z grupami okazało się, że niektórzy użytkownicy nie mogą wysyłać poczty przez linuxowy serwer SMTP.
W logach AD wszystko było w porządku, użytkownicy się uwierzytelniani i generalnie luz malina, do tego IMAP i POP3 działały bez problemu. Za to w logach Linux pojawiało się AUTH_FAIL i nie bardzo było wiadomo o co chodzi. Debug na Linux powiedział, że datagram Kerberos jest za długi a dokładniej serwer Kerberos odpowiadał komunikatem KRB_ERR_RESPONSE_TOO_BIG. Ponoć coś takiego dzieje się jak użytkownik jest w dużej liczbie grup, jednak u nas problem pojawiał się dla niektórych członków pewnej grupy.
Rozwiązanie, którego wyszukanie zajęło Pstrykowi pół dnia:
- Ustawić KRB5 tak żeby używał tylko TCP co teoretycznie powinno rozwiązać problem.
W pliku krb5.conf należy wpisać
udp_preference_limit = 1
Jednak mimo tego Linux cały czas usiłował przesyłać datagramy UDP zamiast pakietów TCP przez co cały czas Windows odpowiadało KRB_ERR_RESPONSE_TOO_BIG - Zwiększyć na Windowsowym serwerze Kerberos maksymalny rozmiar datagramu UDP
HKLMSystemCurrentControlSetServicesKdc
Dopisać REG_DWORD MaxDatagramReplySize i wpisać mu odpowiednio dużą wartość (my wpisaliśmy 10000 – standardowo jest to 2000) - Restart Windows i cieszyć się, że działa
Wada: nie róbcie tego na kiepskich łączach bo Kerberos się zagubi jak mu będą ginąć datagramy. U nas to stoi w wydzielonym VLAN do kerberosa pomiędzy serwerem poczty a kontrolerem domeny więc nie ma tego problemu.
Nie ma linków popierających bo to kompilacja dużej liczby artykułów
BTW na połączeniu Mac OS X – AD problem też występuje