В статье "Некоторые особенности коммутаторов Allied Telesis" я описывал всякого рода странности и неприятные баги в работе коммутаторов AT-9424Ts/XP и AT-GS950/16. Но я и не подозревал, что всё настолько плохо. Берём сервер, подключенный к коммутатору:[root@vega ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:11:0A:5A:27:E4 inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::211:aff:fe5a:27e4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:57025505 errors:0 dropped:0 overruns:0 frame:0 TX packets:51137200 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3662328796 (3.4 GiB) TX bytes:1962996776 (1.8 GiB) eth1 Link encap:Ethernet HWaddr 00:11:0A:5A:27:E5 inet addr:172.16.1.7 Bcast:172.16.1.15 Mask:255.255.255.240 inet6 addr: fe80::211:aff:fe5a:27e5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9198 Metric:1 RX packets:9688696 errors:2 dropped:0 overruns:0 frame:2 TX packets:9858568 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:705904875 (673.2 MiB) TX bytes:3201682856 (2.9 GiB) eth2 Link encap:Ethernet HWaddr 00:D0:B7:A8:2B:65 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:10180 errors:0 dropped:0 overruns:0 frame:0 TX packets:11836 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2125206 (2.0 MiB) TX bytes:1961109 (1.8 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1778733 errors:0 dropped:0 overruns:0 frame:0 TX packets:1778733 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:116896522 (111.4 MiB) TX bytes:116896522 (111.4 MiB) Смотрим, на каком порту он висит: spider-sw# sh swi fdb addr=00:11:0A:5A:27:E4 Switch Forwarding Database Total Number of FDB addresses[25], ----------------------------------------------------------------------------- VLAN ID ADDRESS PORT STATUS ----------------------------------------------------------------------------- 1 00:11:0A:5A:27:E4 18 Dynamic 1 entry is shown Смотрим на вланы (все показывать не буду, просто поверьте, что порт 18 больше нигде не фигурирует): VLAN Name ............................ Default_VLAN VLAN ID .............................. 1 VLAN Type ............................ Port Based Protected Ports ...................... No Untagged Port(s) Configured ......................... 1,3-6,8,12,14-15,17-18,23 Actual ............................. 1,3-6,8,12,14-15,17-18,23 Tagged Port(s) ....................... None Проверяем, что трафик до 192.168.103.5 (некая жертва в соседнем влане) пойдёт через этот коммутатор: [root@vega ~]# traceroute -I -q1 192.168.103.5 traceroute to 192.168.103.5 (192.168.103.5), 30 hops max, 60 byte packets 1 * //это spider, см. прерыдущую статью 2 ap-806.comp.susu.ac.ru (192.168.103.5) 0.640 ms А теперь следите за руками: [root@vega ~]# ip link add link eth0 type vlan id 103 [root@vega ~]# ifconfig vlan0 192.168.103.9 netmask 255.255.255.0 [root@vega ~]# traceroute -I -q1 192.168.103.5 traceroute to 192.168.103.5 (192.168.103.5), 30 hops max, 60 byte packets 1 ap-806.comp.susu.ac.ru (192.168.103.5) 1.716 ms Опаньки, мы в 103 влане. Напрямую. Покажу ещё 103 влан, чтобы уж сомнения снять: spider-sw# sh swi fdb addr=00:11:0A:5A:27:E4 Switch Forwarding Database Total Number of FDB addresses[25], ----------------------------------------------------------------------------- VLAN ID ADDRESS PORT STATUS ----------------------------------------------------------------------------- 1 00:11:0A:5A:27:E4 18 Dynamic 103 00:11:0A:5A:27:E4 18 Dynamic 2 entries are shown spider-sw# sh vlan=103 VLAN Information: VLAN Name ............................ Teachers VLAN ID .............................. 103 VLAN Type ............................ Port Based Protected Ports ...................... No Untagged Port(s) Configured ......................... 9-11 Actual ............................. 9-11 Tagged Port(s) ....................... 8,12,15 Как видно, порт 18 в vlan 103 не состоит, а запись есть. Это означает одно из двух - либо по умолчанию порт принимает любые тэгированные кадры и форвардит их, а я это в мануале просмотрел, либо разработчики прошивки проморгали такую примитивную дыру. Оба предположения в равной степени пугают, ибо неразумный дефолт порой страшнее неосознанной ошибки. Капитанские выводы:
|
Блог >