Soru Macvlan tabanlı arayüz, host adından değil ad alanından geliyor


[DÜZENLE]

Üretim sistemi şu anda fiziksel ve ESXi tabanlı bir sistemdir. Önceden bir üretim ortamı için bile sanal kutuyu asla kullanmazdık! Burada sadece sorunu doğrudan masaüstümde daraltmak için kullanıldı.

Metada "beklemede" açıklaması için teşekkürler!

[/DÜZENLE]

Kurulumum:

  1. Özel ağ vboxnet1 10.0.7.0/24
  2. 1 Ana bilgisayar, ubuntu masaüstü
  3. 1 VM, ubuntu sunucusu (VirtualBox)

Adresleme düzeni:

  1. HOST: 10.0.7.1
  2. VM: 10.0.7.101
  3. VM MAC ADI: 10.0.7.102

Üzerinde VMAşağıdaki komutları çalıştırdım:

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

Üzerinde mac Sanal makinenin içindeki ad alanı:

ip link set lo up
ip link set mac up
ip addr add 10.0.7.102/24 dev mac0

Öyleyse, temel olarak şu sonuca varırız: (Inception gibi)

+------------------------+
| Host: 10.0.7.1         |
|                        |
| +--------------------+ |
| | VM: 10.0.7.101     | |
| |                    | |
| | +----------------+ | |
| | | NS: 10.0.7.102 | | |
| | |                | | |
| | +----------------+ | |
| +--------------------+ |
+------------------------+

Ne çalışıyor:

  • Arasında ping Host ve VM
  • Arasında ping NS ve NS
  • dhclient NS

Ne çalışmıyor:

  • arasında ping NS ve VM
  • arasında ping NS ve Host

Fındık yapmaya başladığım yer:

  • tcpdump açık host (gerçek makine) aslında ARP talebi ve cevaplarını gösterir
  • tcpdump açık NS ana bilgisayara gönderilen ARP isteklerini gösterir
  • tcpdump açık VM tüm karışıklık çalışır (!) -> VM'de tcpdump başlatıldığında ping cevap almaya başlar?!?

Yani, bahse girerim bunun için hevesliydiniz, sorum şu: nasıl çalışmalıyım? NS içindeki macvlanın ARP ile ilgili yanlış bir şeyden şüpheleniyorum ama tam olarak ne olduğunu anlayamıyorum ...

BTW, aynı açıklamaları ben yaptım mac0 doğrudan VM üzerinde (isimsiz) arayüz ve kusursuz bir şekilde çalıştı.


9
2017-10-20 13:52


Menşei


Bu sorunun neden konu dışı olarak işaretlendiğini anlamıyorum. Bu kesinlikle çoklu sanallaştırma ortamları ile ilgili bir sysadmin / netadmin sorusu ve önemsiz bir şey değil (ya da eğer StackOverflow ile ilgili soruların% 90'ı konu dışıdır). Onu "konu dışı" olarak işaretleyen insanların, burada açık bir şekilde bir kural kopyalayıp yapıştırmadan ziyade nedenini açıklamaktan rahatsız olsaydık isterdim. Teşekkür ederim! - jpetazzo
Jpetazzo Bu konu dışı değil ve sadece kapanış insanlarının sorunun zayıf organizasyonuna / sunumuna dayanarak yaptıkları varsayılabilir (OP'nin bir sys / net yöneticisi olmaması nedeniyle). Ayrıca, Sunucu Hatasıkapsamı (sadece konu değil) Yığın Taşması - argümanınız beni ziyaret etmediğinizi düşünmemi sağlıyor yardım Merkezi hiç mantıklı değil. - Chris S


Cevaplar:


Tamam, yani, posterity için, tcpdump'un aniden yaptığı işleri yapması beni yoluna koymalıydı. Dahili olarak ne yapar eth0 karışık modda. Demek ki, eth0 tüm ağ trafiğini, sadece sunucunun ana ekranı ile değil MAC

Ancak, bu tam olarak nasıl macvlan çalışır: "fiziksel" (bu bir VM) ağ bağdaştırıcısının bilmediği yeni bir ikincil sanal MAC adresi ekler.

Bu yüzden, kolay çözüm elle yapılmalıdır: ifconfig eth0 promisc

Umut ediyorum bu yardım eder !


12
2017-10-21 19:21



Yani bu sanal makinede "promisc modu yok" un işaretini kaldırmanız gerekiyordu, sanırım? - Nils
Gerçekten de kontrol edilmiyor. - yadutaf