LINUX.ORG.RU
ФорумAdmin

Не работает бридж

 


0

1

Помогите настроить, вроде все правильно, но не работает (хотя один раз заработал). Настраивал через nmtui. ip a

root@usrv:/home/usrv# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1b:fc:77:44:35 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.220/24 brd 192.168.2.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::21b:fcff:fe77:4435/64 scope link
       valid_lft forever preferred_lft forever
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f6:9b:79:86:0f:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.220/24 brd 192.168.2.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 fe80::e897:8b95:94d7:60bc/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:31:f2:78 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:f3:b3:77 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fef3:b377/64 scope link
       valid_lft forever preferred_lft forever
6: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:03:06:62 brd ff:ff:ff:ff:ff:ff

ip l

root@usrv:/home/usrv# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:fc:77:44:35 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether f6:9b:79:86:0f:1e brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:31:f2:78 brd ff:ff:ff:ff:ff:ff
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:f3:b3:77 brd ff:ff:ff:ff:ff:ff
6: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:03:06:62 brd ff:ff:ff:ff:ff:ff

ip r

root@usrv:/home/usrv# ip r
0.0.0.0 via 192.168.2.2 dev br0 proto static metric 1
default via 192.168.2.2 dev enp3s0 proto static
192.168.2.0/24 dev enp3s0 proto kernel scope link src 192.168.2.220
192.168.2.0/24 dev br0 proto kernel scope link src 192.168.2.220 metric 425
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

Перемещено hobbit из general


Что конкретно не работает?

После создания моста в него нужно добавить физический интерфейс, после чего IP адрес нужно убрать с физического интерфейса и назначить на мост.

Что ты хочешь получить?

Что показывает brctl show?

Какой дистрибутив?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

нихрена не работает, сервер не видит инет, виртуалки не видят инет, хорошо, что ssh работает, бегать на балкон прохладно

собственно бридж для KVM. Получить? научится и чтоб работали виртуалки )))

root@usrv:/etc/netplan# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.f69b79860f1e       yes             vnet0
                                                        vnet1
virbr0          8000.52540031f278       yes

ubuntu 24.04

verhov
() автор топика
Ответ на: комментарий от verhov

Ну а как оно может заработать, ежели в бридже два интерфейса и оба от виртуалок? Между собой там тити-мити?

В графе interfaces должен быть интерфейс, через который доступ и будет. Например, внутренняя сеть enp3s0.

Ну и адрес этого интерфейса надо поставить на бридж.

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

usermod
()
Ответ на: комментарий от usermod

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

virbr0? это хвосты после инсталляции квм

verhov
() автор топика
Ответ на: комментарий от verhov

Именно kvm ставится вместе с ядром, т.к. KVM (kernel virtual machine) - реализация гипервизора в пространстве ядра Linux и обычно представляет собой соответствующий модуль ядра.

Поэтому именно при установке kvm, а если точнее ядра Linux мост vibr0 не создаётся.

Программой, посредством которой запускаются виртуальные машины в гипервизоре KVM является qemu или qemu-kvm. И при установке пакета с qemu мост vibr0 так же не создаётся.

Так что было сделано?

anonymous
()
Ответ на: комментарий от kostik87

Собственно говоря, поче бы просто не поставить проксмокс? Ставится за 10 минут и из коробки все эти ваши интернете, бриджи и веб интерфейс для управления всем.

usermod
()
root@usrv:/home/usrv# ip r
0.0.0.0 via 192.168.2.2 dev br0 proto static metric 1
default via 192.168.2.2 dev enp3s0 proto static

обычно именно это (несколько DGW некоторые из которых нерабочие) является причиной недоступности за пределами локальной сети.

vel ★★★★★
()
Ответ на: комментарий от vel

поколдовал немного над конфигами, имеем:

root@usrv:/home/usrv# ip r
0.0.0.0 via 192.168.2.2 dev br0 proto static metric 1
192.168.2.0/24 dev br0 proto kernel scope link src 192.168.2.220 metric 425
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
root@usrv:/home/usrv# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:fc:77:44:35 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:31:f2:78 brd ff:ff:ff:ff:ff:ff
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:f3:b3:77 brd ff:ff:ff:ff:ff:ff
6: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:03:06:62 brd ff:ff:ff:ff:ff:ff
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether f6:9b:79:86:0f:1e brd ff:ff:ff:ff:ff:ff
root@usrv:/home/usrv# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 00:1b:fc:77:44:35 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:31:f2:78 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether fe:54:00:f3:b3:77 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fef3:b377/64 scope link
       valid_lft forever preferred_lft forever
6: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether fe:54:00:03:06:62 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe03:662/64 scope link
       valid_lft forever preferred_lft forever
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f6:9b:79:86:0f:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.220/24 brd 192.168.2.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever

