Para simular uma segunda placa ethernet (virtual) com um MAC diferente sobre uma placa de rede existente e de um namespace diferente (por exemplo, um container), você precisa de uma interface macvlan .
Aqui estão instruções de como usá-los em um contêiner do Docker. p>
Você parece estar um pouco confuso sobre os princípios por trás de alguns dos recursos de rede que você tentou. Talvez o seguinte ajude:
-
eth0:0
é a maneira antiga usada pela ferramentaifconfig
para manipular um segundo endereço IP em alguma interface. Se você usar uma ferramenta mais nova comoip addr
, ela mostrará apenas o segundo endereço IP emeth0
. Isso só se aplica ao nível 3 do OSI, portanto, não há endereço MAC diferente, ele não interage com namespaces de rede, como no Docker, e geralmente é difícil de usar, porque você deve certificar-se de que cada aplicativo se vincula corretamente a um dos endereços. E essa ligação é necessária para impedir que um aplicativo ouça em 0.0.0.0; não há como impedir genericamente "eth0:0
de ouvir o tráfego de0.0.0.0
" (ignorando que a sentença desse formulário não faz sentido; interfaces não estão ouvindo, aplicativos estão ouvindo em determinados endereços IP e / ou certas interfaces por ligação). -
iptables
permite que você faça filtragem de pacotes, firewall, NAT, etc. não permite alterar endereços MAC, controlar quais aplicativos atendem em qual endereço etc. . -
"Eu já usei
modprobe
" também não faz sentido:modprobe
é uma maneira de carregar módulos do kernel, se você não pode dizer qual módulo do kernel você quer usar, com que propósito e por quê não é carregado automaticamente em primeiro lugar, esta frase não transmite nenhuma informação.
Além disso, leia o problema XY : quando quiser para fazer X, e acho que você pode precisar fazer Y para chegar ao X, sempre perguntar sobre X . Então mencione que você tentou Y. Em muitos casos (como aqui), Y está totalmente errado.