Resim ted takovej problem. Potreboval bych v linuxu (debian squeeze) mit na jednom fyzickym adapteru dva virtualni, ale i na 2. sitovy vrstve. Tzn. eth0:0, eth0 neresi situaci.
Jednoduse:
2 virtualni adaptery kazdej s vlastni MAC adresou na 1 fyzickym adapteru
Duvod:
Poskytovatel kontroluje na gw spojeni ip<>mac a s urcitejch duvodu chci pouzivat muj "linuxbox" jako muj gw a nasladne pak routovat urcitej trafik s ruznejma (dvema) source ip adresama
EDIT: Virtuální síťovka s vlastní MAC adresou - tehle titulek neni tak nazornej jako muj puvodni... napr. jen jedna virtualni sitovka s jednou MAC adresou neni problem
EDIT2: Chápu, ale původní název jednak začínal číslem a hlavně se roztahoval na tři řádky na titulní straně. Klidně to zase uprav, ale ať je to kratší.
Mělo by jít vytvořením dummy0 rozhraní a jeho zapojením do bridge
jakoze br0(eth0,dummy0)? ... neco podobnyho sem zkousel s tap0 a to neresi situaci, protoze br0 ma pak jednu IP a jednu MAC pripadne pak lze udelat br0:0, ale to uz rovnou muzu udelat eth0 eth0:0... a to je furt jen 3. vrstva
zkus http://www.primianotucci.com/default.php?view=57 a dej vedet jak to dopadlo
jj na to sem narazil... ale moc se mi do toho nechce viz. "...This application
helps to hack this..."
prave me zajimalo jestli je tady nejaky proper reseni
Kromě zmíněného user-space programu to lze udělat i s vanilkovým linuxem pomocí bridge a driveru virtual ethernet adapter pair. Zrealizuješ si v jádře něco takového:
|LAN
|
|
+-----------------+
| eth0 |
| |
| bridge br0 |
| |
|ebr0 ebr1|
+-----------------+
| |
|emac0 |emac1
A na virtuálních síťovkách emac0 a emac1 si nastavíš MAC a IP adresy podle svého uvážení... Můžeš si samozřejmě vymyslet vlastní smysluplné názvy.
# modprobe veth
# ip link add name ebr0 type veth peer name emac0
# ip link add name ebr1 type veth peer name emac1
# ip link set dev emac0 address 02:11:22:33:44:55
# ip link set dev emac1 address 02:22:33:44:55:66
# brctl addbr br0
# brctl stp br0 off
# brctl addif br0 eth0
# brctl addif br0 ebr0
# brctl addif br0 ebr1
# for name in br0 ebr0 ebr1 emac0 emac1 eth0; do ip link set dev $name up; done
... dale nastavit IP adresy na emac0 a emac1 a mělo by to jet...
nebo:
ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan
ip link add link eth0 address 00:22:22:22:22:22 eth0.2 type macvlan
Citace od: lampasak nejezchleba kdy 20. 01. 2011, 06:47:57
nebo:
ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan
ip link add link eth0 address 00:22:22:22:22:22 eth0.2 type macvlan
Pravda, na ovladač MAC-VLAN jsem úplně zapomněl. Ten to řeší samozřejmě mnohem elegantněji...