Транкинг VLAN на интерфейсе возможен только с хостов в его VLAN

Транкинг VLAN на интерфейсе возможен только с хостов в его VLAN

Я пытаюсь настроить подынтерфейсы на моем сервере Ubuntu 14.04 для каждой VLAN. Я считаю, что успешно настроил их с помощью vconfig, но подынтерфейс пингуется только с хостов в его собственной VLAN. Мне понадобятся хосты за пределами его VLAN, чтобы иметь возможность подключиться к нему. Кажется, это отлично работает для моего сервера CentOS, поэтому я знаю, что моя сеть правильная. Я также вижу пакеты запросов ICMP на подынтерфейсе, когда я делаю tcpdumpи пингую подынтерфейс с клиента за пределами VLAN.

Есть идеи? Какие еще советы по устранению неполадок вы можете мне дать?

EDIT: Мне удалось это исправить. Мой tcpdump на сервере показывал запросы icmp echo, но не отвечал. Я нашел связанный постздесьВключение регистрации марсианского источника следующим образом:

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

а потом

sysctl net.ipv4.conf.all.rp_filter=2

Исправил. Удивляюсь, что это не встречается чаще.

решение1

Мне удалось это исправить. Мой tcpdump на сервере показывал запросы icmp echo, но не отвечал. Я нашел связанный постздесьВключение регистрации марсианского источника следующим образом:

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

а потом

sysctl net.ipv4.conf.all.rp_filter=2

Исправил. Удивляюсь, что это не встречается чаще.

решение2

Чтобы ваш клиент мог выполнить команду ping на IP-адрес вашего сервера, должно выполняться одно из следующих условий:

  • Клиент должен находиться в той же [V]LANИиспользовать IP-адрес в той же IP-подсети, что и адрес, который он пытается пинговать.

ИЛИ

  • Должен быть IP-маршрутизатор (или сеть маршрутизаторов), соединяющий [V]LAN и IP-подсеть клиента с [V]LAN и IP-подсетью сервера.

Если вы не настроили маршрутизатор между двумя VLAN (или между двумя IP-подсетями в одной VLAN, если это то, что вы делаете), то вы не предоставили сетевой IP-маршрут для прохождения пингов.

Обратите внимание, что некоторые ОС, по крайней мере в некоторых конфигурациях, не обращают внимания на то, на какой интерфейс пришел определенный IP-пакет. Поэтому в таких случаях они могут отвечать на ping-запрос, который пришел на «неправильный» интерфейс. Возможно, ваша среда CentOS была неряшливой, как эта, но ваш Ubuntu-бокс более осторожен в отношении того, какой интерфейс есть какой. Или, возможно, вы включили IP-пересылку (простейший вариант IP-маршрутизатора) на CentOS-боксе, но не на Ubuntu-боксе.

решение3

Похоже, вам нужны маршруты для конкретных удаленных сетей, к которым вы пытаетесь подключиться.

Для проверки вставьте маршрут в таблицу маршрутизации следующим образом:

sudo route add -net 172.16.0.0/12 gw 192.168.1.113 dev eth.<vlan number>

Чтобы сделать эти маршруты постоянными, вам потребуется сделать запись в /etc/network/interfaces следующего вида:

up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>

Связанный контент