Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

Cezary, wydaję mi się, że znasz mechanizmy OpenWrt na wylot.
Zawsze gdy korzystam z OW to wybieram Twój build.
Jeżeli uważasz, że nie ma przeszkód aby Twój build OW działał jako switch w poruszonym scenariuszu to może napiszesz HOWTO  na  eko.one.pl?

27

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

Nie, nie mam tego w planach. Nawet nie mam pod ręką x86 z czterema portami żeby testować konfigurację.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

28

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

@5749.....
Narysuj to jakoś i wrzuć link do grafiki...

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

mar_w napisał/a:

@5749.....
Narysuj to jakoś i wrzuć link do grafiki...

Narysowałem  "jako tako"..
LINK  pliku  PNG:
https://i.postimg.cc/pVB6D4Lk/patyk.png

Przypominam, że powyższy przykład działał na fizycznym switch-u i chciałbym go powielić w środowisku wirtualnym.

30

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

czyli sam wirtualny switch chcesz zamknąć w wirtualnej maszynie a fizyczne porty eth komputera chcesz zrobić (używając terminologii Virtualboxa) jako "mostkowana karta sieciowa (bridged)" z wewnętrznymi portami wirtualnej maszyny ? czy ...
cały ten układ chcesz zrobić jako maszyny wirtualne: ISP, PC1, PC2 Router, SW1 bo jeśli tak, to może się nie udać i to nie będzie wina Openwrt.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

mar_w napisał/a:

czy ...
cały ten układ chcesz zrobić jako maszyny wirtualne: ISP, PC1, PC2 Router, SW1 bo jeśli tak, to może się nie udać i to nie będzie wina Openwrt.

Cała infra w środowisku wirtualnym.
Wykorzystuję mechanizm "Internal Networking" w VirtualBox.

Za ISP robi maszyna wirtualna z OpenWrt.
VM-ka OpenWrt ISP posiada dwa interfejsy.
Interfejsy VM-ki OpenWrt ISP:
-->  WAN (net otrzymuję od wirtualnego NAT-u. PING odpowiada na zewnątrz.)
-->  LAN (puszcza serv DHCP)
Wyjście interfejsu LAN VM-ki OpenWrt ISP jest podłączone w mechanizmie "Internal Networking" do kolejnej VM-ki OpenWrt SWITCH (interfejs ETH0).

VM-ka OpenWrt SWITCH posiada CZTERY interfejsy.
Tutaj działa mechanizm "Internal Networking".
Interfejsy VM-ki OpenWrt SWITCH:
-->  ETH0 (przyjmuję ruch od VM-ki OpenWrt ISP)
-->  ETH1 (wypuszcza/przyjmuję ruch do/od ROUTER-a czyli kolejna VM-ka)
-->  ETH2 (ruch LAN dla końcówki od wspomnianego ROUTER-a czyli kolejna VM-ka)
-->  ETH3 (ruch LAN dla końcówki od wspomnianego ROUTER-a czyli kolejna VM-ka)

Drobne zastrzeżenie:
W poprzednim poście podałem konfigurację VM-ki OpenWrt SWITCH z wydzielonym od głównego bridge - interface eth3 - do management-u, więc stąd wynika pewna różnica w moim przekazie.

32 (edytowany przez mar_w 2023-03-17 19:59:17)

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

tak myślałem.
W środowisku wirtualnym może być ciężko bo tam są porty w "Internal Network" i ta wewnętrzna sieć mostkuje porty.
nie wiem czy można zrobić bridga na zmostkowanych portach, żeby działał tak jak chcesz, a nie tak jak widzi to VBox.
Fajnie działa przerzucanie pakietów w L3 z jednego portu na inny port który jest w innym "Internal Networku"
A tu chodzi o L2, żeby przeszły żądania DHCP, które nie przechodzą....
Dobrze jest narysować schemat i oznaczyć pętlami.
https://zapodaj.net/8bb45bc4cb556.png.html
Załóżmy że pierwsza pętla to porty ETH0 - ISP czyli będą się widzieć wzajemnie po linii takiej jak chcesz.
Zakładając, że porty ETH1, ETH2, ETH3, WAN/LAN, PC1 i PC2 są w jednym "Internal Networku" to pakiety mogą przelatywać między PC1 i PC2 bez switcha  bo są w wewnętrznej sieci VBoxa i skąd mają wiedzieć, że akurat taki jest Twój pomysł.
Chyba że pogrupujesz parami w osobne "Internal Networki" ale wtedy nie zbridzujesz tych sieci i jedynie zadziała forward w L3 a nie o to chodzi.
https://zapodaj.net/b12950517f74c.png.html

Problem może być w sposobie działania VBoxa a nie Openwrt.

PS. Cisco Packet Tracer robi tak jak byś chciał, żeby szły pakiety, ale on działa na zupełnie innej zasadzie.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

mar_w napisał/a:

Chyba że pogrupujesz parami w osobne "Internal Networki" ale wtedy nie zbridzujesz tych sieci i jedynie zadziała forward w L3 a nie o to chodzi.
https://zapodaj.net/b12950517f74c.png.html

Problem może być w sposobie działania VBoxa a nie Openwrt.

Od pierwszej próby pogrupowałem parami w osobne cztery "Internal Network".
Chciałem aby VM-ka OpenWrt SWITCH realizowała komunikację pomiędzy tymi czterema "Internal Network".
https://i.postimg.cc/nM88sW-ZB/INTERNAL.png

Mówisz, że VBox w takim scenariuszu nie chcę wspólpracować?
Czy wiesz, czy GNS3 również będzie protestował?

34 (edytowany przez mar_w 2023-03-19 22:57:22)

Odp: OpenWrt x86_64 z kilkoma ETH jako switch LAYER2 z VLAN ACCESS/TRUNK.

Przecież wiesz że nie będzie protestował, bo działa w jakimś sensie podobnie do Packet Tracer.
Możesz definiować który port urządzenia "A" połączysz z którym portem urządzenia "B" poprzez funkcję Add a link.
Na hostach w oprogramowaniu definiujesz co te porty robią, czy routing, czy switching czy bridging wink itd
Na hostach VB karty sieciowe ustawiasz jako "Generic Driver"
Tu przykład żeby nie było....
Targowanie się o adres IP na tagowanym vlan 4 między ISP a ROTS
https://i.ibb.co/7pNMsmc/GNS3-2.png

a tu dalsze operacje sieciowe ze wszystkich interfejsów...

https://i.ibb.co/rdvp4JF/GNS3-5.png

ISP na eth0 ma adres 172.16.1.1
SW1 - switch który ma 2 bridże: 1-szy. bridge na portach br0 = eth0 + eth1.4 (vlan4) oraz 2-gi. bridge na portach br1 = eth1 + eth2.
ROTS (router on the stick) - pobiera na tagowanym WAN eth0.4 (vlan4) adres po DHCP od ISP - 172.16.1.249 (bo tak wylosował a ramka tagowana jest na switchu SW1 na porcie eth1.4),      a na LAN eth0 ma adres 192.168.100.1 i włączony serwer DHCP
C1 - klient ROTS, na eth0 pobiera po DHCP adres 192.168.100.178 (bo tak wylosował)

*) porty ethX opisane powyżej to porty lokalne na pojedynczych maszynach i nie myl z globalnymi oznaczeniami ze swojego rysunku.

Klient C1- puszcza jednego pinga do ISP bez tagowania.
ROTS - standardowo 4 operacje na eth0 i eth0.4: odbiera nietagowanego pinga od C1, podmienia adres na swój + taguje ramkę vlan4  i przekazuje w stronę ISP przez switch SW1, odbiera odpowiedź od ISP przechodzącą przez switch SW1 który tagował ramkę vlan4, dalej przekazuje ramkę do C1 bez tagowania.
SW1 - ma 3 interfejsy a więc obrazek po prawej stronie ze wszystkich trzech. Na eth0 nie ma tagowania, bo ISP też nie taguje. Tak samo na porcie eth2 nie ma tagowania bo to zwykły klient. Najwięcej dzieje się na porcie eth1 i eth1.4

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *