Проблемы со связью в сети Libvirt

Я хочу настроить мост так, чтобы гостевые виртуальные машины на моем сервере без заголовка использовали DHCP локальной сети, а не dnsmasq. Я следовал этим инструкциям: https://jamielinux.com/docs/libvirt-networking-handbook/bridged-network.html. Глядя на ifconfig Результаты, кажется, дают мне именно то, что я искал:

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.210  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4216:7eff:fe63:7516  prefixlen 64  scopeid 0x20<link>
        ether 40:16:7e:63:75:16  txqueuelen 1000  (Ethernet)
        RX packets 8255  bytes 653898 (653.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 633  bytes 60185 (60.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.195  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 40:16:7e:63:75:16  txqueuelen 1000  (Ethernet)
        RX packets 42190  bytes 48646124 (48.6 MB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 9808  bytes 889965 (889.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2215  bytes 510180 (510.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2215  bytes 510180 (510.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:7a:ca:5e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Однако, если я пытаюсь подключиться по SSH к моему серверу (192.168.1.195) с другого компьютера (192.168.1.196), я не могу подключиться. Пинг с сервера не может достичь других устройств в моей локальной сети, но пинг с сервера до 8.8.8.8, кажется, работает нормально. мой /etc/network/interfaces Файл выглядит следующим образом (MAC-адрес сетевой карты моего сервера):

iface enp3s0 inet manual

auto br0
iface br0 inet static
    # Use the MAC address identified above.
    hwaddress ether 40:16:7e:63:75:16
    address 192.168.1.210
    netmask 255.255.255.0
    gateway 192.168.1.1

    bridge_ports enp3s0
    # If you want to turn on Spanning Tree Protocol, ask your hosting
    # provider first as it may conflict with their network.
    bridge_stp on
    # If STP is off, set to 0. If STP is on, set to 2 (or greater).
    bridge_fd 0

Последние два дня я потратил на поиски в Интернете, а также несколько раз переизображал свой сервер, когда что-то слишком ломалось, и я думаю, что я просто теряю сюжет... Мой сервер - Ubuntu 18.04.2, полностью стоковый, кроме установленных пакетов libvirt и ssh. Как сделать так, чтобы сервер был доступен для других моих сетевых компьютеров?

1 ответ

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

  1. Обновление /etc/sysctl.conf

Раскомментируйте строку с надписью ".net.ipv4.ip_forward=1"

  1. Обновите /etc/network/interfaces

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

# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown
iface enp3s0 inet manual

auto lo
iface lo inet loopback

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

Я использовал резервирование IP-адреса в моем маршрутизаторе, чтобы убедиться, что моя виртуальная машина всегда получала один и тот же IP-адрес. Использование DHCP сделало настройку в целом немного проще для меня.

Еще раз спасибо RobertRSeattle и Doug Smythies за то, что терпели меня.

У меня был рабочий мост, который обрушился. Все перепробовала. Пошел на охоту на ведьм в поисках файлов докеров, думая, что докер разрушил мою сеть. Оказалось, что имя сетевого интерфейса внутри гостя изменилось, и enp1s0 стал enp7s0. исправил yaml /etc/netplan и все вернулось.

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