Доступ к интерфейсу крана в пространстве имен сети на разных машинах
Я хочу иметь возможность доступа к службам, работающим на интерфейсе 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
Но это тоже не сработало:(
Я думал, что весь смысл моста в том, что, если я добавлю интерфейс / порт в него, я должен иметь доступ к службам на порту, как коммутатор. Я не уверен, что мне не хватает.