Как я могу соединить два интерфейса с ip / iproute2?

23

Я знаю, как создать мост с помощью brctl, но мне посоветовали больше не использовать это, а использовать iproute2или ipвместо него (так brctlкак предположительно устарела). Предполагая, что это хороший совет, как мне создать мост, используя ip? Например, скажем, что я хотел соединить eth0и eth1.

Тотем
источник
2
Посмотрите на страницу архива
Dani_l

Ответы:

26

Вы можете использовать bridgeобъект ip ipкоманда или bridgeкоманда, которая входит в iproute2пакет.

Основные манипуляции с ссылками

Чтобы создать мост с именем br0, который имеет eth0и в eth1качестве членов:

ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0

Чтобы удалить интерфейс с моста:

ip link set dev eth0 nomaster

И, наконец, чтобы уничтожить мост после того, как интерфейс не является членом:

ip link del br0

Экспедиторские манипуляции

Чтобы манипулировать другими аспектами моста, такими как FDB ( база данных пересылки ), я предлагаю вам взглянуть на bridge(8) команду . Примеры:

Показать базу данных пересылки на br0

bridge fdb show dev br0

Отключите порт ( eth0) от обработки BPDU . Это сделает интерфейс фильтра любого входящего bpdu

bridge link set dev eth0 guard on

Установка стоимости STP для порта ( eth1например):

bridge link set dev eth1 cost 4

Чтобы установить root guard на eth1:

bridge link set dev eth1 root_block on

Стоимость рассчитывается с использованием некоторых факторов, и скорость соединения является одним из них. Использование фиксированной стоимости, отключение обработки BPDU и включение root_block - это то же самое, что и guard-rootфункция от коммутаторов.

Другие функции, такие как режим vepa, veb и шпилька, можно найти в bridge linkсписке подкоманд .

Манипулирование правилами VLAN

vlanОбъект из команды моста позволит создать вход / выход фильтры на мостах.

Чтобы показать, есть ли какие-либо входные / выходные фильтры VLAN:

bridge vlan show

Чтобы добавить правила в данный интерфейс:

bridge vlan add dev eth1 <vid, pvid, untagged, self, master>

Удалить правила. Используйте те же параметры, что и vlan addв конце команды, чтобы удалить конкретное правило.

bridge vlan delete dev eth1

Связанные вещи:

Сообщество
источник
Есть пара параметров моста, которые вы не можете установить с помощью bridgeутилиты, например ip link set br0 type bridge stp_state 1, вы можете увидеть больше с помощьюip link help bridge
Cheetah
2

Эквивалентом brctl showявляется bridge link. Вы можете показать состояние моста для каждого устройства, bridge link show dev eth0но bridge просматривает сетевой интерфейс и сообщает вам, какому мосту он принадлежит, а не каким сетевым интерфейсам принадлежит определенному мосту.

Там, кажется, не эквивалентно brctl show br0.

Доминик Хайдлер
источник