Como usar diferentes interfaces de rede virtual para diferentes processos?

1

A solução para interfaces de rede não virtuais está aqui: link

Mas o problema é que tenho vários IPs em uma interface de rede e gostaria de poder atribuir cada IP a um aplicativo diferente.

Por exemplo, eu tenho eth0: 0, eth0: 1, etc.

Quando eu faço o comando (observe a interface virtual):

ip link set eth0:0 netns test_ns

Leva eth0 ip e não eth0: 0 .. também tira toda a interface e não consigo me conectar a ela de uma fonte pública.

Existe uma maneira de usar a interface de rede virtual para diferentes processos enquanto o servidor está acessível a partir de uma fonte pública?

    
por sojim2 25.01.2018 / 23:56

1 resposta

1

Nomes de interface como eth0:0 não denotam interfaces distintas ('virtual ou não), mas são aliases para a mesma interface. Os aliases são necessários apenas porque ferramentas obsoletas como ifconfig não podem designar vários endereços usando o mesmo nome de interface.

EDIT: Você pode conectar dois namespaces de rede com um par de interfaces veth .

sudo ip link add ns1_eth type veth peer name veth0

Mova a outra extremidade para o ns1 netspace:

sudo ip link set ns1_eth netns ns1

O par veth funciona como um tubo, o que você envia em uma extremidade aparece na outra extremidade. Você também precisará configurar o endereçamento e o roteamento, além dos comandos acima.

    
por 26.01.2018 / 07:18