como configurar a interface macvlan para obter o IP?

3

Eu estou no Ubuntu 16.04 no kernel 4.4. Eu estava tentando ver como obter a interface do MacVlan, mas ainda não obtive sucesso. Estas são as etapas que usei para criar e obter a interface.

  1. ip link add mymacvlan1 link wlan0 type macvlan mode bridge
  2. ifconfig mymacvlan1 192.168.1.56 up
  3. route add default gw 192.168.1.1 mymacvlan1

No momento em que entro no terceiro comando, minha conexão Wi-Fi é desativada. Não tenho certeza do que está acontecendo. Além disso, após o passo (1), se eu fizer apenas ifconfig mymacvlan1 up e, em seguida, fazer dhclient mymacvlan1 , apenas congela. Como fazer com que a interface macvlan adquira automaticamente um IP do DHCP?

Qualquer ajuda apreciada! Obrigado!

    
por soupybionics 15.08.2016 / 18:46

1 resposta

7

Os Macvlans não são criados para funcionar em interfaces sem fio. O motivo é que todos os APs rejeitam quadros originados de um endereço MAC que não se autenticou com eles, enquanto o ponto inteiro dos macvlans é exatamente o de fornecer novas subinterfaces com seu próprio endereço MAC, diferente daquele da interface física. Portanto, não é surpresa que, ao tentar habilitar um gateway padrão na interface macvlan, que destrói automaticamente o gateway original na interface wlan0 (lembre-se da regra: one default gateway per routing table only ), você fica sem uma conexão.

Para contornar este problema, você deve usar um ipvlan , que usa o endereço mac da interface física. Aqui você encontrará um exemplo detalhado de como configurá-lo, um exemplo que eu aposto que te adequar bem.

Você o usa da seguinte forma, supondo que sua interface wifi seja chamada wlan0 :

ip link add link wlan0 ipvl0 type ipvlan mode l2
ip link set dev ipvl0 up
ip addr add 192.168.73.201/24 dev ipvl0

(minha LAN é 192.168.73.0/24, mude conforme necessário para adaptá-la ao seu caso) e você também pode alterar o gateway padrão para estar acessível na nova interface virtual, em vez da antiga física:

ip route del default
ip route add default via 192.168.73.1 dev ipvl0 src 192.168.73.201 metric 1

O único comentário digno de nota é que usei o modo L2 : ipvlans têm três modos de operação, L2, L3, L3S (não importa que geralmente se diz que eles têm dois modos, há também o L3S que é semelhante ao L3 mas permite a operação de iptables / conntrack ). A diferença entre L2 e L3 é que L2 permite que a interface virtual seja bridged com a interface física, o que significa que pode ter um endereço na mesma sub-rede que a interface física e O tráfego L2 é retransmitido corretamente. Em vez disso, o modo L3 não retransmite o tráfego L2 e exige configuração como um roteador IPv4: diferentes sub-redes, necessidade de configurar rotas e assim por diante. Mais incômodo do que valor, na maioria das vezes.

Incidentalmente, ter uma interface sem fio subjacente é apenas sobre o somente caso de uso razoável para ipvlans em vez de macvlans . Em todos os outros casos, apenas siga para macvlans .

    
por 16.08.2016 / 09:41