Невозможно проверить связь с хостом или Интернетом из многосвязного (мост + интерфейсы veth) сетевых пространств имен LiLinux

Ответить Пред. темаСлед. тема
Anonymous
 Невозможно проверить связь с хостом или Интернетом из многосвязного (мост + интерфейсы veth) сетевых пространств имен Li

Сообщение Anonymous »

Я работаю над макетом сети малого предприятия с использованием сетевых пространств имен Linux.
Установка включает маршрутизатор, мост и устройство конечного пользователя. Я настроил настройку, используя следующие инструкции:
  • Создайте 2 пространства имен ns1 для моста и ns2 для конечного устройства. .

Код: Выделить всё

sudo ip netns add ns1
sudo ip netns add ns2
  • Создайте интерфейс моста в пространстве имен по умолчанию

Код: Выделить всё

sudo ip link add nsd-br type bridge
sudo ip address add 10.0.0.1/24 dev nsd-br
  • Создайте пару veth для подключения моста nsd-br в пространстве имен по умолчанию к пространству имен ns1

Код: Выделить всё

sudo ip link add ns1-veth0 type veth peer name nsd-veth0
sudo ip link set ns1-veth0 netns ns1
sudo ip link set dev nsd-veth0 master nsd-br
  • Создайте мост ns1-br в пространстве имен ns1

    Код: Выделить всё

    sudo ip netns exec ns1 ip link add ns1-br type bridge
    sudo ip netns exec ns1 ip address add 10.0.1.1/24 dev ns1-br
    
  • Соедините ns1-br и ns2 с помощью veth

    Код: Выделить всё

    sudo ip link add ns2-veth1 type veth peer name ns1-veth1
    sudo ip link set ns1-veth1 netns ns1
    sudo ip link set ns2-veth1 netns ns2
    
    
  • Установите 'ns1-br

    Код: Выделить всё

    as master for
    ns1-veth1`

Код: Выделить всё

sudo ip netns exec ns1 ip link set dev ns1-veth1 master ns1-br
  • Настройте IP-адрес для ns2-veth1 в пространстве имен ns2
    < /ол>

    Код: Выделить всё

    sudo ip netns exec ns2 ip address add 10.0.1.2/24 dev ns2-veth1
    
  • Включите все интерфейсы:

Код: Выделить всё

sudo ip link set dev nsd-br up
sudo ip link set dev nsd-veth0 up
sudo ip netns exec ns1 ip link set dev ns1-br up
sudo ip netns exec ns1 ip link set dev ns1-veth0 up
sudo ip netns exec ns1 ip link set dev ns1-veth1 up
sudo ip netns exec ns2 ip link set dev ns2-veth1 up
  • Настройка маршрутизации для всех пространств имен

Код: Выделить всё

sudo ip route add 10.0.0.1/24 via 10.0.0.1 dev nsd-br (automatically configured by kernel)
sudo ip route add 10.0.1.0/24 via 10.0.0.1 dev nsd-br

# for ns1
sudo ip netns exec ns1 ip route add 10.0.0.0/24 via 10.0.0.4 dev ns1-veth0 (automatically configured by kernel)
sudo ip netns exec ns1 ip route add 10.0.1.0/24 via 10.0.1.1 dev ns1-br

# for ns2

sudo ip netns exec ns2 ip route add 10.0.1.0/24 via 10.0.1.1 dev ns2-veth1 (automatically configured by kernel)
sudo ip netns exec ns2 ip route add 10.0.0.0/24 via 10.0.1.1 dev ns2-veth1

Настройка выглядит так
Проблема
  • Я не могу пинговать 10.0.0.1 (nsd-br) из ns2 и не иметь возможности пинговать 10.0.1.2 из пространства имен по умолчанию.
  • I я не могу пинговать Интернет (1.1.1.1) из ns2
Когда я пингую 10.0.1.2 по умолчанию пространство имен, вывод tcpdump интерфейсов nsd-br, ns1-veth0:

Код: Выделить всё

10:04:37.576618 ARP, Request who-has 10.0.1.2 tell 10.0.0.1, length 28
но интерфейс ns1-br не получает эти пакеты.
MAC-адрес 10.0.1.2 отсутствует в интерфейсе ns1-veth0, но присутствует в ns1-br, почему таблицы ARP не используются совместно интерфейсами, если оба интерфейса находятся в одном пространстве имен?
Кроме того, здесь отсутствуют правила NAT, и весь трафик по умолчанию перенаправляется в пространства имен ns1 и ns2.>

Подробнее здесь: https://stackoverflow.com/questions/782 ... erfaces-li
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»