ifconfig eth0 promisc
é o comando correto para ativar o modo promíscuo em uma interface. Se isso não funcionar, tente adicionar esta linha para /etc/rc.local
e reiniciar.
ifconfig eth0 up
ifconfig eth0 promisc
Eu tenho um sistema em nuvem baseado na versão Openhouse Icehouse. Agora quero testar uma nova versão do Openstack (Juno) dentro da minha nuvem existente. Todos os hosts e convidados usam o Ubuntu 14.04 como seu sistema operacional. KVM é o hypervisor que estou usando.
Então eu criei máquinas virtuais na minha nuvem e instalei componentes do Openstack Juno nelas. Mas eu tenho problemas com conectividade de rede nessas máquinas virtuais.
O guia de instalação do Openstack diz:
If you are building your OpenStack nodes as virtual machines, you must configure the hypervisor to permit promiscuous mode on the external network.
Mas não diz como isso é feito. Nem eu consegui encontrar essa informação pesquisando no Google. Eu tentei muitas coisas, como ativar o modo promíscuo em várias interfaces com o comando: ifconfig eth0 promisc
mas nada funcionou. Então, como posso ativar o modo promíscuo no meu hipervisor?
EDIT: Ao usar ifconfig
, vejo que minhas interfaces estão no estado UP BROADCAST RUNNING PROMISC
. Também usei instalação similar antes de instalar em hosts físicos e não tive problemas.
ifconfig eth0 promisc
é o comando correto para ativar o modo promíscuo em uma interface. Se isso não funcionar, tente adicionar esta linha para /etc/rc.local
e reiniciar.
ifconfig eth0 up
ifconfig eth0 promisc
Rede externa significa a rede que se conecta à Internet (normalmente com um pool de IP público ou similar), outros recursos fora da nuvem, etc. Você está usando redes Neutron ou Nova? Isso é levemente importante, mas você deve estar fazendo a ponte ou qualquer abstração de rede que esteja usando promíscua, em vez da NIC conectada a ela. O nic deve então seguir o exemplo.
O motivo é que precisamos realizar a inspeção de pacotes no nível do comutador virtual para determinar para onde esses pacotes devem ir. Isso deve ser feito no nível do hipervisor. Parece que você está aninhando hypervisors, e isso pode apresentar seus próprios problemas que precisam ser resolvidos. É esse o caso?
Ben Pfaff em 2013 respondeu (confira):
VMware made a terrible, confusing mistake in naming here. "Promiscuous mode" has a specific meaning.
[…]
What the VMware vSwitch calls "promiscuous mode" is quite different. When you configure promiscuous mode on a VMware vNIC, the vSwitch sends a copy of every packet received by the vSwitch to that vNIC. That has a much bigger effect: rather than getting a few stray packets for which the switch does not yet know the correct destination, the vNIC gets every packet.