Como você faz multihome com netplan - liga vários IPs a um adaptador de rede?

2

Como você faz multihome com netplan - liga vários IPs a um adaptador de rede?

Eu vejo várias pessoas tendo duas abordagens diferentes para resolver o problema - Um em que os dois IPs são definidos sob o mesmo nome de dispositivo que o nic que limita as opções com o IPTables.

e

A outra opção é criar uma vlan e apontá-la para o nic.

Qual é a maneira correta de fazê-lo e por que isso mudou em primeiro lugar? / etc / network / interfaces era simples, fazia sentido e obviamente suportava multi-homing.

    
por Charles Jordan 13.04.2018 / 10:19

1 resposta

1

Independente do netplan, atualmente é melhor designar vários endereços para uma única interface em vez de usar aliases de interface. A falta de suporte limpo para isso em / etc / network / interfaces é, na verdade, uma questão de ifupdown mostrando sua idade.

Configurar vários endereços em uma interface é simples com o netplan: link

Para lidar com esses endereços no iptables, você pode usar as opções -s e -d para especificar os endereços de origem e destino a serem correspondentes, em vez de usar as opções -i e -o para diferenciar pela interface de entrada ou saída. Na grande maioria dos casos isso é equivalente. A única exceção é se você tiver vários aliases na mesma interface configurada com endereços dinâmicos e quiser aplicar regras diferentes ao tráfego enviado para cada endereço; você não pode configurar as regras de firewall antes de saber o endereço de destino. Mas você também não pode configurar o netplan para solicitar o dhcp várias vezes na mesma interface, portanto, se você precisar disso, provavelmente precisará usar vlans.

Você pode minimizar a repetição de endereços nas regras do iptables usando algo como o seguinte:

iptables -N eth0
iptables -N eth0_0
iptables -N eth0_1
iptables -A INPUT -i enp3s0 -d 192.168.1.5 -j eth0
iptables -A INPUT -i enp3s0 -d 192.168.1.6 -j eth0_0
iptables -A INPUT -i enp3s0 -d 192.168.1.7 -j eth0_1
iptables -A INPUT -i enp3s0 -j DROP
iptables -A eth0 [... eth0 rules here]
iptables -A eth0_0 [... eth0:0 rules here]
iptables -A eth0_1 [... eth0:1 rules here]
    
por slangasek 14.04.2018 / 22:24