Рейтинг:1

Пинг Linux между двумя сетевыми пространствами имен

флаг gb

Тихий новичок в сети Linux и не смог найти ответ на похожие вопросы.

Пытаюсь создать 2 пространства имен и пинговать между ними

ip netns добавить красный;
ip netns добавить синий;

ip link add dev v-red type veth имя однорангового узла v-blue;
ip link set dev v-red netns red;
ip link set dev v-blue netns blue;

ip netns exec red ip addr add 192.168.15.1 dev v-red;
ip netns exec blue ip addr add 192.168.15.2 dev v-blue;

ip netns exec red ip link set dev v-red up;
ip netns exec blue ip link set dev v-blue up;

ip netns exec red ping 192.168.15.2;
-> ping: соединение: сеть недоступна

Что я искал при отладке

ip netns exec синий ifconfig
v-синий: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 192.168.15.2 сетевая маска 255.255.255.255 широковещательный 0.0.0.0

ip netns exec красный ifconfig
v-красный: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 192.168.15.1 сетевая маска 255.255.255.255 широковещательный 0.0.0.0

Рейтинг:2
флаг jo

Два устройства находятся в двух разных логических сетях /32, и нет никаких маршрутов или таблиц маршрутизации, намекающих на способ связи с каждым хостом.

Если вы выполните # ip netns exec red ip route get 192.168.15.2 он ответит с RTNETLINK отвечает: Сеть недоступна. Потому что в таблице маршрутизации нет ответа, как отправить пакет в сеть 192.168.15.2/32.

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

ip netns exec red ip route add 192.168.15.2/32 dev v-red
ip netns exec blue ip route add 192.168.15.1/32 dev v-blue

Затем вы можете распечатать таблицу маршрутизации, чтобы увидеть, как теперь проинструктирован маршрут.

ip netns exec синий список IP-маршрутов
192.168.15.1 dev v-blue ссылка на область видимости

Имейте в виду, что здесь вполне допустимо использовать маршрут по умолчанию (ip netns exec red ip route add default dev v-red), так как это охватывает все хосты, а не только тот, который, как вы знаете, существует на другой стороне, но для понимания того, в чем здесь проблема, я добавил конкретные хосты, с которыми вы пытались связаться.

На этом этапе (если позволяют брандмауэры) проверка связи должна работать должным образом.

Eyal Solomon avatar
флаг gb
Отличное объяснение! Очень подробно и очень помогло
Рейтинг:1
флаг pl

Все было объяснено приведенным выше ответом. Я пытаюсь объяснить дальше, делая набросок вашей установки. Вам не хватает маршрутизации в каждом пространстве имен. Просто имейте в виду, что пространство имен является полным экземпляром стека маршрутизации TCP/IP (ARP, интерфейсы, маршрутизация, правила брандмауэра и т. д.).

Ваша установка

Надеюсь это поможет.

Eyal Solomon avatar
флаг gb
Спасибо Брахим! Подробный эскиз всегда полезен

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

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