Назад | Перейти на главную страницу

Добавить тег VLAN к определенному трафику UDP-порта

Я запускаю приложение в Ubuntu12.04, которое я написал, которое выполняет удаленное управление переключением. У меня есть только одна сетевая карта, подключенная к сети управляемых коммутаторов, eth0, для которой установлен IPv4 10.0.0.1/24. Этот IPv4-адрес - единственный адрес, который может использовать эта машина Ubuntu, поскольку это единственный «глобально» маршрутизируемый адрес, назначенный машине Ubuntu (из-за некоторого сетевого администрирования, а не из-за технических проблем ...)

Мне нужен трафик управления коммутатором (NetConf через SSH, с использованием порта UDP 830), чтобы включить тег 802.1q VLAN с идентификатором VLAN 444), при отправке кадров NetConf и ответы будут получены также с этим тегом. Весь остальной трафик (http, ftp, dhcp, snmp и т. Д.) Будет использовать eth0 без тега VLAN.

Я пробовал использовать интерфейс VLAN eth0.444 на eth0, но кажется, что отправленный трафик не включает тег VLAN.

Могу ли я (и как) использовать ebtables / iptables для добавления определенного тега VLAN к определенному трафику порта UDP? Будет ли решение ebtables / iptables работать также для пути приема?

Спасибо!

Дэвид

iptables и ebtables не может устанавливать теги VLAN на пакеты. Вот для чего нужны субинтерфейсы VLAN.

Есть статья в вики Ubunut, в которой обсуждаются VLAN что вам, вероятно, следует просмотреть. В общем, вы хотите:

  • Убедитесь, что в модуль 802.1q загружен modprobe 8021q.

  • Создайте субинтерфейс VLAN с vconfig add eth0 444.

  • Добавьте IP-адрес и маску подсети из подсети, используемой в VLAN 444, в eth0.444 суб-интерфейс с ip addr add x.x.x.x/z dev eth0.444

Вам также необходимо настроить порт коммутатора, к которому подключен сервер, для приема тегированных кадров для VLAN 444. Вы не упоминаете свой бренд коммутатора, поэтому я не могу дать здесь подробных указаний, но вы, вероятно, ищете либо «магистральный», либо «общий» порт, настроенный как тегированный член VLAN 444 и немаркированный член любой VLAN, используемой подсетью, назначенной eth0 интерфейс.

Быть в курсе, что tcpdump жестяная банка есть проблемы с отображением тегов VLAN поэтому не обязательно предполагать, что кадры не помечаются, если вы просто используете tcpdump на самом хосте, чтобы убедиться, что кадры помечены.

Редактировать:

Обычно между VLAN и IP-подсетями существует взаимно однозначная связь. Было бы крайне нетипично, если бы у коммутатора был интерфейс управления в VLAN 444, который был бы той же IP-подсетью, что и любая VLAN, в которой вы сейчас находитесь. eth0 порт расположен в г.

Тег 802.1Q вставлен в заголовок MAC, и ядро ​​не будет его декодировать, если ваш интерфейс не помечен VLAN. Таким образом, даже если вы можете изменить исходящие пакеты, входящий трафик с тегом VLAN останется проигнорированным.

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