Veel DHCP-leases op 1 nic.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoihoi

Ik zit momenteel even lekker te scripten en zit met dit probleempje... ik wil erg graag wat virtuele netwerkkaarten aanmaken. En daarna elk van deze kaarten een dhcp-requestje laten doen....
COUNTER=0
until [ $COUNTER -gt 255 ]; do
/sbin/ifconfig eth0:$i up
let COUNTER+=1
done
Lelijk maar efficient.... alleen nu kun je niet zomaar een virtual nic aanmaken zonder IP adres erbij. Weet iemand hoe dat netter kan?

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 01-10 07:55

mace

Sapere Aude

Boudewijn schreef op vrijdag 24 februari 2012 @ 22:57:
Hoihoi

Ik zit momenteel even lekker te scripten en zit met dit probleempje... ik wil erg graag wat virtuele netwerkkaarten aanmaken. En daarna elk van deze kaarten een dhcp-requestje laten doen....


[...]

Lelijk maar efficient.... alleen nu kun je niet zomaar een virtual nic aanmaken zonder IP adres erbij. Weet iemand hoe dat netter kan?
Hier zat ik laatst al mee te stoeien en toen lukte het me ook al niet. :(
Gewoon een nonsens-ip instellen en dan DHCP aanvragen werkt op zich wel, maar je moet je ook bedenken dat het mac-adres gelijk is dus als je dhcp-server zich niet aan de spec houdt dit problemen gaat opleveren.

In iets debian-achtigs zou je wellicht ook dit kunnen doen:

# auto eth0
# iface eth0:$i inet dhcp

waarbij $i voor de hand liggend is :)
en dat dan een X aantal keer in je interfaces plakken

Verder kun je ff kijken of je distro "ip link add" kent.

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Ja klopt maar ik wil graag een DHCP server een beetje resource-loos maken :P. Iets met alle leases opvragen.
Dit uiteraard in een ludieke sfeer.

Distro is debian trouwens.

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 01-10 07:55

mace

Sapere Aude

Tot nu toe de enige manier die ik semi-werkend heb gekregen is als volgt:

code:
1
2
3
4
5
6
7
COUNTER=0
until [ $COUNTER -gt 255 ]; do
/sbin/ifconfig eth0:$i up 1.2.3.4 ## (ofzoiets)
dhclient eth0:$i
## wellicht een sleep hier
let COUNTER+=1
done


e: Maar als je enige doel is om je dhcpserver te stressen zou je ook iets kunnen verzinnen met het spoofen van DHCP requests.

Ik heb bijv dit gevonden.

[ Voor 32% gewijzigd door mace op 25-02-2012 10:25 ]


Acties:
  • 0 Henk 'm!

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 21-08 15:56

webfreakz.nl

el-nul-zet-é-er

Boudewijn schreef op vrijdag 24 februari 2012 @ 23:56:
Ja klopt maar ik wil graag een DHCP server een beetje resource-loos maken :P. Iets met alle leases opvragen.
Dit uiteraard in een ludieke sfeer.

Distro is debian trouwens.
http://www.digininja.org/metasploit/dns_dhcp.php ?

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


Acties:
  • 0 Henk 'm!

  • Ertepeller
  • Registratie: November 2010
  • Laatst online: 03-10 10:43
[quote]mace schreef op zaterdag 25 februari 2012 @ 10:22:
code:
1
2
3
4
5
6
7
COUNTER=0
until [ $COUNTER -gt 255 ]; do
   /sbin/ifconfig eth0:$i up 1.2.3.4 ## (ofzoiets)
   dhclient eth0:$i
   ## wellicht een sleep hier
   let COUNTER+=1
done


Kleine bash-tip: loopjes mag je tegenwoordig ook zo schrijven:
code:
1
2
3
4
for ((counter=0; counter<256; counter++)); do
   statement
   statement
done


I.p.v. do/done mag je overigens ook accolades gebruiken:
code:
1
2
3
4
for ((counter=0; counter<256; counter++)); {
   statement
   statement
}

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 02-10 22:42

CAPSLOCK2000

zie teletekst pagina 888

