Рейтинг:0

Проблемы с VLAN в Linux. Может пинговать хосты в других VLAN

флаг cn

Когда я настраиваю IP-адрес на интерфейсе vlan из другой подсети vlan, я могу получить доступ к этой другой подсети vlan. Но он не должен быть доступен.

Например:

  • На коммутаторе порт настроен как тегированный только с идентификатором vlan 500.
  • В системе Linux интерфейс eth0.500 с IP-адресом 192.168.10.30/24 может пинговать хосты в подсети 192.168.10.0/24, но эти хосты находятся в vlan 3000.

Я не могу понять, что я делаю неправильно. Можете ли вы помочь мне решить эту проблему, пожалуйста?

На линуксе ошибка:

ядро: получен пакет на eth0.3000 с собственным адресом в качестве адреса источника (адрес: f4:03:43:ba:ca:c1 vlan:0)

STP отключен как на коммутаторе, так и на Linux-боксе.

Что я пробовал:

  • rp_filter=1 - без эффекта
  • arp_ignore=1 или 2 - никакого эффекта
  • arp_filter=1 - без эффекта

Неважно, обычный это интерфейс или бонд или мост, поведение одинаковое.

Ошибок на коммутаторе нет.

Маршрут по умолчанию не установлен ни на коммутаторе, ни на Linux-боксе.

В Wireshark при захвате трафика на eth0 на пакетах стоит vlan tag=500.

Спасибо!

РЕДАКТИРОВАТЬ 1: Таблица маршрутизации на Linux-боксе:

192.168.10.0/24 dev eth0.500 ссылка на прото-ядро области src 192.168.10.30

РЕДАКТИРОВАТЬ 2: Диаграмма диаг.1

РЕДАКТИРОВАТЬ 3: трассировка и пинг

трассировка 192.168.10.31
1?: [LOCALHOST] pmtu 1500
1: ??? 0,714 мс !Ч
1: ??? 0,516 мс !Ч
    Резюме: pmtu 1500

пинг -с 2 192.168.10.31
PING 192.168.10.31 (192.168.10.31) 56 (84) байт данных.
64 байта от 192.168.10.31: icmp_seq=1 ttl=64 время=0,230 мс
64 байта от 192.168.10.31: icmp_seq=2 ttl=64 время=0,197 мс

--- Статистика пинга 192.168.10.31 ---
2 пакета передано, 2 получено, 0% потери пакетов, время 1059 мс

rtt min/avg/max/mdev = 0,197/0,213/0,230/0,016 мс

РЕДАКТИРОВАТЬ 4: IP-адреса

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    ссылка/эфир f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff
3: eth0.500@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    ссылка/эфир f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff
    инет 192.168.10.30/24 область глобальная eth0.500@eth0
       valid_lft навсегда
4: eth0.3000@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    ссылка/эфир f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff
флаг in
Пакеты направляются куда-то еще?
eKKiM avatar
флаг lr
Можете ли вы добавить таблицу маршрутизации?
флаг cn
Маршрут по умолчанию не установлен в Linux, а также никаких дополнительных маршрутов. Коммутатор Mellanox SN2010M, на этом коммутаторе маршрутизация включена, но используется только интерфейс управления, даже без IP-адресов на интерфейсах VLAN. Может ли это быть Cisco ASA с включенным внутренним интерфейсом разрешения того же трафика безопасности?
флаг cn
@eKKiM добавлено в конце поста
eKKiM avatar
флаг lr
Другие хосты в 192.168.10.0/24 в vlan 3000 отображаются в вашей таблице ARP? Возможно, небольшая диаграмма с хостами, коммутатором и Cisco ASA тоже будет полезна!
vidarlo avatar
флаг ar
`eth0.500 с IP-адресом 192.168.10.30/24 может пинговать хосты в подсети 192.168.10.0/24` - 10.0/24 ***это ***та же*** подсеть, что и 10.0/24. Что показывает трассировка?
флаг cn
Диаграмма @eKKiM в конце сообщения, в таблице arp я могу видеть другие хосты, если я пингую или ssh к ним.
флаг cn
@vidarlo проблема в том, что я могу получить доступ к другим хостам в разных vlan с той же подсетью, поэтому я могу настроить IP-адрес из подсети в vlan 3000 на интерфейсе с vlan 500 и достичь подсети в vlan 3000. tracepath в конце.
eKKiM avatar
флаг lr
У вас что-нибудь настроено на eth0.3000? В конце концов добавить вывод ip addr? У меня также есть ощущение, что в таблице маршрутизации могут быть другие маршруты для других сетевых карт?
флаг cn
IP-адреса @eKKiM в последнем редактировании. Таблица маршрутизации в редактировании 1, других маршрутов нет.
eKKiM avatar
флаг lr
Можете ли вы пропинговать хост с помощью следующей команды?: ping -c 2 192.168.10.31 -I eth0.500 Кроме того, если вы удалите vlan 3000 с хоста, сможете ли вы получить доступ к другим машинам? Также давайте перейдем в чат, чтобы не спамить комментарии: https://chat.stackexchange.com/rooms/131659/issues-with-vlans-on-linux-can-ping-hosts-in-other-vlan
флаг cn
@eKKiM Я могу подключиться к другим хостам с интерфейсом eth0.3000 или без него с помощью вашей команды. Не могу ответить вам в чате из-за низкой репутации, извините.
флаг cn
@eKKiM Является ли MAC-адрес в таблице ARP MAC-адресом удаленной машины или MAC-адресом маршрутизатора/коммутатора? Да, MAC-адрес хоста присутствует в таблице arp на удаленной машине
флаг cn
@eKKiM Вы соединяете VLAN на коммутаторе? Что ты имеешь в виду? Отображение VLAN или Q-in-Q? Нет, я ничего из этого не использую.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.