ни у основной оси нет инета, ни у гостевых машин

verhov
() автор топика
Ответ на: комментарий от anonymous
  1. enp3s0 есть в списках под номером 2

  2. br0 бридж, который объединяет сетевую карту и виртуальные интерфейсы гостевых машин

  3. все слать на бридж. с бриджа, на 192.168.2.2 то есть дальше в инет

Вчера что то вылупив глаза крутил и все сломал, не доступен стал комп. С консоли все снесу и попробую еще раз.

И еще, где хранятся настройки интерфейсов гостевых машин? в /etc/netplan/ их нет

ЗЫ Ubuntu 24.04

verhov
() автор топика
Ответ на: комментарий от verhov

На машине есть графический интерфейс? Если есть, запусти nm-connection-editor, добавь в нём мост, а в мост - подчинённый физический интерфейс. Проводное соединение удали. В netplan оно само сконвертируется.

Если графической морды нет, забей на netplan и настрой через systemd-networkd.

anonymous
()
Ответ на: комментарий от verhov

enp3s0 есть в списках под номером 2

Есть, но в какой бридж он добавлен?

brctl show

br0 бридж, который объединяет сетевую карту и виртуальные интерфейсы гостевых машин

а virbr0 тогда зачем?

Зачем две подсети - 192.168.2.220 и 192.168.122.1?

Почему просто не добавить интерфейс enp3s0 в br0 и назначить этому бриджу адрес 192.168.2.220/24 и gateway 192.168.2.2 ?

а virbr0 и 192.168.122.1 вообще не нужен. Его можно удалить. Хотя если это qemu добавил сеть для nat то можно и оставить. Она мешать не будет.

usermod
()
Ответ на: комментарий от usermod

Вчера все померло… а сегодня само ожило. и почти работает.

root@usrv:/etc/netplan# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.f69b79860f1e       yes             enp3s0
                                                        vnet0
                                                        vnet1
virbr0          8000.52540031f278       yes

виртуалки видят друг друга (ну почти, вин 10 брыкается, вин 7 покладистей), видят инет. А вот убунта что то не видит инет :( Да, qemu добавил

  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
verhov
() автор топика
Ответ на: комментарий от verhov

Ну вот, хотя бы бридж похож на нормальный.

Теперь смотри роутинг

#проверка маршрутизации 
ip r
#маршрут по умолчанию
ip r add default via 192.168.2.2
#проверка адреса
ip a
#проверка днс
cat /etc/resolv.conf
usermod
()
Ответ на: комментарий от usermod

я догадывался что с ним что то не то, если у шлюза спрашивать то ответ есть

nameserver 127.0.0.53
options edns0 trust-ad
search .
root@usrv:/etc/netplan# nslookup ya.ru -server 192.168.2.2
*** Invalid option: server
Server:         192.168.2.2
Address:        192.168.2.2#53

Non-authoritative answer:
Name:   ya.ru
Address: 77.88.44.242
Name:   ya.ru
Address: 77.88.55.242
Name:   ya.ru
Address: 5.255.255.242
Name:   ya.ru
Address: 2a02:6b8::2:242

прописал свой днс, сохранил, добавил маршрут (предварительно в yaml убрал роутинг на br0). Все заработало, пока не перегрузил :). ДНС стерлись и маршрут пропал.

Как понимаю man nmcli ? что бы прописать маршрут и свой ДНС

verhov
() автор топика
Ответ на: комментарий от verhov

nameserver 127.0.0.53

systemd-resolved не нужен

systemctl stop systemd-resolved
rm /etc/resolv.conf
echo nameserver 192.168.2.2 > /etc/resolv.conf

nslookup ya.ru -server 192.168.2.2

apt-install bind-utils
host ya.ru 192.168.2.2

Как понимаю man nmcli ? что бы прописать маршрут и свой ДНС

на сервере предпочтительнее systemd-networkd

почитай вики арча, там все хорошо расписано. Можно и интерфейс переименовать в норм lan какой нибудь и адрес и маршруты и бридж ипр.

usermod
()
Ответ на: комментарий от verhov

Ну если бридж создаёшь руками, то организация доступа во внешние сети - на тебе. Если хочешь доступ в Интернет автоматом - используй дефолтный NAT в меню virt-manager

targitaj ★★★★★
()
Ответ на: комментарий от usermod

Победил я этого змея…

Собственно заменил «0.0.0.0» на default

network:
  version: 2
  bridges:
    br0:
      renderer: NetworkManager
      addresses:
      - "192.168.2.220/24"
      nameservers:
        addresses:
        - 192.168.2.2
      routes:
      - metric: 1
        to: default
        via: "192.168.2.2"

И все стало отвечать. Пинги бегают nslookup отвечает, правда сервер 127.0.0.53 )))

После перезагрузки вроде ничего не слетело.

verhov
() автор топика