Назад | Перейти на главную страницу

доступ к интерфейсу Tap в сетевом пространстве имен между машинами

Я хочу иметь доступ к службам, работающим на интерфейсе TAP в пространстве имен, извне компьютера, на котором он работает. У меня есть установка, которая выглядит так -

VM1/Machine1
 +eth0 : Public Network
 +eth1 : Private Network (IP: 192.168.2.5/24)

VM2/Machine2
+========================================+
|                                        |
| eth0: Public Network 10.1.1.20/24 UP   |
| eth1: Private Network             UP   |
|----------------------------------------+
| Network Namespace : test               |
|  TAP0: 192.168.2.10/24, UP             |
|----------------------------------------|
|                                        |
+========================================+

Я хочу иметь возможность пинговать / получать доступ к службам, работающим на TAP0, в рамках теста пространства имен с VM1 / Machine1. Я использовал информацию в сообщении «OpenVSwitch между пространствами имен» и несколько других статей в Интернете, чтобы создать мост, поместив «eth1» и «TAP0» на один мост. Но я все еще не могу получить к нему доступ. Не знаете, чего еще не хватает? Вот команды, которые я пробовал на VM2 / Machine2 -

ip netns add test
ovs-vsctl add-br br0
ovs-vsctl add-port br0 tap0 -- set interface tap0 type=internal
ip link set tap0 netns test
ip netns exec test ip addr add 192.168.2.10/24 dev tap0
ip netns exec test ip link set tap0 up
ovs-vsctl add-port br0 eth1 -- set interface eth1 type=internal

После этого у моста br0 есть eth1 и tap0. Поэтому, когда я пингую IP-адрес интерфейса Tap с VM1, я думал, что смогу связаться с tap0. Это работает правильно без пространств имен, но с пространством имен не работает.

В другой попытке я тоже попробовал

- creating 2 bridges
- one OVS bridge outside
- one linux bridge inside namespace
- created a veth pair
- ovs bridge has eth1 and one end of veth pair
- linux bridge in the namespace has 'tap' interface and other end of veth pair

Но и это не сработало :(

Я думал, что вся суть моста в том, что если я добавлю в него интерфейс / порт, я должен иметь доступ к службам порта, как коммутатор. Не уверен, что мне не хватает.