Создайте мостовой интерфейс на отдельной сетевой карте, но в той же подсети, что и шлюз хоста

Создайте мостовой интерфейс на отдельной сетевой карте, но в той же подсети, что и шлюз хоста

Примечание: я не смог найти прямого ответа ни в одном из дубликатов, отмеченных для этого вопроса. Проблема в том, что «правильный ответ», похоже, очень сильно зависит от того, какой релиз вы используете и есть ли у вас профиль рабочего стола или сервера. У меня есть немного и того, и другого, потому что я установил lubuntu-core для предоставления некоторой базовой удаленной функциональности X, и, похоже, NetworkManager также был установлен, но мы предпочитаем редактировать нашу сетевую конфигурацию вручную, а не использовать инструменты GUI.

Ситуация такова: у меня есть удаленный сервер Ubuntu 14.04, на котором мне нужно перенастроить сеть. Мне нужно безопасно добавить мостовой интерфейс eth1к удаленной системе, не разрывая удаленное подключение. У меня есть новый файл /etc/network/interfaces, который я хочу загрузить, но поскольку у меня нет эквивалентной машины для его тестирования или физического доступа к серверу, у меня есть несколько вопросов о моей новой конфигурации:

  1. Соответствуют ли конфигурация шлюза и метрика в файле ниже тому, что я пытаюсь сделать, и,
  2. Будет ли сетевой менеджер переопределять или вмешиваться в то, что я делаю здесь? В настоящее время, когда я ifup eth1сетевой менеджер просто автоматически его отключает. Я боюсь отключать NM, так как он может убить удаленное соединение, и
  3. Если я перезагружу систему с обновленным файлом и моей текущей конфигурацией, сможет ли она получить удаленное SSH-подключение, когда снова заработает?

На сервере в данный момент запущен NetworkManager, однако он мне не нужен. Меня волнует только то, что используется конфигурация в /etc/network/interfaces и что машина остается доступной для удаленного входа по SSH на всех этапах реконфигурации (т. е. я не хочу быть заблокированным из-за неправильной конфигурации или отключения обоих интерфейсов без скрипта или перезагрузки автоматически и корректного их включения).

eth0это интерфейс по умолчанию для трафика хоста. eth1будет мостом для виртуальной машины KVM с собственным внешним IP-адресом. Оба интерфейса подключаются к одному и тому же физическому коммутатору и совместно используют подсеть XXX0/24. Насколько я понимаю, мне нужен мост, чтобы это работало, НО мне также нужно быть осторожным со своими шлюзами и метриками, поскольку у меня 2 интерфейса в одной сети.

В настоящее время хост имеет следующий статус NetworkManager:

# nmcli d status
DEVICE     TYPE              STATE
eth1       802-3-ethernet    unavailable
eth0       802-3-ethernet    unmanaged

И конфигурация в NetworkManager.conf:

[ifupdown]
managed=false

Я создал новую конфигурацию ниже:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address X.X.X.4
        netmask 255.255.255.0
        network X.X.X.0
        broadcast X.X.X.255
        gateway X.X.X.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers X.X.X.2
        dns-search example.com
        # Interfaces with lower values get used first
        metric 10

### NEW BRIDGED INTERFACE ON ETH1 ###
auto eth1
iface eth1 inet static
        address X.X.X.7
        netmask 255.255.255.0
        network X.X.X.0
        broadcast X.X.X.255
        # do I need gateway here or will it conflict with eth0 ?
        # gateway X.X.X.1
        metric 20

auto br0
iface br0 inet static
        address X.X.X.200
        netmask 255.255.255.0
        network X.X.X.0
        broadcast X.X.X.255
        gateway X.X.X.1
        bridge_ports eth1
        bridge_stp off
        bridge_maxwait 5
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers X.X.X.2
        dns-search example.com
        metric 30

Как я уже сказал, с этой новой конфигурацией, только что добавленной на сервер, она ifup eth1работает только до тех пор, пока NM не решит ее удалить. Это делает тестирование чего-либо проблематичным, но я беспокоюсь, что простое отключение NM может быть намного хуже.

решение1

В конце концов я просто заменил конфигурацию eth1 на

auto eth1
iface eth1 inet manual

... скрестил пальцы и запустил reboot. Система вернулась с правильными интерфейсами eth0 и br0, хотя это "решение" меня совсем не устраивало, и я уверен, что есть лучший ответ.

Связанный контент