A probléma a következő: Debian on fut egy Freeradius szerveren. A rootereken saját fejlesztésű Openwrt alapú disztribució, chillispot-al. A rooteren DDns ez-ipupdate fut, egy PPPOE ADSL DHCP-vel kiosztott interneten. A rendszer rendben működik, de van egy két dolog amikre nem igazán tudtam értelmes megoldást találni:
- A freeradius-ban (client.conf) domain (dyndns) azonosítja a client-et. Ha a rooternek megváltozik a IP-je, (reboot stb.) akkor a rooter átállítja a DDNS IP címet, de a freeradius csak újratöltés után kéri le az aktuális IP címet. (Jelenleg a crontab-ban van beállítva a reload)
- Az adatbázisban (radcheck) Simultaneous-Use:=1 használok, hogy egyszerre csak 1 felhasználó tudja használni az elérést. Ha megszakad a kapcsolat akkor a RadAcct session tovább él, tehát nem tud ismét bejelentkezni a user. Meg lehet -e adni valahol hogy a freeradius valami Session Life Time alapján lezárja a megszakadt kapcsolatokat? Nyilván elsősorban a chillispotban kéne ezt megoldani, de az internet kapcsolat megszakadása esetén ismét megmarad a probléma.
Ha valakinek van valami megvalósítható őtlete, szívesen olvasnám...
- 5003 megtekintés
Hozzászólások
A rootereken saját fejlesztésű Openwrt alapú disztribució, chillispot-al.
Hozzá lehet férni az itt említett disztribhez? :)
- A hozzászóláshoz be kell jelentkezni
Igen ez vicces... Nos félretéve a viccet, nem a rooteren van a hangsúly, hanem a radiuson, és a jövőben sem lehet hozzáférni rooteren lévő programokhoz, csak nekem :)
Csupán csak az a kérdésem, hogy tud -e valaki valami paramétert a freeradiusban arra, hogy amikor a user logout nélkül lép ki a rendszerből, akkor az adatbázisban az AcctStopTime ne maradjon '0000-00-00 00:00:00' és ha lehet akkor az AcctSessionTime se maradjon '0' ? Vagy ehez scriptet kell írnom? És ehez egy nálamnál szakavatottabb freeradius Guru tapaszatalata szükséges...
- A hozzászóláshoz be kell jelentkezni
csak nekem :)
Lehet, hogy félreértettél? Engem a firmware érdekel és nem a routered login adatai! Miben tér el az openwrt-től a te általad használt változat?
- A hozzászóláshoz be kell jelentkezni
Igen valóban félreértettem a covek beírását, mert nem igazanán a rooterre fokuszáltam, hanem a radiusra. A wrt amit gyártottam rá, annyiban tér el az alap openwrt white russian rc5 -től kiindulva került fel 4-5 db saját alaklmazás: SOAP egy Cube Cart illetve a OS commerce webáruházokhoz, WEB interface, tűzfal át lett konfigolva, stb. Az eszköz a központi szerverről kapja meg a beállítási információkat pl. hosztnevet, az radius auth paramétereket stb. A megrendelői igény az volt hogy csak a minimális PPP vagy PPPOE beállításokat keljen beállítani a felhasználónak, amit lehet a rendszer automatikusan végezzen el.
A cél az volt hogy olyan prémium Hostspot rendszer készüljön el amibe az eshop vagy az üzlettulajdonosok beregisztrálhatnak, ezután egy FW flashel felraják az asus, wrt54g eszközökre a scripteket; kirakják az access pointokat az üzletükbe ami nyitva áll mindenki számára és annyi nethozzáférést kapnak a vásárlók amennyit vásároltak. Mint mondtam az FW openwrt alapokról indult, és lett belőle az ami lett egy hibrid-wrt.
Most egy freeradiuson tudom teszetlni a rooter(eket), ezért lenne fonotos belőnöm a szervert.
Azt megköszönném a ventura -nak, ha utána nézne...
- A hozzászóláshoz be kell jelentkezni
meg lehet csinálni, mert annó megcsináltuk, ha jól emléxem.
bár már régen volt, de ha addig nem talán hétfőn utána tudok
nézni hogy hogyan oldottuk meg.
Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7
- A hozzászóláshoz be kell jelentkezni
Lehet hogy meg van a megoldás és a Fall-Through := 1 lesz az én barátom?
Danke
- A hozzászóláshoz be kell jelentkezni
Ha valakit érdekel, akkor azt is leírom hogy miként lehet a Freeradiust rábírni arra hogy a MySQL-ből vegye a kliensek nas paramétereit. Visszagondolva triviális, nekem mégis ráment egy napom, de most már látom hogy én sem vagyok tökéletes:
/etc/freeradius/sql.conf:
readclients = yes
míg az adatbázisban:
CREATE TABLE `nas` (
`id` int(10) NOT NULL auto_increment,
`nasname` varchar(128) NOT NULL default '',
`shortname` varchar(32) default NULL,
`type` varchar(30) default 'other',
`ports` int(5) default NULL,
`secret` varchar(60) NOT NULL default 'secret',
`community` varchar(50) default NULL,
`description` varchar(200) default 'RADIUS Client',
PRIMARY KEY (`id`),
KEY `nasname` (`nasname`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
nasname: pl. a hostname vagy az IP
shortname: nasid
type: other
secret: radius secret
a többit meg ki lehet találni.
Talán valakinek segítettem, vagy magamnak, ha pár hónap múlva megint elfelejteném :)
- A hozzászóláshoz be kell jelentkezni
Hello!
Egy freeradius-mysql-t próbálok beállítani, ez alapján: http://wiki.mikrotik.com/wiki/RouterOs_MySql_Freeradius
Minden beállítva, adatbázisban benne a jelszavak, de mégsem fogadja el őket:
radtest kimenet, clients.conf, log, és radcheck tábla dump itt: http://molnarp.pastebin.com/m773ec256
Mit rontok el? Miért nem fogadja el a jelszót?
Petya
- A hozzászóláshoz be kell jelentkezni
valaki?
- A hozzászóláshoz be kell jelentkezni
Be kéne másolnod a logokat is. /var/log/radius vagy valami hasonló helyről.
- A hozzászóláshoz be kell jelentkezni
Nem tudunk meg belőle sokat:
Mon Nov 19 20:42:41 2007 : Auth: Login incorrect: [teszt/teszt] (from client localhost port 10)
Mon Nov 19 20:42:41 2007 : Auth: Login incorrect: [teszt/teszt] (from client localhost port 10)
Esetleg log levelt lehet ezen állítani?
Petya
- A hozzászóláshoz be kell jelentkezni
Első blikkre megnézném hogy jó porton próbál e csatlakozni, és a tűzfalat is meg kéne nézni ha van.
- A hozzászóláshoz be kell jelentkezni
Localhost-on fut a szerver, a kliens is localhost-ról lépne be.
A csatlakozás jó, mert ha más secret-et adok meg, akkor hibát ír. Egyszerűen annyi a baj, hogy a jó azonosító/jelszó párra is reject-et dob.
Petya
- A hozzászóláshoz be kell jelentkezni
Helló!
Már 3 napja nem tudok válaszolni, mindig ezt a hibát kapom:
---------
Forbidden
You don't have permission to access /comment/reply/30126/460491 on this server.
---------
és trey at hup.hu pedig eddig még nem reagált...
De végre rájöttem az okára.
Az SQL parancsot szűri ki a rendszer a válaszomban, ezért a szóközt kicseréltem benne egy aláhúzásra. :-)
Szóval a válaszom a kérdésedre:
Régebben így:
INSERT_INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `Value`) VALUES
(1, 'teszt', 'Password', '==', 'teszt'),
(2, 'probauser', 'Password', '==', 'proba');
Mostanában így:
INSERT_INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `Value`) VALUES
(1, 'teszt', 'Cleartext-Password', ':=', 'teszt'),
(2, 'probauser', 'Cleartext-Password', ':=', 'proba');
http://wiki.freeradius.org/SQL_HOWTO
Szabi
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Basszus, most nézem csak, nálam is 'User-Password'-del működik.
(Nem hiszem, hogy a nagy U és P számítana...)
Debian Etch + freeradius 1.1.3-3.
Bocs, akkor más lesz a hiba.
Freeradius verzió, konfig, stb., ha további segítséget szeretnél.
Szabi
- A hozzászóláshoz be kell jelentkezni
Hello!
Itt is Debian Etch, freeradius 1.1.3-3
Itt a konfigfile (a kommenteket kiszedtem, remélem nem baj): http://molnarp.pastebin.com/m660f599d
clients.conf:
client 127.0.0.1 {
secret = testing123
shortname = localhost
nastype = other
}
szerk:
freeradius -X ezt írja a konzolon:
rad_recv: Access-Request packet from host 127.0.0.1:4214, id=222, length=57
User-Name = "teszt"
User-Password = "teszt"
NAS-IP-Address = 255.255.255.255
NAS-Port = 10
rad_lowerpair: User-Name now 'teszt'
rad_rmspace_pair: User-Name now 'teszt'
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
modcall[authorize]: module "preprocess" returns ok for request 0
modcall[authorize]: module "chap" returns noop for request 0
modcall[authorize]: module "mschap" returns noop for request 0
rlm_realm: No '@' in User-Name = "teszt", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 0
rlm_eap: No EAP-Message, not doing EAP
modcall[authorize]: module "eap" returns noop for request 0
users: Matched entry DEFAULT at line 152
modcall[authorize]: module "files" returns ok for request 0
modcall: leaving group authorize (returns ok) for request 0
rad_check_password: Found Auth-Type System
auth: type "System"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 0
modcall[authenticate]: module "unix" returns notfound for request 0
modcall: leaving group authenticate (returns notfound) for request 0
auth: Failed to validate the user.
Login incorrect: [teszt/teszt] (from client localhost port 10)
rad_lowerpair: User-Password now 'teszt'
rad_rmspace_pair: User-Password now 'teszt'
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
modcall[authorize]: module "preprocess" returns ok for request 0
modcall[authorize]: module "chap" returns noop for request 0
modcall[authorize]: module "mschap" returns noop for request 0
rlm_realm: No '@' in User-Name = "teszt", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 0
rlm_eap: No EAP-Message, not doing EAP
modcall[authorize]: module "eap" returns noop for request 0
users: Matched entry DEFAULT at line 152
modcall[authorize]: module "files" returns ok for request 0
modcall: leaving group authorize (returns ok) for request 0
rad_check_password: Found Auth-Type System
auth: type "System"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 0
modcall[authenticate]: module "unix" returns notfound for request 0
modcall: leaving group authenticate (returns notfound) for request 0
auth: Failed to validate the user.
Login incorrect: [teszt/teszt] (from client localhost port 10)
Delaying request 0 for 1 seconds
Finished request 0
- A hozzászóláshoz be kell jelentkezni
OK. Nem olvastad elég figyelmesen a mikrotikes leírást, amit linkeltél. :-)
Jelenleg a jelszó ellenőrzésekor a mysql adatbázist nem használja, mert kihagytad a konfigból ezt:
authorize {
sql
}
Ha az adatbázisban akarod tartani a forgalmi adatokat, akkor kell még ez is:
session {
sql
}
Szabi
- A hozzászóláshoz be kell jelentkezni
Tényleg.
Még mindig nem jó, de már legalább végrehajt SQL utasításokat:
http://molnarp.pastebin.com/m47db9f50
Petya
- A hozzászóláshoz be kell jelentkezni
Próbáld meg a konfigot, ahogy a leírásban is van:
----------
instantiate {
}
authorize {
chap
mschap
sql
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
}
preacct {
acct_unique
}
accounting {
sql
}
session {
sql
}
post-auth {
sql
}
----------
Mennie kell!
Szabi
- A hozzászóláshoz be kell jelentkezni
Köszönöm, most már működik!
Petya
- A hozzászóláshoz be kell jelentkezni
Hello!
Ismét kérdezek: az megvalósítható valahogyan, hogy az adatbázisban ne plaintext-ben, hanem valami hash-ben (MD5, CRYPT stb.) tárolódjon a jelszó?
Nos, utánanéztem: a CHAP nem támogatja a titkosított jelszót, csak a PAP. Tehát ez azt jelenti, hogy választhatok, hogy vagy az adatbázisban van a jelszó kódolatlanul, vagy pedig a hálózaton közlekedik kódolás nélkül?
Petya
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni
off
Ugye te nem egy német ürgének dolgozgatsz most?
Mert ha igen, akkor nem te leszel az első aki belebukik egy dilettáns, elmebeteg ötletbe. Na nem szakmai, hanem emberi problémákra gondolok most.
/off
- A hozzászóláshoz be kell jelentkezni
Hello!
Nem. Ez egy Mikrotikes wireless hotspot, egy koleszban.
Petya
- A hozzászóláshoz be kell jelentkezni
Hali!
Minden o k
Üdv:
Turpi
- A hozzászóláshoz be kell jelentkezni