KVM Bridge на сервере Ubuntu 16.04 не работает

Спасибо за прослушивание.

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

Если я не ошибаюсь, я подумал, что это то, что даст мне мост? Надеюсь дать всю необходимую информацию ...

libvirt network default.xml ...

<network> <name>default</name> <uuid>64acadc1-0c41-4cf5-850e-01bcfe5ad7ba</uuid> <forward mode='route'/> <bridge name='br0' stp='on' delay='0'/> <mac address='52:54:00:54:b1:e4'/> <ip address='192.168.0.2' netmask='255.255.255.0'> <dhcp> <range start='192.168.0.3' end='192.168.0.254'/> <host mac='52:54:00:13:3a:69' name='node1' ip='192.168.0.201'/> <host mac='52:54:00:92:af:91' name='node2' ip='192.168.0.202'/> <host mac='52:54:00:bb:4b:6d' name='node3' ip='192.168.0.203'/> <host mac='52:54:00:e3:4b:4a' name='node4' ip='192.168.0.204'/> </dhcp> </ip> </network>

libvirt network default.xml ...

<interface type='bridge'> <mac address='52:54:00:13:3a:69'/> <source bridge='br0'/> </interface>

ifconfig на хосте ...

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 ether 52:54:00:54:b1:e4 txqueuelen 1000 (Ethernet) RX packets 552 bytes 41699 (41.6 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 240 bytes 26714 (26.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp3s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.13 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::2e76:8aff:fea9:7e5e prefixlen 64 scopeid 0x20<link> ether 2c:76:8a:a9:7e:5e txqueuelen 1000 (Ethernet) RX packets 3679 bytes 1174123 (1.1 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4101 bytes 410899 (410.8 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ifconfig на хосте ...

ens3 Link encap:Ethernet HWaddr 52:54:00:13:3a:69 inet addr:192.168.0.201 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::5054:ff:fe13:3a69/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:191 errors:0 dropped:0 overruns:0 frame:0 TX packets:335 errors:0 dropped:0 overruns:0 carrier:0 collisions:1605 txqueuelen:1000 RX bytes:22402 (22.4 KB) TX bytes:34822 (34.8 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:8530 errors:0 dropped:0 overruns:0 frame:0 TX packets:8530 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:1766049 (1.7 MB) TX bytes:1766049 (1.7 MB)

brctl show ...

bridge name bridge id STP enabled interfaces br0 8000.52540054b1e4 yes br0-nic

brctl show ...

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp3s0f0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s0f0 192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 enp3s0f0

Гости могут прослушивать хост, и они могут пинговать друг друга .

0
задан 14 December 2017 в 03:32

2 ответа

В настоящее время у вас есть мосты и квесты в другой подсети, чем в основной подсети. Таким образом, ваши квесты не имеют доступа в Интернет, потому что нет пути к вашим шлюзам. Поместите все в одну и ту же подсеть. Примеры с моего главного хост-компьютера:

Главный хост ifconfig. Обратите внимание, что enp3s0 даже не показывает IP-адрес. Это связано с тем, что он подключен к br0, и оба имеют один и тот же IP-адрес. Игнорируйте lxcbr0 и virbr0, они не являются частью этого обсуждения, и я не использую их (только для полноты).

doug@s15:~$ ifconfig br0 Link encap:Ethernet HWaddr f4:6d:04:65:2d:8e inet addr:192.168.111.112 Bcast:192.168.111.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4574 errors:0 dropped:0 overruns:0 frame:0 TX packets:2604 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:509690 (509.6 KB) TX bytes:425082 (425.0 KB) enp3s0 Link encap:Ethernet HWaddr f4:6d:04:65:2d:8e UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4574 errors:0 dropped:0 overruns:0 frame:0 TX packets:2604 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:573726 (573.7 KB) TX bytes:426090 (426.0 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:174 errors:0 dropped:0 overruns:0 frame:0 TX packets:174 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12644 (12.6 KB) TX bytes:12644 (12.6 KB) lxcbr0 Link encap:Ethernet HWaddr 00:16:3e:00:00:00 inet addr:10.0.3.1 Bcast:0.0.0.0 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) virbr0 Link encap:Ethernet HWaddr 52:54:00:21:9e:43 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Вот мой основной файл интерфейсов хостов, где br0 подключен к enp3s0:

doug@s15:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface and bridge auto br0 iface br0 inet dhcp #iface br0 inet static # address 192.168.111.112 # network 192.168.111.0 # netmask 255.255.255.0 # gateway 192.168.111.1 # broadcast 192.168.111.255 # dns-search smythies.com # dns-nameservers 192.168.111.1 bridge_ports enp3s0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off

И вот сетевой раздел типичного гостя. Я назначаю MAC, потому что я назначаю IP-адреса с моего DHCP-сервера на основе MAC, а затем мой DNS-файл работает так, как я хочу.

<interface type='bridge'> <mac address='52:54:00:14:ff:9c'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>

И вот маршрутизация. Все в моей локальной сети находится в подсетей 192.168.111.XXX, и поэтому есть путь к / из шлюза через br0:

doug@s15:~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.111.1 0.0.0.0 UG 0 0 0 br0 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0 192.168.111.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0
ответ дан 18 July 2018 в 01:14

В настоящее время у вас есть мосты и квесты в другой подсети, чем в основной подсети. Таким образом, ваши квесты не имеют доступа в Интернет, потому что нет пути к вашим шлюзам. Поместите все в одну и ту же подсеть. Примеры с моего главного хост-компьютера:

Главный хост ifconfig. Обратите внимание, что enp3s0 даже не показывает IP-адрес. Это связано с тем, что он подключен к br0, и оба имеют один и тот же IP-адрес. Игнорируйте lxcbr0 и virbr0, они не являются частью этого обсуждения, и я не использую их (только для полноты).

doug@s15:~$ ifconfig br0 Link encap:Ethernet HWaddr f4:6d:04:65:2d:8e inet addr:192.168.111.112 Bcast:192.168.111.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4574 errors:0 dropped:0 overruns:0 frame:0 TX packets:2604 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:509690 (509.6 KB) TX bytes:425082 (425.0 KB) enp3s0 Link encap:Ethernet HWaddr f4:6d:04:65:2d:8e UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4574 errors:0 dropped:0 overruns:0 frame:0 TX packets:2604 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:573726 (573.7 KB) TX bytes:426090 (426.0 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:174 errors:0 dropped:0 overruns:0 frame:0 TX packets:174 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12644 (12.6 KB) TX bytes:12644 (12.6 KB) lxcbr0 Link encap:Ethernet HWaddr 00:16:3e:00:00:00 inet addr:10.0.3.1 Bcast:0.0.0.0 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) virbr0 Link encap:Ethernet HWaddr 52:54:00:21:9e:43 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Вот мой основной файл интерфейсов хостов, где br0 подключен к enp3s0:

doug@s15:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface and bridge auto br0 iface br0 inet dhcp #iface br0 inet static # address 192.168.111.112 # network 192.168.111.0 # netmask 255.255.255.0 # gateway 192.168.111.1 # broadcast 192.168.111.255 # dns-search smythies.com # dns-nameservers 192.168.111.1 bridge_ports enp3s0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off

И вот сетевой раздел типичного гостя. Я назначаю MAC, потому что я назначаю IP-адреса с моего DHCP-сервера на основе MAC, а затем мой DNS-файл работает так, как я хочу.

<interface type='bridge'> <mac address='52:54:00:14:ff:9c'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>

И вот маршрутизация. Все в моей локальной сети находится в подсетей 192.168.111.XXX, и поэтому есть путь к / из шлюза через br0:

doug@s15:~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.111.1 0.0.0.0 UG 0 0 0 br0 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0 192.168.111.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0
ответ дан 24 July 2018 в 17:21
  • 1
    Хорошо, THX Doug Я попробую это. Могу ли я спросить, как выглядит ваш файл default.xml в вашей сети, пожалуйста? И чтобы проверить, что вы можете получить доступ ко всем портам своих гостей из остальной части вашей подсети (то есть не только к хосту и другим гостям, но и ко всем другим компьютерам)? – Jus 14 December 2017 в 02:51
  • 2
    Да, я могу получить доступ ко всем портам всех гостей из любой точки моей локальной сети, что является одной из основных причин моста. Насколько я знаю, мой /etc/libvirt/qemu/default.xml файл по умолчанию, но мне все равно, потому что я его переопределяю, и мои квесты используют мост и получают свой IP-адрес с моего DHCP-сервера. – Doug Smythies 14 December 2017 в 03:33
  • 3
    Так что все еще что-то не так! После добавления br0 в той же подсети и выполнения ifconfig я получаю свой физический сетевой адаптер, отображающий тот же самый адрес inet, что и br0, что указывает на то, что мосты не работают. Невозможно вырезать выход, поскольку я не могу использовать SSH для хоста в этом состоянии. – Jus 18 December 2017 в 01:46
  • 4
    Некоторый прогресс ... отключен ipv6, и теперь я могу пинговать в Интернете (забыл упомянуть об этом выше), но все же не может ssh принимать. ufw отключен, и я сбросил все правила iptables – Jus 18 December 2017 в 02:24
  • 5
    @Jus: Если бы мой ответ помог вам, тогда, возможно, примите его или поддержите. – Doug Smythies 19 December 2017 в 02:28

Другие вопросы по тегам:

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