Radius a kontrola NASu

Michal Dobes dobes na tes.eu
Pátek Červen 12 19:56:18 CEST 2009


Jan Krajdl napsal(a):
> Mám několik bezdrátových APček a Radius server, který bere uživatelskou
> databázi z LDAPu. Po chvíli hraní se mi to povedlo nakonfigurovat tak,
> že při připojení na APčko si Radius jméno/heslo porovná z LDAPu a podle
> toho přístup povolí nebo ne. Komplikace mi nastává tím, že bych
> potřeboval omezovat to, kdo se na které AP smí připojit. Z toho, co
> chodí Radiusu jsem usoudil, že podle Called-Station-Id lze bez problémů
> identifikovat, o které APčko se jedná. Ale nevím, jak jej nacpat do
> LDAPu - ve schématu do LDAPu je tato hodnota jako single,  takže k
> jednomu uživateli můžu zadat pouze jednu hodnotu Called-Station-Id.
> Řešením by asi bylo upravit schéma do LDAPu, ale nepřijde mi to jako
> úplně vhodné řešení... (nicméně mě taky zaráží třeba to, že ve schématu
> chybí radiusNASIpAddress, ačkoliv v default konfiguraci freeradiusu v
> ldap.attr je namapován...). Zná někdo tedy nějaké vhodné řešení, jak do
> LDAPu ukládat k jednotlivým uživatelům seznam Called Station Id, ze
> kterých mají přístup povolen?

Přes členství ve skupinách. Udělejte si skupiny (v nejhorším co skupina
to jedno AP) a ověřujte, zda je daný uživatelem členem skupiny
přiřazené k danému AP a ověřovanou skupinu vybírejte dle toho, odkud
přišel dotaz. Uživatle může být ve více skupinách bez problémů.

Takže v sekci pro ldap je zajímavá položka groupmembership_filter. Pro
moje schéma (sambaSamAccount) vypadá takto:
groupmembership_filter = "(&(objectClass=posixGroup)(memberUid=%
{Stripped-User-Name:-%{User-Name}}))"

A pak v users dát třeba něco na styl:
DEFAULT Client-IP-Address=="1.2.3.4", Group=="Pristup_AP1", Autz-Type:=LDAP
DEFAULT Client-IP-Address=="2.3.4.5", Group=="Pristup_AP2", Autz-Type:=LDAP
[.....]
DEFAULT Auth-Type := Reject

M.



Další informace o konferenci Linux