Как бы вы сконфигурировали несколько сетевых карт с включенным DHCP с помощью netplan?

У меня есть сервер Ubuntu 18.04 с тремя сетевыми картами, каждый из которых подключен к отдельной локальной сети, и каждый получает сетевую информацию от DHCP-сервера. По умолчанию, из того, что я могу сказать, один интерфейс устанавливается по умолчанию и будет правильно маршрутизировать исходящий трафик, но любой входящий трафик, поступающий на интерфейс не по умолчанию, будет по существу отброшен, так как ответ будет отправлен из другого интерфейса. В моем сценарии мне нужно иметь доступ к серверу через SSH на каждом интерфейсе.

После долгих раскопок и игры с netplan вот что я закончил:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
      dhcp4: yes
    ens224:
      dhcp4: yes
      dhcp4-overrides:
        use-routes: no
      routes:
        - to: 0.0.0.0/0
          via: 192.168.2.1
          metric: 100
          table: 2
      routing-policy:
        - from: 192.168.2.0/24
          table: 2
    ens256:
      dhcp4: yes
      dhcp4-overrides:
        use-routes: no
      routes:
        - to: 0.0.0.0/0
          via: 192.168.1.1
          metric: 100
          table: 3
      routing-policy:
        - from: 192.168.1.0/24
          table: 3

Это кажется запутанным, но оно действительно решает мою первоначальную постановку задачи. Мне интересно, упускаю ли я что-то здесь очевидное или это действительно правильный ответ.

0
задан 20 May 2020 в 03:12

1 ответ

Конфигурация, которую вы сейчас используете, позволяет выполнить полную маршрутизацию для всего трафика через каждый интерфейс, поскольку вы используете маршрутизацию на основе источника , Если требуется, чтобы вы могли получить доступ к машине через ssh с любого удаленного адреса на любой из локальных адресов, независимо от того, какие сетевые интерфейсы в данный момент работают, тогда это самый простой способ выразить это в настоящее время в netplan.

Если вам нужно было только ens224 и ens256 для использования в качестве резервных интерфейсов в случае, если ens192 не работает, а в других случаях вам нужно было, чтобы они были доступны только из ( и для достижения) их соответствующих локальных сетей, вы можете использовать вместо этого эту упрощенную конфигурацию:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
      dhcp4: yes
    ens224:
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 200
    ens256:
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 200
1
ответ дан 19 June 2020 в 21:38

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

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