Зачем назначать MAC и IP-адреса на интерфейсе моста

Поскольку вы использовали позиционный параметр (аргумент) 1 ( $ 1 ) внутри сценария, используйте подстановку команд для передачи IP-адреса из curl в качестве первого аргумента:

bash starttelem2.sh "$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)"

$ (curl -s http://silvo.uk.to/IPReg.dll/GetIP) - это подстановка команды, которая будет заменена стандартным выводом команды curl внутри. Параметр -s заставляет curl не отображать информацию о ходе выполнения STDERR.

Обратите внимание, что вы использовали shebang как sh , но запустили сценарий в качестве аргумента для bash , поскольку bash является расширенным набором sh , вам также следует подумать о том, чтобы сделать shebang как bash , если у вас нет особых причин не делать этого.

19
31.10.2016, 01:18
3 ответа

Sí, la interfaz puente actúa como un puerto adicional.

Despuésman 5 systemd.netdev:

A bridge device is a software switch, and each of its slave devices and the bridge itself are ports of the switch.

10
27.01.2020, 19:45

Устройство моста, указанное вместе с другими вашими сетевыми устройствами, представляет собой не виртуальный мост, а виртуальную сетевую карту, подключенную к мосту. Если бы у вас был физический мост, подключенный к физическим сетевым устройствам, вы бы не увидели физический мост в списке ваших сетевых устройств --, но вы бы увидели свою сетевую карту, подключенную к мосту, которая, конечно, имеет свой собственный MAC-адрес. как любое другое сетевое устройство.

Назначение IP-адреса мостовому устройству (, которое, опять же, на самом деле является виртуальным сетевым адаптером, подключенным к виртуальному мосту ), позволяет вашему хост-устройству направлять пакеты в подсеть, созданную мостом, и все устройства прикреплен к нему. Аккуратный!

Хотя инструменты сетевых устройств, такие какiproute2(с помощью команд ip linkи ip addr, )позволяют вам видеть виртуальный сетевой адаптер, подключенный к мосту, также можно увидеть сам виртуальный мост с помощью brctlпрограмма. Команда brctl showвыведет список всех мостов и подключенных к ним интерфейсов. Вот пример использования iprouteи brctlс мостами Linux и tuntaps:

# ip link add br0 type bridge
# ip tuntap add dev tap0 mode tap
# ip tuntap add dev tap1 mode tap
# ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev br0
# ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev tap0
# ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev tap1
# brctl addif br0 tap0
# brctl addif br0 tap1
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.2e22e593fe8c       no              tap0
                                                        tap1
# ip addr show to 10.0.0.0/24
11: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    inet 10.0.0.1/24 brd 10.0.0.255 scope global br0
       valid_lft forever preferred_lft forever
12: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.2/24 brd 10.0.0.255 scope global tap0
       valid_lft forever preferred_lft forever
13: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.3/24 brd 10.0.0.255 scope global tap1
       valid_lft forever preferred_lft forever

Обратите внимание, что в разделе «интерфейсы» в выводе brctl showперечислены другие интерфейсы, подключенные к мосту, в дополнение к интерфейсу br0, который был автоматически добавлен при подключении моста. созданный. (Я предполагаю, что Linux не позволяет создавать виртуальные мосты без подключенных устройств, а мосты без устройств автоматически уничтожаются. )Для протокола: я не исследовал это в ядре и не являюсь экспертом по сетям. Я опубликовал это, потому что кажется, что это убедительно объясняет довольно запутанную реализацию виртуальных мостов в Linux. Я не верю, что сами виртуальные мосты имеют даже MAC-адреса.

9
23.06.2020, 23:48

Интерфейсы br0и virbr0, перечисленные в ip addrи ip link, представляют собой ответвительные интерфейсы, которые подключают хост к мосту br0и мосту virbr0соответственно. Такая перегруженность именами, безусловно, может сбивать с толку.

Так что же такое virbr0-nic?

Это не было частью первоначального вопроса, но я добавлю здесь свои 2 цента, так как это сбивало меня с толку в прошлом. virbr0-nic— это фиктивный интерфейс, MAC-адрес которого используется мостом virbr0в качестве собственного MAC-адреса. Этот всегда -присутствующий интерфейс предназначен для предотвращения изменения MAC-адреса virbr0при динамическом добавлении или удалении портов из моста. Хост не отправляет трафик через интерфейс virbr0-nic.

См. пояснения вhttps://backreference.org/2010/07/28/linux-bridge-mac-addresses-and-dynamic-portsи https://www.redhat.com/archives/libvirt-users/2012-September/msg00038.html.

2
12.08.2020, 02:04

Теги

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