/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
DHCP
Fra : Lars Jacobsen


Dato : 28-03-06 21:12

Har tidliger prøvet at få hjælp, men uden held. Men der må da være nogen som
kan hjælpe med classes i ISC´s DHCPd ?
Jeg prøver på at lave en class som matcher andet end på MAC adresse.
Det er sådan set let nok men jeg skal have skrevet en syntax til evaluering
af om 3. og 4. karakter er mellem f.eks 01 og 16 ?
noget i stil med:

match if packet ( (option agent.circuit-id) , 3,2) = "21" AND match if
packet ( (option agent.circuit-id) , 5,2) = "01" to "16" THEN class =
"Klasse 1"

Denne virker, men den tester kun for "21":
match if packet ( (option agent.circuit-id) , 3,2) = "21"

Denne virker også, men den tester kun for "01" og ikke 01>16
match if packet ( (option agent.circuit-id) , 5,2) = "01"

Jeg ved godt at "" betyder text og der her i virkeligheden er tale om
integer, men det er for at tydeligøre hvad det er jeg vil matche.

match if packet ( (option agent.circuit-id) , 3,2) = "21"
AND
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
"16" THEN
class = "Klasse 1"

Og ja jeg ved godt jeg kunne lave 16, men ......

Lars Jacobsen



 
 
Lars Jacobsen (28-03-2006)
Kommentar
Fra : Lars Jacobsen


Dato : 28-03-06 21:20

Ups det gik lidt stærk til sidst så jeg prøver lige igen igen

Har tidliger prøvet at få hjælp, men uden held. Men der må da være nogen som
kan hjælpe med classes i ISC´s DHCPd ?
Jeg prøver på at lave en class som matcher andet end på MAC adresse.
Det er sådan set let nok men jeg skal have skrevet en syntax til evaluering
af om 3. og 4. karakter er mellem f.eks 01 og 16 ?
noget i stil med:

match if packet ( (option agent.circuit-id) , 3,2) = "21" AND match if
packet ( (option agent.circuit-id) , 5,2) = "01" to "16" THEN class =
"Klasse 1"

Denne virker, men den tester kun for "21":
match if packet ( (option agent.circuit-id) , 3,2) = "21"

Denne virker også, men den tester kun for "01" og ikke 01>16
match if packet ( (option agent.circuit-id) , 5,2) = "01"

Jeg ved godt at "" betyder text og der her i virkeligheden er tale om
integer, men det er for at tydeligøre hvad det er jeg vil matche.
Og ja jeg ved godt jeg kunne lave 16, i stil med dette men ......

match if packet ( (option agent.circuit-id) , 3,2) = "21"
AND
match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
match if packet ( (option agent.circuit-id) , 5,2) = "02" OR
match if packet ( (option agent.circuit-id) , 5,2) = "03" OR
match if packet ( (option agent.circuit-id) , 5,2) = "04" OR
match if packet ( (option agent.circuit-id) , 5,2) = "05" OR
match if packet ( (option agent.circuit-id) , 5,2) = "06" OR
match if packet ( (option agent.circuit-id) , 5,2) = "07" OR
match if packet ( (option agent.circuit-id) , 5,2) = "08" OR
match if packet ( (option agent.circuit-id) , 5,2) = "09" OR
match if packet ( (option agent.circuit-id) , 5,2) = "10" OR
match if packet ( (option agent.circuit-id) , 5,2) = "11" OR
match if packet ( (option agent.circuit-id) , 5,2) = "12" OR
match if packet ( (option agent.circuit-id) , 5,2) = "13" OR
match if packet ( (option agent.circuit-id) , 5,2) = "14" OR
match if packet ( (option agent.circuit-id) , 5,2) = "15" OR
match if packet ( (option agent.circuit-id) , 5,2) = "16"
THEN
class = "Klasse 1"

Anny ideas ?



Rasmus Bøg Hansen (08-04-2006)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 08-04-06 16:37

"Lars Jacobsen" <lj@sydfynsel.dk> hit the keyboard.
Afterwards the following was on the screen:

> Har tidliger prøvet at få hjælp, men uden held. Men der må da være nogen som
> kan hjælpe med classes i ISC´s DHCPd ?
> Jeg prøver på at lave en class som matcher andet end på MAC adresse.
> Det er sådan set let nok men jeg skal have skrevet en syntax til evaluering
> af om 3. og 4. karakter er mellem f.eks 01 og 16 ?
> noget i stil med:
>
> match if packet ( (option agent.circuit-id) , 3,2) = "21" AND match if
> packet ( (option agent.circuit-id) , 5,2) = "01" to "16" THEN class =
> "Klasse 1"
>
> Denne virker, men den tester kun for "21":
> match if packet ( (option agent.circuit-id) , 3,2) = "21"
>
> Denne virker også, men den tester kun for "01" og ikke 01>16
> match if packet ( (option agent.circuit-id) , 5,2) = "01"
>
> Jeg ved godt at "" betyder text og der her i virkeligheden er tale om
> integer, men det er for at tydeligøre hvad det er jeg vil matche.
> Og ja jeg ved godt jeg kunne lave 16, i stil med dette men ......
>
> match if packet ( (option agent.circuit-id) , 3,2) = "21"
> AND
> match if packet ( (option agent.circuit-id) , 5,2) = "01" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "02" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "03" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "04" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "05" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "06" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "07" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "08" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "09" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "10" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "11" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "12" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "13" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "14" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "15" OR
> match if packet ( (option agent.circuit-id) , 5,2) = "16"
> THEN
> class = "Klasse 1"

Jeg har f. eks.:

class "validclients" {
match if (
(
(substring (option host-name, 0, 2) = "17")
or (substring (option host-name, 0, 2) = "74")
or (substring (option host-name, 0, 2) = "76")
[...]
or (substring (option host-name, 0, 2) = "68")
) and
(
(substring (option host-name, 2, 2) = "01")
or (substring (option host-name, 2, 2) = "02")
or (substring (option host-name, 2, 2) = "03")
[...]
or (substring (option host-name, 2, 2) = "31")
));
}

Den kontrollerer at hostname starter med et værelsesnummer. Du kan
højst sandsynligt lave noget tilsvarende med agent.circuit-id.

/Rasmus

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
He has his own opinions
- just like the others.
- Burnin' Red Ivanhoe
----------------------------------------------[ moffe at zz9 dot dk ] --

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste