bridge. nem értem

2013-03-14 bef zés Magosányi Árpád
Sziasztok!

Van itt valami, amit nagyon nem értek.
Van egy virtuális gépem, a hoston vnet0 a hozzá tartozó interfész. A vm
belülről a 10.5.5.3 ip címet birtokolja.
Van egy br-int nevű interfészem, amelynek a 10.5.5.1 ip címet adományoztam.
A vm-ből pingelem a 10.5.5.1-et, és kapok is válaszokat.
A vnet0 interfészen szépen látszik a request és a reply is (tcpdump-al)
A vnet0 a qbrd6610d3a-33 nevezetű linux bridge-ben van, a qvbd6610d3a-33
nevezetű porttal egyetemben.
A qbrd6610d3a-33 interfészen szintén látszik a teljes forgalom.
A qvbd6610d3a-33 interfészen csak az echo reply látszik a pingből, de
előtte az arp kérés és válasz is, amit a vm indít.
Na ez az egyik amit nem értek. Miért csak az egyik irányt látom?

A másik amit nem értek, az az hogy tulajdonképpen miért van egyáltalán
forgalom :)
A vnet0 ugyanis teljesen másik bridge-ben van mint a br-int.
A kettőt valahogyan a qvbd6610d3a-33 és qvod6610d3a-33 interfészek kötik
össze, de nem értem hogy hogyan.
Nem látszanak tun/tap interfésznek:
# ip tuntap
vnet0: tap vnet_hdr
Nem tudok élő gre tunnelekről, az 'ip tunnel' nem ad vissza semmit.

A teljes képhez hozzátartozik még a tapbba13168-7d, amely a 10.5.5.2 ip
címet kapta a keresztségben.
Ha azt pingelem a vm-ből, látom a requestet meg a replyt is mind a
vnet0, mind a qvbd6610d3a-33, mind a tapbba13168-7d és a qvod6610d3a-33
interfészeken.

A setup:
# brctl show
bridge namebridge idSTP enabledinterfaces
br-ex.9e5efab29a44no   
br-int.06cbb7af1b4dnoqvod6610d3a-33
tapbba13168-7d
br-tun.92750fdef846no   
qbrd6610d3a-338000.f2448cb75d1enoqvbd6610d3a-33
vnet0
# brctl showmacs br-int
read of forward table failed: Operation not supported
# brctl showmacs qbrd6610d3a-33
port nomac addris local?ageing timer
  16e:d8:4e:32:85:c5no   0.05
  1f2:44:8c:b7:5d:1eyes   0.00
  2fa:16:3e:d7:2d:92no   0.05
  2fe:16:3e:d7:2d:92yes   0.00
# ovs-vsctl show
220ed79f-235f-4be1-bc1a-c8619065cc1d
Bridge br-int
Port br-int
Interface br-int
type: internal
Port qvo5d7cc3f9-c3
tag: 1
Interface qvo5d7cc3f9-c3
Port tapbba13168-7d
tag: 1
Interface tapbba13168-7d
type: internal
Port qvod6610d3a-33
tag: 1
Interface qvod6610d3a-33
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
ovs_version: 1.4.0+build0
# ip a
1: lo: LOOPBACK,UP,LOWER_UP mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc mq state UP
qlen 1000
link/ether 00:9c:02:aa:65:75 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
inet6 fe80::29c:2ff:feaa:6575/64 scope link
   valid_lft forever preferred_lft forever
3: br-tun: BROADCAST,MULTICAST mtu 1500 qdisc noop state DOWN
link/ether 92:75:0f:de:f8:46 brd ff:ff:ff:ff:ff:ff
4: br-int: BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP mtu 1500 qdisc
noqueue state UNKNOWN
link/ether 06:cb:b7:af:1b:4d brd ff:ff:ff:ff:ff:ff
inet 10.5.5.1/24 brd 10.5.5.255 scope global br-int
inet6 fe80::4cb:b7ff:feaf:1b4d/64 scope link
   valid_lft forever preferred_lft forever
5: br-ex: BROADCAST,MULTICAST mtu 1500 qdisc noop state DOWN
link/ether 9e:5e:fa:b2:9a:44 brd ff:ff:ff:ff:ff:ff
6: tapbba13168-7d: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc
noqueue state UNKNOWN
link/ether 6e:d8:4e:32:85:c5 brd ff:ff:ff:ff:ff:ff
inet 10.5.5.2/24 brd 10.5.5.255 scope global tapbba13168-7d
inet6 fe80::6cd8:4eff:fe32:85c5/64 scope link
   valid_lft forever preferred_lft forever
8: qbrd6610d3a-33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc
noqueue state UP
link/ether f2:44:8c:b7:5d:1e brd ff:ff:ff:ff:ff:ff
inet6 fe80::4c63:7cff:fe87:d1ec/64 scope link
   valid_lft forever preferred_lft forever
9: qvod6610d3a-33: BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP mtu 1500
qdisc pfifo_fast state UP qlen 1000
link/ether f6:e1:2b:50:22:ee brd ff:ff:ff:ff:ff:ff
inet6 fe80::f4e1:2bff:fe50:22ee/64 scope link
   valid_lft forever preferred_lft forever
10: qvbd6610d3a-33: BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP mtu 1500
qdisc pfifo_fast master qbrd6610d3a-33 state UP qlen 1000
link/ether 

Re: bridge. nem értem

2013-03-14 bef zés Ferenc Wagner
Magosányi Árpád ar...@magosanyi.hu writes:

 A másik amit nem értek, az az hogy tulajdonképpen miért van egyáltalán
 forgalom :)
 A vnet0 ugyanis teljesen másik bridge-ben van mint a br-int.

Nem követtem végig a sok egyszerű nevű interfészed sorsát, de a
figyelmedbe ajánlom, hogy az IP cím (10.5.5.1), amit hozzárendelsz egy
interfészhez (br-int), minden interfészen bejövő csomagra tüzel, vagyis
ad ARP választ (egyéb beállítás híján, lásd például az LVS dokumentációt
http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp_ignore_to_disable_ARP
és az rp_filtert) mert inkább a géphez tartozik, mint az interfészhez.
De a kimenő (válasz) csomagokat a gép természetesen már azon az
interfészen fogja kiküldeni, amelyen a célcím elérhető, nem pedig azon,
amelyen beérkezett a kiváltó csomag.
-- 
  Feri.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux