1 (edytowany przez gegu 2019-04-14 22:59:57)

Temat: wr841n jednocześnie tagowany i nietagowany ruch na interfejsie

Cześć,
W celu jednoczesnego przesłania internetu i telewizji próbuję skonfigurować wr841n v9.0, tak aby na dwóch interfejsach sieciowych wpiętych do bridge'a przesyłał jednocześnie ruch tagowany (vlanid 14), jak i nietagowany. O ile w tplinkach z gigabitowymi interfejsami działa to bez problemu, to w przypadku w/w pudełka z "setkami" wygląda na to, że to nie działa. Jeśli na którymś interfejsie sieciowym ustawię tagowanie dla jakiegoś vlanid, to wszystkie pakiety na tym interfejsie zostają otagowane. Czy w pudełkach z "setkami" jakoś inaczej ustawia się vlany lub robię coś źle? A może mam tematu więcej nie drążyć, bo to i tak nie zadziała? W zasadzie, to zadowoliło by mnie też przesyłanie całego ruchu po portach w bridge'u bez przetwarzania vlanów - jak w głupim (niezarządzalnym switchu). Czy da się tak zrobić? Pytam, bo wiki openwrt, dotycząca konfiguracji vlanów na switchu jest uboga i nie ma startu do wiki/docsów Cisco, czy choćby MikroTika.

Ustawienia sieci:

root@OpenWrt:/# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan14=interface
network.lan14.type='bridge'
network.lan14.ifname='eth0.14'
network.lan14.proto='static'
network.lan14.ipaddr='192.168.14.1'
network.lan14.netmask='255.255.255.0'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='1 2 3 4 0t'
network.@switch_vlan[0].vid='1'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='1t 2t 0t'
network.@switch_vlan[1].vid='14'

swconfig:

root@OpenWrt:/# swconfig dev switch0 show
Global attributes:
        enable_vlan: 1
        mirror_monitor_port: 15
Port 0:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow 
Port 1:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 1
        link: port:1 link:up speed:100baseT full-duplex auto
Port 2:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 1
        link: port:2 link:down
Port 3:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 1
        link: port:3 link:down
Port 4:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 1
        link: port:4 link:down
VLAN 0:
        vid: 0
        ports: 0t 
VLAN 1:
        vid: 1
        ports: 0t 1t 2t 3 4 
VLAN 2:
        vid: 14
        ports: 0t 1t 2t

Sprawdzenie od strony laptopa z linuxem, wpiętego do 1. portu tplinka:

root@laptop:/home/gegu# ip a show type vlan
7: eth0.14@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e8:03:9a:00:0c:e7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.14.2/24 scope global eth0.14
       valid_lft forever preferred_lft forever
    inet6 fe80::ea03:9aff:fe00:ce7/64 scope link 
       valid_lft forever preferred_lft forever
8: eth0.1@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e8:03:9a:00:0c:e7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 scope global eth0.1
       valid_lft forever preferred_lft forever
    inet6 fe80::ea03:9aff:fe00:ce7/64 scope link 
       valid_lft forever preferred_lft forever
root@laptop:/home/gegu#
root@laptop:/home/gegu# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0,465 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0,411 ms
^C--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0,411/0,438/0,465/0,027 ms
root@laptop:/home/gegu# ping 192.168.14.1
PING 192.168.14.1 (192.168.14.1): 56 data bytes
64 bytes from 192.168.14.1: icmp_seq=0 ttl=64 time=0,490 ms
^C--- 192.168.14.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0,490/0,490/0,490/0,000 ms

Wireshark ping do 192.168.1.1 - tagowany vlanid 1 (a nie powinien być tagowany):

Frame 1: 102 bytes on wire (816 bits), 102 bytes captured (816 bits) on interface 0
Ethernet II, Src: SamsungE_00:0c:e7 (e8:03:9a:00:0c:e7), Dst: Tp-LinkT_ec:7a:da (e8:de:27:ec:7a:da)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 1
    000. .... .... .... = Priority: Best Effort (default) (0)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 0000 0001 = ID: 1
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.1.2, Dst: 192.168.1.1
Internet Control Message Protocol

Wireshark ping do 192.168.14.1 - tagowany vlanid 14 (tu jest dobrze - jest tagowany, tak jak chciałem):

Frame 13: 102 bytes on wire (816 bits), 102 bytes captured (816 bits) on interface 0
Ethernet II, Src: SamsungE_00:0c:e7 (e8:03:9a:00:0c:e7), Dst: Tp-LinkT_ec:7a:da (e8:de:27:ec:7a:da)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 14
    000. .... .... .... = Priority: Best Effort (default) (0)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 0000 1110 = ID: 14
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.14.2, Dst: 192.168.14.1
Internet Control Message Protocol

----edit---
Zapomniałem dodać:

root@OpenWrt:/# cat /etc/banner
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 18.06-SNAPSHOT, r7714-4918fe0291                                  |
 |                                                                           |
 | Build time: 2019-03-11 08:13 CET                                          |
 | Cezary Jackiewicz (obsy), http://eko.one.pl                               |
 |                                                                           |
 -----------------------------------------------------------------------------
rt-ac56u tomato, 2x wdr3600@16MB/u-boot pepe2k/lede, 2x wt3020f@16MB/e3372s/gargoyle/lede, 3x wr841n@16MB/64MB/u-boot pepe2k/lede, rt-n18u tomato, 2x rb750gr2 ROS, 3x rb750gr3 ROS, Unifi ap ac lr

2

Odp: wr841n jednocześnie tagowany i nietagowany ruch na interfejsie

Na niektórych chipach to działa, na niektórych nie. Jeżeli całość robi się otagowania to nie masz jak tego ustawić na tym sprzęcie, więc... zmień sprzęt.

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

3

Odp: wr841n jednocześnie tagowany i nietagowany ruch na interfejsie

Cezary, dzięki za potwierdzenie moich obserwacji.

rt-ac56u tomato, 2x wdr3600@16MB/u-boot pepe2k/lede, 2x wt3020f@16MB/e3372s/gargoyle/lede, 3x wr841n@16MB/64MB/u-boot pepe2k/lede, rt-n18u tomato, 2x rb750gr2 ROS, 3x rb750gr3 ROS, Unifi ap ac lr

4

Odp: wr841n jednocześnie tagowany i nietagowany ruch na interfejsie

Dla potomności: próbowałem zastosować sztuczkę z vlanid 0, ale też nie zadziałalo. Wdr4300 działa bez problemów w docelowym miejscu, w wymaganej konfiguracji.

rt-ac56u tomato, 2x wdr3600@16MB/u-boot pepe2k/lede, 2x wt3020f@16MB/e3372s/gargoyle/lede, 3x wr841n@16MB/64MB/u-boot pepe2k/lede, rt-n18u tomato, 2x rb750gr2 ROS, 3x rb750gr3 ROS, Unifi ap ac lr