Здравствуйте!Основной вопрос:
как в Linux создать bridge-интерфейс, который бы не имел мак-адреса ?
Между собой требуется связать физический интерфейс vlan + интерфейс xen-виртуальной машины. В хост-машине интерфейсы vlan01 и br0 не нуждаются в мак-адресах, требуется максимально тупой свич.
Более подробно.Имеется следующая ситуация:
сервер на хостинговой площадке. От провайдера транком на сервер приходят два vlan. Имеется привязка к мак-адресу на коммутаторах-маршрутизаторах провайдера.
исходная конфигурация примерно такая:
vlan01 Link encap:Ethernet HWaddr 00:1c:c0:4b:75:26
inet addr:<net1_ip> Bcast:<net1_bcast> Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:896710 errors:0 dropped:0 overruns:0 frame:0
TX packets:2592141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:57959526 (55.2 MiB) TX bytes:3279930727 (3.0 GiB)vlan13 Link encap:Ethernet HWaddr 00:1c:c0:4b:75:26
inet addr:<net2_ip> Bcast:<net2_bcast> Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:283496136 errors:0 dropped:0 overruns:0 frame:0
TX packets:425127979 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2248197200 (2.0 GiB) TX bytes:272220563 (259.6 MiB)
--На сервере потребовалось создать виртуальную машину Xen, отдав ей IP интерфейса vlan01.
Виртуальная машина создана-запущена, нужно прокинуть в неё сеть.
Логично, что для этого требуется создать br0-интерфейс.Для этого прописываю в интерфейсы:
auto vlan01
iface vlan01 inet manual
up ifconfig $IFACE up
down ifconfig $IFACE downauto br0
iface br0 inet manual
up brctl addbr br0 && brctl addif br0 vlan01 && ifconfig br0 upПоскольку у провайдера имеется привязка, то в конфиге виртмашины пишу:
vif = [ 'ip=<net1_ip>,mac=00:1c:c0:4b:75:26,bridge=br0' ]
------
Интерфейсы успешно подымаются, но вот незадача:
при поднятии интерфейса внутри виртмашины получаю ошибки:хост машина ругается:
[7216205.895504] vif3.0: received packet with own address as source addressи еще вот такое сообщение:
xen duplicate address detected
Сеть в вирт машине не работает.
После поднятия интерфейсов на хост машине, команда brctl showmacs br0 успешно показывает мак-адрес интерфейса vlan01 в списке мак-адресов, с флагом "локальный".
попытки сделать ifconfig vlan01 -arp && ifconfig br0 -arp , в т.ч. и с последующим пересозданием интерфейса br0, успеха не принесли.
Выходом оказалось изменение мак-адреса на интерфейсе vlan01 командой
ifconfig vlan01 hw ether fe:ff:ff:ff:ff:ff
но и этот мак адрес тем не менее присутствует в мак-таблице интерфейса br0.
Собственно остается повторить вопрос: как в Linux создать bridge-интерфейс, который бы не имел мак-адреса ?
Ну или другое решение вышеописанной задачи...
brctl
интерфейса без мака не может существовать по природе строения сетей
>brctl
>интерфейса без мака не может существовать по природе строения сетейне совсем понял, почему именно ?
да и мне он не нужен как интерфейс, он мне нужен как свич.
>>brctl
>>интерфейса без мака не может существовать по природе строения сетей
>
>не совсем понял, почему именно ?
>да и мне он не нужен как интерфейс, он мне нужен как
>свич.Интерфейса без МАС неможет быть !!!
Читай маны до просветления !!!
Модель OSI !!!
>>>brctl
>>>интерфейса без мака не может существовать по природе строения сетей
>>
>>не совсем понял, почему именно ?
>>да и мне он не нужен как интерфейс, он мне нужен как
>>свич.
>
>Интерфейса без МАС неможет быть !!!
>Читай маны до просветления !!!
>Модель OSI !!!1. Интересно, как работают интерфейсы ppp.... Очень интересно, как там передается MAC... надо подумать на досуге. Маны не посоветуете?
2. Мне не нужен этот интерфейс как интерфейс хост-системы.
Прошу прочитать и понять смысл моего вопроса и цель, которую пытаюсь достигнуть.
Рекомендую
http://ru.wikipedia.org/wiki/ARP
совместно с tcpdump
>Рекомендую
>http://ru.wikipedia.org/wiki/ARP
>совместно с tcpdumpЧто посоветуешь в ответ на второй вопрос ?
Хорошо, я понял что неправильно сформулировал название топика.
Мне нужен bridge без интерфейса в хост системе...
>Что посоветуешь в ответ на второй вопрос ?Давайте что-нибудь возьмем за основу. Типа:
http://wiki.xensource.com/xenwiki/XenNetworking
>>Что посоветуешь в ответ на второй вопрос ?
>
>Давайте что-нибудь возьмем за основу. Типа:
>http://wiki.xensource.com/xenwiki/XenNetworkingну допустим оно и лежит в основе.
noarp и выставление мака fe:ff:ff:ff:ff:ff основному интерфейсу делается тоже в соответствии с тем документом.
Просто не совсем понятно, будет ли машина откликаться на мак fe:ff:ff:ff:ff:ff,
поскольку имеем такой вывод:
host:~# brctl showmacs br0
port no mac addr is local? ageing timer
1 zz:zz:zz:zz:zz:zz no 76.19
... куча мак-адресов оборудования в вилане
1 yy:yy:yy:yy:yy:yy no 54.21
#мак адрес вирт машины
2 00:1c:c0:4b:75:26 no 0.00
#любимый и ненаглядный fe:ff:ff:ff:ff:ff
1 fe:ff:ff:ff:ff:ff yes 0.00протестировать со стороны в настоящее время возможности нет...
Что имеется сейчас:
host:~# ifconfig br0
br0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:298409 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:36288120 (34.6 MiB) TX bytes:468 (468.0 B)host:~# ifconfig vlan01
vlan01 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
inet6 addr: fe80::21c:c0ff:fe4b:7526/64 Scope:Link
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:99067702 errors:0 dropped:0 overruns:0 frame:0
TX packets:163004561 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1656339003 (1.5 GiB) TX bytes:3726931430 (3.4 GiB)host:~# ifconfig vif14.0
vif14.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:144706596 errors:0 dropped:0 overruns:0 frame:0
TX packets:98206390 errors:0 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:2027710148 (1.8 GiB) TX bytes:2511269918 (2.3 GiB)host:~# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.feffffffffff no vif14.0
vlan01
PS: да, и ifconfig br0 noarp сделал уже вручную, на поднятом и живом интерфейсе br0....Подымается всё это дело так(Debian):
auto vlan01
iface vlan01 inet manual
up ifconfig $IFACE up -arp hw ether fe:ff:ff:ff:ff:ff
down ifconfig $IFACE down
vlan-raw-device eth0auto br0
iface br0 inet manual
up brctl addbr br0 && brctl addif br0 vlan01 && ifconfig br0 up
down ifconfig br0 down && brctl delbr br0
>[оверквотинг удален]
>>>да и мне он не нужен как интерфейс, он мне нужен как
>>>свич.
>>
>>Интерфейса без МАС неможет быть !!!
>>Читай маны до просветления !!!
>>Модель OSI !!!
>
>1. Интересно, как работают интерфейсы ppp.... Очень интересно, как там передается MAC...
>надо подумать на досуге. Маны не посоветуете?
>Если среда передачи ethernet то имеем pppoe, протокол который базируется на ethernet фреймах ---> снова приходим к mac :)
>>>brctl
>>>интерфейса без мака не может существовать по природе строения сетей
>>
>>не совсем понял, почему именно ?
>>да и мне он не нужен как интерфейс, он мне нужен как
>>свич.
>
>Интерфейса без МАС неможет быть !!!
>Читай маны до просветления !!!
>Модель OSI !!!неужеле? )))
а какже хабы и свичи? )))
Serial port (com) это тоже интерфейс и без мака)))
ненадо бросатся терминами
Имеется следующая ситуация:сервер на хостинговой площадке. От провайдера транком на сервер приходят два vlan. Имеется привязка к мак-адресу на коммутаторах-маршрутизаторах провайдера.
Где ты видешь serial link ? Коммутатор строит таблицы mac-port.