Volgens mij pak je het helemaal verkeerd aan.
Een DHCP-lease wordt typisch gebaseerd op je MAC adres. Als je meerdere sub-interfaces aanmaakt dan krijgen die allemaal hetzelfe MAC en dus dezelfde DHCP lease. Daar heb je niks aan.

Je hebt 1 nic met meerdere MAC adressen nodig, niet meerdere (virtuele) nics met hetzelfde mac adres.

code:
1
2
3
4
5
for ((counter=0; counter<256; counter++)); do
     mac=$(printf "11:22:33:44:55:%x" counter)
     ifconfig eth0 hw ether $mac
     dhclient eth0
done


Ennuh, kun je die dhcp-pool niet wat kleiner maken?

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
die vond ik later ook al ja :P.
CAPSLOCK2000 schreef op zaterdag 25 februari 2012 @ 13:03:
Volgens mij pak je het helemaal verkeerd aan.
Een DHCP-lease wordt typisch gebaseerd op je MAC adres. Als je meerdere sub-interfaces aanmaakt dan krijgen die allemaal hetzelfe MAC en dus dezelfde DHCP lease. Daar heb je niks aan.

Je hebt 1 nic met meerdere MAC adressen nodig, niet meerdere (virtuele) nics met hetzelfde mac adres.

code:
1
2
3
4
5
for ((counter=0; counter<256; counter++)); do
     mac=$(printf "11:22:33:44:55:%x" counter)
     ifconfig eth0 hw ether $mac
     dhclient eth0
done


Ennuh, kun je die dhcp-pool niet wat kleiner maken?
hmmmz dat zieet er al beter uit. Bedankt voor de tip.

Qua MAC: had dat vermoeden al maar moet dan wel eerst de NICs up zien te krijgen.

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 01-10 07:55

mace

Sapere Aude

Ertepeller schreef op zaterdag 25 februari 2012 @ 10:56:
[quote]mace schreef op zaterdag 25 februari 2012 @ 10:22:
code:
1
2
3
4
5
6
7
COUNTER=0
until [ $COUNTER -gt 255 ]; do
   /sbin/ifconfig eth0:$i up 1.2.3.4 ## (ofzoiets)
   dhclient eth0:$i
   ## wellicht een sleep hier
   let COUNTER+=1
done


Kleine bash-tip: loopjes mag je tegenwoordig ook zo schrijven:
code:
1
2
3
4
for ((counter=0; counter<256; counter++)); do
   statement
   statement
done


I.p.v. do/done mag je overigens ook accolades gebruiken:
code:
1
2
3
4
for ((counter=0; counter<256; counter++)); {
   statement
   statement
}
Code had ik van onze TS gegapt maar bedankt voor de tips.

Ik pas trouwens altijd op met dingen die je "tegenwoordig" mag doen, want hoe portable zijn zulke constructies...

[ Voor 6% gewijzigd door mace op 25-02-2012 14:34 ]


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 02-10 22:42

CAPSLOCK2000

zie teletekst pagina 888

Boudewijn schreef op zaterdag 25 februari 2012 @ 13:49:
Qua MAC: had dat vermoeden al maar moet dan wel eerst de NICs up zien te krijgen.
Ik weet niet of dit nog nodig is, maar
code:
1
ifconfig eth0 up


(zonder nog iets er achter) zou het moeten doen.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Ertepeller
  • Registratie: November 2010
  • Laatst online: 03-10 10:43
mace schreef op zaterdag 25 februari 2012 @ 14:33:
Ik pas trouwens altijd op met dingen die je "tegenwoordig" mag doen, want hoe portable zijn zulke constructies...
Dat hangt er vanaf waar je het gaat gebruiken: thuis script ik alleen met Bash en Ruby en dan gebruik ik rustig de allernieuwste foefjes. Op het werk moet je soms wat voorzichtiger zijn :)
Op commerciële Unixen staat meestal niet eens bash, maar ksh of erger nog (t)csh. Dan voel je je aardig gehandicapt als je bash gewend bent :(
En vaak wordt het niet zo op prijs gesteld als je exotische constructies gebruikt, veel beheerders gaan al hyperventileren als je &&, || of ${var:=abc} doet. Trucjes zijn voor thuis.
Pagina: 1