Risposte:
Ciò è possibile solo se i due client DHCP utilizzano indirizzi MAC diversi. Ciò significa che non possono essere eseguiti entrambi sulla stessa interfaccia di rete fisica, che ha un unico indirizzo MAC.
La soluzione è l'interfaccia virtuale di rete MAC-VLAN di Linux. Le interfacce MAC-VLAN sono interfacce di rete virtuali supportate da un'interfaccia fisica, ma utilizzate con un indirizzo MAC diverso, che viene generato casualmente quando si crea un dispositivo MAC-VLAN.
Una volta creata un'interfaccia MAC-VLAN utilizzando un'interfaccia fisica, la si utilizza come se fosse quella fisica. Nel tuo caso particolare, puoi eseguire un client DHCP sull'interfaccia fisica e un altro sul dispositivo MAC-VLAN. Ogni dispositivo (fisico e MAC-VLAN) può quindi avere il proprio indirizzo IP.
Un nuovo dispositivo MAC-VLAN macvlan0
può essere creato eth0
eseguendo
ip link add dev macvlan0 link eth0 type macvlan
Può essere eliminato eseguendo
ip link delete dev macvlan0
Utilizzando NCD, il mio software di configurazione della rete ( http://code.google.com/p/badvpn/wiki/NCD ), il seguente programma NCD creerà due dispositivi MAC-VLAN da eth0
( macvlan0
e macvlan1
), eseguirà DHCP su ciascuno di essi, e assegnare loro gli indirizzi IP ottenuti. Puoi facilmente fare altre cose come aggiungere percorsi e server DNS; leggi la pagina NCD se sei interessato.
process lan {
# Set device.
var("eth0") dev;
# Wait for device to appear, set it up, and wait for cable to be plugged in.
net.backend.waitdevice(dev);
net.up(dev);
net.backend.waitlink(dev);
# Start DHCP's.
provide("lan-link");
}
process lan_dhcp1 {
# Wait for link.
depend("lan-link") linkdep;
# Choose virtual device name.
var("macvlan0") vdev;
# Create virtual MAC-VLAN device.
list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
list("/sbin/ip", "link", "delete", "dev", vdev) undo;
run(do, undo);
# Set virtual device up.
net.up(vdev);
# DHCP configuration on virtual device.
net.ipv4.dhcp(vdev) dhcp;
ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
ifnot(test_local);
println(vdev, ": got address ", dhcp.addr);
# Assign address to virtual device.
net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}
# This differs from above only in interface name (macvlan1).
process lan_dhcp2 {
# Wait for link.
depend("lan-link") linkdep;
# Choose virtual device name.
var("macvlan1") vdev;
# Create virtual MAC-VLAN device.
list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
list("/sbin/ip", "link", "delete", "dev", vdev) undo;
run(do, undo);
# Set virtual device up.
net.up(vdev);
# DHCP configuration on virtual device.
net.ipv4.dhcp(vdev) dhcp;
ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
ifnot(test_local);
println(vdev, ": got address ", dhcp.addr);
# Assign address to virtual device.
net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}
Finirai con macvlan0
e macvlan1
ognuno con il proprio indirizzo IP ottenuto da DHCP, eth0
che è attivo ma non ha un indirizzo IP. In alternativa, è possibile creare una sola interfaccia MAC-VLAN ed eseguire un'istanza DHCP su eth0
se stessa.
L'uso di indirizzi IP assegnati statici o DHCP è una scelta che fai per il tuo computer.
C'è un buon tutorial qui .
Contiene molti dettagli e ti aiuta a evitare problemi che potresti avere se usi un indirizzo statico anziché DHCP assegnato, ad esempio come connetterti a server DNS e gateway.
Non ho mai visto una configurazione DHCP che consentirebbe al server DHCP di inviare più indirizzi a un'interfaccia. Non credo che il protocollo lo supporti. Una volta entrati in più indirizzi IP su un'interfaccia, è necessario configurarli come indirizzi statici.
Alcuni client DHCP consentono di assegnare un indirizzo statico quando viene fornito un indirizzo. Non credo che Windows ti permetterà di aggiungere più di uno.
Assicurarsi che tutti gli indirizzi statici siano al di fuori dell'intervallo di indirizzi DCHP.
Non lo so per certo Ma credo che a meno che tu non abbia un router open source, dovrai usare l'IP statico per fare quello che vuoi. IMO, a meno che tu non abbia davvero un buon motivo per cui vuoi fare quello che vuoi, attaccherei semplicemente al DHCP. dalla tua domanda vedo che è quello che vuoi, quindi a meno che qualcuno non sappia come farlo, aspetterei e rimarrei con DHCP fino a quando qualcuno non darà una risposta migliore. Sebbene se non si dispone di più di 1-2 pezzi e nient'altro in rete (estensori di supporti per stampanti, ecc.), Non utilizzare IP statici come IDK come o se è possibile impostare questi elementi con un IP statico. Forse puoi fare quello che vuoi se ottieni un router open source e potresti essere in grado di farlo come vuoi semplicemente usare un IP statico per la tua macchina usando l'indirizzo mac come un modo per identificarlo e impostare il suo IP e il resto della rete potrebbe essere DHCP. IDK come non ho mai fatto nulla sto solo buttando fuori idee quindi mi dispiace per non avere una risposta per te. Anche se il collegamento proposto da Bryan sembra una bella risorsa su DHCP e problemi di IP statico. Anche per il router Open Source credo che Netgear e D-Link li rendano più sicuri, ma IMO questi due marchi sono quelli che sceglierei. Personalmente non mi piacciono i Linksys poiché sono stati acquistati dal romanzo (penseresti che sarebbero migliori ma NON IMO. Personalmente preferisco D-link in quanto sono i router più personalizzabili che ho trovato.) Anche per il router Open Source credo che Netgear e D-Link li rendano più sicuri, ma IMO questi due marchi sono quelli che sceglierei. Personalmente non mi piacciono i Linksys poiché sono stati acquistati dal romanzo (penseresti che sarebbero migliori ma NON IMO. Personalmente preferisco D-link in quanto sono i router più personalizzabili che ho trovato.) Anche per il router Open Source credo che Netgear e D-Link li rendano più sicuri, ma IMO questi due marchi sono quelli che sceglierei. Personalmente non mi piacciono i Linksys poiché sono stati acquistati dal romanzo (penseresti che sarebbero migliori ma NON IMO. Personalmente preferisco D-link in quanto sono i router più personalizzabili che ho trovato.)
Dai un'occhiata anche a questo link e potresti essere in grado di fare di più con il tuo router se è supportato