Поскольку вы использовали позиционный параметр (аргумент) 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
, если у вас нет особых причин не делать этого.
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.
Устройство моста, указанное вместе с другими вашими сетевыми устройствами, представляет собой не виртуальный мост, а виртуальную сетевую карту, подключенную к мосту. Если бы у вас был физический мост, подключенный к физическим сетевым устройствам, вы бы не увидели физический мост в списке ваших сетевых устройств --, но вы бы увидели свою сетевую карту, подключенную к мосту, которая, конечно, имеет свой собственный 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-адреса.
Интерфейсы 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.