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

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

РЕДАКТИРОВАТЬ: Мне удалось это исправить. Мой tcpdump на сервере показывал эхо-запросы icmp, но не отвечал. Я нашел соответствующий пост здесь. Включение регистрации марсианского источника следующим образом:

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

а потом

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

Починил это. Я удивлен, что это не подходит чаще.

3 ответа3

0

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

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

ИЛИ ЖЕ

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

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

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

0

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

Чтобы проверить, вставьте маршрут в таблицу маршрутизации следующим образом:

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>
0

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

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

а потом

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

Починил это. Я удивлен, что это не подходит чаще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .