LINUX.ORG.RU
решено ФорумAdmin

Правильная настройка bridge+dhcp

 , , , ,


2

1

Система: debian 8, isc-dhcp-server.

cat /etc/network/interfaces

auto eth2
iface eth2 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

auto br2
iface br2 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth2
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Делаем

systemctl restart isc-dhcp-server.service
systemctl status isc-dhcp-server.service

Он запускается, но с ошибками:

May 18 09:25:35 localhost dhcpd[7449]: Multiple interfaces match the same subnet: br2 eth2
May 18 09:25:35 localhost dhcpd[7449]: Multiple interfaces match the same shared network: br2 eth2

Если из interfaces убрать br2, то всё работает замечательно. Но мне нужен bridge для виртуалки kvm.

Вопрос: в чем ошибка с eth2 и br2?

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

Ответ на: комментарий от kravzo

Непонятно, как настроить br2 или eth2 или dhcpd.conf, чтобы не было этой ошибки и чтобы виртуалка получила IP.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

настройки IP должны быть только на мосте (br2), а на интерфейсах входящих в мост их не должно быть.

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

Я до этого пробовал так:

auto eth2
iface eth2 inet manual

auto br2
iface br2 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth2
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Но в этом случае сообщение такое же.

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

В любом случае, если указан последний конфиг (где manual), выдаётся следующее:

May 18 10:32:25 localhost systemd[1]: Failed to start LSB: DHCP server.
May 18 10:32:25 localhost systemd[1]: Unit isc-dhcp-server.service entered failed state.

а если ещё убрать network, то будет ещё

May 18 10:32:23 localhost dhcpd: No subnet declaration for eth2 (no IPv4 addresses).
May 18 10:32:23 localhost dhcpd: ** Ignoring requests on eth2.  If this is not what
May 18 10:32:23 localhost dhcpd:    you want, please write a subnet declaration
May 18 10:32:23 localhost dhcpd:    in your dhcpd.conf file for the network segment
May 18 10:32:23 localhost dhcpd:    to which interface eth2 is attached. **

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

а у тебя dhcpd запускается с указанием интерфейса eth2 ?

Нужно либо совсем без списка интерфейсов, либо с br2

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

/etc/default/isc-dhcp-server

INTERFACES="eth2"

/etc/default/isc-dhcp-server


ddns-updates on;
ddns-update-style interim;
use-host-decl-names on;
update-static-leases on;
authoritative;
log-facility local7;
ignore client-updates;
allow booting;
allow bootp;

subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers                  192.168.0.1;
    option subnet-mask              255.255.255.0;
    option broadcast-address        192.168.0.255;
    range 192.168.0.2 192.168.0.50;
    default-lease-time              43200;
    max-lease-time                  86400;
    next-server 192.168.0.1;
}

group{
# Это виртуалльная машина
    host myvm {
        ddns-hostname "myvm";
        hardware ethernet 52:54:00:68:54:c9;
        fixed-address 192.168.0.10;
    }
}

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

eth2 указан изначально в /etc/default/isc-dhcp-server. Но позднее в /etc/network/interfaces был добавлен br2 в целях виртуализации, и с этого начались проблемы. Без br2 всё работает прекрасно, но для виртуалки нужен br2.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

INTERFACES=«eth2»

INTERFACES=«br2»

И стартовать сервер после старта br2 соответственно

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

Да, спасибо! Всё, что нужно, заработало. Убрал eth2 в interfaces и поставил br2 в /etc/default/isc-dhcp-server.

В связи с этим 2 вопроса:

Вопрос 1:
Но почему во многих руководствах ( Ubuntu или Debian) предлагается настраивать так:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

или

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

Это уже стало deprecated? ведь сейчас обошлись без manual.

Вопрос 2:
Раз всё так, то почему в следующем случае:

allow-hotplug eth1
iface eth1 inet dhcp

auto br1
iface br1 inet dhcp
bridge_ports eth1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
где eth1 получает интернет от роутера, всё работает и виртуалка взаимодействует с br1. А если закомментить
#allow-hotplug eth1
#iface eth1 inet dhcp
то интернет на сервере виртуальных машин работает, а сами виртуалки не могут получить адрес по dhcp с помощью br1?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Но почему во многих руководствах ( Ubuntu или Debian) предлагается настраивать так:

и правильно предлагается. в чем вопрос?
в interfaces надо писать, как предлагают, а программы в дальнейшем могут «пользоваться» только интерфейсом моста. У интерфейсов-участников моста адресов нет.

по второму вопросу не знаю, что сказать. не сталкивался.

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от aol

в чем вопрос?

Я пользовался этими руководствами, и только здесь подсказали, что унжно вообще удалить:

auto eth2
iface eth2 inet manual
Я удалил эти 2 строки и заработало. А руководствах предлагается их использовать.

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

у меня прекрасно работает (вот прямо сейчас и еще года три до этого) мост с таким interfaces, как по ссылкам из манов, что ты привел.

aol ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.