Рейтинг:1

Не удается пропинговать пространство имен внутренней сети

флаг ky

Я создал два сетевых пространства имен, то есть красное и синее, на машине Centos следующим образом:

[root@ip-xxx-xxx-xxx-xxx ~]# ip netns добавить красный
[root@ip-xxx-xxx-xxx-xxx ~]# ip netns добавить синий

[root@ip-xxx-xxx-xxx-xxx ~]# ip netns
синий
красный

Я создал виртуальные кабели «veth-red» и «veth-blue», а затем соединил их с помощью следующей команды:

[root@ip-xxx-xxx-xxx-xxx ~]# ip link add veth-red тип veth имя пира veth-blue

Затем я прикрепил соответствующий интерфейс к каждому пространству имен следующим образом:

[root@ip-xxx-xxx-xxx-xxx ~]# ip link set veth-red netns red
[root@ip-xxx-xxx-xxx-xxx ~]# ip link set veth-blue netns blue

Затем я назначил IP-адреса каждому из этих пространств имен следующим образом:

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n red addr add 192.168.15.1 dev veth-red

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n blue addr add 192.168.15.2 dev veth-blue

Затем я запускаю интерфейс с помощью команды настройки IP-ссылки для каждого устройства в соответствующих пространствах имен.

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n red link set veth-red up
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n blue link set veth-blue up

Затем, когда я проверяю интерфейсы внутри каждого пространства имен, я получаю «veth-red» в «красном» пространстве имен и «veth-blue» в синем пространстве имен следующим образом:

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n красная ссылка
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
17: veth-red@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state Режим UP DEFAULT group default qlen 1000
    ссылка/эфир 7e:9d:42:79:2d:2f brd ff:ff:ff:ff:ff:ff ссылка-netnsid 1
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n синяя ссылка
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
16: veth-blue@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state Режим UP DEFAULT group default qlen 1000
    ссылка/эфир 62:aa:79:55:46:56 brd ff:ff:ff:ff:ff:ff link-netnsid 0

Мое сомнение возникает, когда я пытаюсь отправить пинг с красного на синий (IP-адрес: 192.168.15.2) следующим образом:

[root@ip-xxx-xxx-xxx-xxx ~]# ip netns exec красный ping 192.168.15.2
подключиться: сеть недоступна

Может ли кто-нибудь сообщить мне, почему я получаю сообщение «Сеть недоступна», хотя все делал по инструкции? Пожалуйста помоги

Michael Hampton avatar
флаг cz
Показать `ip -n красный адрес` (и `синий`).
Gompu avatar
флаг ky
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n красный адрес 1: вот: mtu 65536 qdisc noop состояние DOWN группа по умолчанию qlen 1000 ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00 17: veth-red@if16: mtu 1500 qdisc noqueue state UP group default qlen 1000 ссылка/эфир 7e:9d:42:79:2d:2f brd ff:ff:ff:ff:ff:ff ссылка-netnsid 1 инет 192.168.15.1/32 охват глобальный veth-красный valid_lft навсегда ссылка на область inet6 fe80::7c9d:42ff:fe79:2d2f/64 valid_lft навсегда
Michael Hampton avatar
флаг cz
Это нечитаемо. Отредактируйте свой вопрос.
Рейтинг:2
флаг cn

Вы можете устранить неполадки с помощью маршрут команда:

# ip -n красный маршрут получить 192.168.15.2
RTNETLINK отвечает: Сеть недоступна

Это хороший намек. У вас нет правильной маршрутизации в пространствах имен. В данном случае это связано с тем, что вы пропустили сетевую маску при добавлении IP-адреса:

# ip -o -n красный а
7: veth-red inet 192.168.15.1/32 глобальная область видимости veth-red\ valid_lft навсегда 

Попробуйте добавить IP-адрес с /24 поэтому таблица маршрутизации знает, что через этот интерфейс она может связаться с другими IP-адресами в сети.

  1. сначала очистить все IP-адреса
# ip -n red addr flush dev veth-red
# ip -n blue addr flush dev veth-blue

  1. Добавьте правильный IP с сетевой маской (с использованием /24 как минимум запутанный, но даже /30 будет работать для вашего примера).
# ip -n red addr add 192.168.15.1/24 dev veth-red
# ip -n blue addr add 192.168.15.2/24 dev veth-blue

И вы сделали:

# ip netns exec красный ping -c2 192.168.15.2
PING 192.168.15.2 (192.168.15.2) 56 (84) байт данных.
64 байта от 192.168.15.2: icmp_seq=1 ttl=64 время=0,034 мс
64 байта от 192.168.15.2: icmp_seq=2 ttl=64 время=0,022 мс

--- Статистика пинга 192.168.15.2 ---
2 пакета передано, 2 получено, 0% потери пакетов, время 1035 мс
rtt min/avg/max/mdev = 0,022/0,028/0,034/0,006 мс```
Gompu avatar
флаг ky
Спасибо, это сработало

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

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