|
| 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 ] --
| |
|
|