Как подключить 2 виртуальных моста, поэтому трафик идет от одного к другому?

  • Шаблон "Поиск и запуск" совпадает с макетом "Рабочий стол по умолчанию". Таким образом, просто измените макет вашего главного рабочего стола (что означает макет всей Активности) на "Рабочий стол по умолчанию" (пятый пункт в списке макетов), чтобы включить функцию "просто набрать текст для поиска" в этой активности.
  • Как таковой "стандартной" или основной Активности не существует. Кроме того, любую Активность можно удалить, включая Активность по умолчанию, из другой Активности. Если вы включили шаблон "Поиск и запуск" в новой Активности, ничто не мешает ей стать основной.
1
11.08.2018, 22:26
2 ответа

Специальной обработки виртуальных двойных интерфейсов не предусмотрено type veth. Так что нужно немного повозиться, в основном используя опцию pre-up. Я оставил veth0и veth1здесь, но вам действительно следует подумать о выборе любых других имен (, например veth-br0и veth-lanbr0), потому что это имена по умолчанию, выбранные, если они не указаны (, например :ip link add type veth), и они могут столкнуться.

Для интерфейсов veth:

iface veth0 inet manual
        pre-up ip link add veth0 type veth peer name veth1 || :
        hwaddress 02:00:00:01:00:00

iface veth1 inet manual
        pre-up ip link add veth1 type veth peer name veth0 || :
        hwaddress 02:00:00:01:00:01

Это включает оба интерфейса при вызове любого из них. || :здесь, чтобы не дать сбой, потому что одноранговый интерфейс уже настроен «другим» интерфейсом. Обратите внимание, что ради внутреннего состояния ifupоба должны быть подняты в конце, даже если поднятие одного вызовет появление другого. Для предполагаемого использования hwaddress, вероятно, является необязательным и в любом случае может быть установлено любое другое правильное значение. Мост принимает MAC-адрес первого подчиненного интерфейса.

Теперь используйте их на мостах. Я не буду приводить все ваши настройки (, потому что вы на самом деле не дали ), а только связанные с vethчасти. Вам придется адаптировать то, что я не мог догадаться, и где я оставил некоторые XXXXили ...(, например,inet XXXXinet manualinet staticили inet dhcp?)

auto br0
iface br0 inet XXXX
    pre-up ifup veth0
    bridge_ports eth0 veth0        
   ...

auto lanbr0
iface lanbr0 inet XXXX
    pre-up ifup veth1
    bridge_ports veth1 eth1
    address xx.xx.xx.xx
    netmask 255.255.255.0
   ...

Примечание. Я добавил команду ifup vethXвнутри, потому что в противном случае она будет жаловаться на то, что интерфейс не существует, вызовет мост без этого интерфейса и будет считать, что это сделано. Мне не нужно было использовать || :здесь, потому что вызов уже логически (означающего ifupdownсостояние )up интерфейса не является ошибкой.

После завершения недостающих частей поместите их в отдельные (или не )файлы конфигурации в/etc/network/interfaces.d(или даже /etc/network/interfaces), и это должно работать.

Если сначала это не сработало, попробуйте логически отключить все интерфейсы (, логически я имею в виду использованиеifdown)и повторите попытку :, что может быть из-за неправильного логического состояния, не позволяющего некоторым интерфейсам (re )настроены правильно.

Также обратите внимание, что возможны взаимодействия с другими сетевыми менеджерами, такими как... NetworkManager. Вероятно, есть варианты, чтобы они игнорировали некоторые интерфейсы, но это выходит за рамки этого ответа.

1
27.01.2020, 23:43

Для справки, вот полный скрипт интерфейсов (добавление xx для некоторых адресов):

# The loopback network interface
auto lo
iface lo inet loopback

# IPv4 address
auto enp8s0
iface enp8s0 inet manual
        offload-gro off
        offload-lro off

auto enp0s31f6
iface enp0s31f6 inet manual

iface veth0 inet manual
        pre-up ip link add veth0 type veth peer name veth1 || :
        hwaddress 02:00:00:01:00:00

iface veth1 inet manual
        pre-up ip link add veth1 type veth peer name veth0 || :
        hwaddress 02:00:00:01:00:01

# Bridge setup
auto br0
iface br0 inet static
    pre-up ifup veth0
    bridge_ports enp8s0 veth0
    bridge_fd 0
    bridge_maxwait 0
        address 192.168.xx.xx
        broadcast 192.168.xx.xx
        network 192.168.xx.xx
        netmask 255.255.255.0
        gateway 192.168.xx.xx
        dns-nameservers xx.xx.xx.xx xx.xx.xx.xx

auto lanbr0
iface lanbr0 inet manual
    pre-up ifup veth1
    bridge_ports veth1 enp0s31f6

Еще раз спасибо А.Б.

0
27.01.2020, 23:43

Теги

Похожие вопросы