3

Я на Ubuntu 16.04 на ядре 4.4. Я пытался понять, как настроить интерфейс macvlan, но пока безуспешно. Это шаги, которые я использовал для создания и настройки интерфейса.

  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

В тот момент, когда я ввожу 3-ю команду, мое Wi-Fi соединение разрывается Я не уверен, что происходит. Также после шага (1), если я просто сделаю ifconfig mymacvlan1 up а затем сделаю dhclient mymacvlan1 , он просто зависнет там. Как заставить интерфейс macvlan автоматически получать IP-адрес от DHCP?

Любая помощь приветствуется! Спасибо!

1 ответ1

7

Macvlans не созданы для работы на беспроводных интерфейсах. Причина в том, что все точки доступа будут отклонять кадры, исходящие от MAC-адреса, который не аутентифицировался с ними, в то время как весь смысл macvlans состоит в том, чтобы точно предоставить новым подинтерфейсам свой собственный MAC-адрес, отличный от физического интерфейса. Поэтому неудивительно, что при попытке включить шлюз по умолчанию на интерфейсе macvlan, который автоматически разрушает исходный шлюз на интерфейсе wlan0 (помните правило: one default gateway per routing table only), вы остаетесь без соединения ,

Чтобы обойти эту проблему, вы должны вместо этого использовать ipvlan , который использует mac-адрес физического интерфейса. Здесь вы найдете подробный пример того, как его настроить, пример, который, держу пари, подойдет вам просто отлично.

Вы используете его следующим образом, предполагая, что ваш Wi-Fi-интерфейс называется 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

(моя локальная сеть 192.168.73.0/24, при необходимости измените ее, чтобы адаптировать ее к вашему случаю), и вы также можете изменить шлюз по умолчанию, который будет доступен на новом виртуальном интерфейсе, вместо старого физического интерфейса:

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

Единственный заслуживающий внимания комментарий состоит в том, что я использовал режим L2: у ipvlans есть три режима работы, L2, L3, L3S (не говоря уже о том, что обычно говорят, что у них есть два режима, есть также L3S, который похож на L3, но позволяет работать из iptables/conntrack). Разница между L2 и L3, что позволяет L2 виртуальный интерфейс , чтобы быть устранен с физическим интерфейсом, который означает , что он может иметь адрес в той же подсети, что и физический интерфейс и трафик L2 правильно передается. Вместо этого режим L3 не ретранслирует трафик L2 и требует настройки в качестве маршрутизатора IPv4: разные подсети, необходимо настроить маршруты и т.д. В большинстве случаев больше хлопот, чем стоит.

Между прочим, наличие базового беспроводного интерфейса является почти единственным разумным вариантом использования ipvlans вместо macvlans. Во всех остальных случаях просто придерживайтесь macvlans.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .