[EDIT]
В даний час виробнича система - це змішана фізична система та система на базі ESXi. Ми, очевидно, ніколи не будемо використовувати virtualbox навіть для попереднього виробництва! Тут він використовувався лише для швидкого звуження проблеми безпосередньо на моєму робочому столі.
Дякуємо за пояснення щодо "затриманого" на мета!
[/ EDIT]
Моя установка:
- Приватна мережа
vboxnet110.0.7.0/24 - 1 Хост, робочий стіл ubuntu
- 1 VM, сервер ubuntu (VirtualBox)
Розміщення адреси:
- ХОСТ: 10.0.7.1
- ВМ: 10.0.7.101
- VM MAC ІМЕННЯ : 10.0.7.102
У програмі VMя запустив наступні команди:
ip netns add mac # create a new nmespace
ip link add link eth0 mac0 type macvlan # create a new macvlan interface
ip link set mac0 netns mac
У macпросторі імен всередині VM:
ip link set lo up
ip link set mac up
ip addr add 10.0.7.102/24 dev mac0
Так що ми в основному закінчуємо:
+------------------------+
| Host: 10.0.7.1 |
| |
| +--------------------+ |
| | VM: 10.0.7.101 | |
| | | |
| | +----------------+ | |
| | | NS: 10.0.7.102 | | |
| | | | | |
| | +----------------+ | |
| +--------------------+ |
+------------------------+
Що працює:
- Пінг між
HostіVM - Пінг між
NSіNS - dhclient від
NS
Що не працює:
- ping між
NSтаVM - ping між
NSтаHost
Звідки я почав гаяти:
- tcpdump на
host(справжня машина) фактично показує запит ARP І відповіді - tcpdump
NSпоказує ARP-запити, надіслані хосту - tcpdump на
VMзмушує працювати весь безлад (!) -> ping починає отримувати відповіді, коли tcpdump запускається на VM?!?
Отже, я сумніваюся, що ви прагнули цього, моє питання: як змусити його працювати? Я підозрюю, що щось не так з ARP на macvlan всередині NS, але не можу зрозуміти, що саме ...
До речі, я робив ті ж пояснення з mac0інтерфейсом безпосередньо на VM (немає простору імен), і він працював бездоганно.