два IP-адреса и два шлюза на одном интерфейсе в конфигурации моста с сетевым планом в Ubuntu 20.04

У меня есть выделенный сервер Hetzner с одной сетевой картой и двумя общедоступными IP-адресами (оба IP-адреса имеют собственный шлюз). Точно знаю, что у него есть только один адрес, настроенный с помощью neplan. Ниже приведена моя конфигурация

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      addresses:
        - x.x.x.x/32        #Main IPv4 address
        - xx.xx.xx.xx::2/64 #IPv6
      routes:
        - on-link: true
          to: 0.0.0.0/0
          via: gx.gx.gx.gx      #Main IPv4 address Gateway IP
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2

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

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      dhcp4: false
      dhcp6: false

  bridges:
    kvmbr0:
      interfaces:
        - enp195s0
      addresses:
        - x.x.x.x/32          #Main IPv4 address
        - y.y.y.y/32          #Additional IPv4 address
      routes:
        - to: 0.0.0.0/0
          via: gx.gx.gx.gx    #Main IPv4 address Gateway IP
          table: 1
          metric: 100
        - to: 0.0.0.0/0
          via: gy.gy.gy.gy    #Additional IPv4 address Gateway IP
          table: 2
          metric: 200
      mtu: 1500
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2
      parameters:
        stp: false 
        forward-delay: 4 

Проблема в том, что после применения сетевого плана я всегда теряю подключение к Интернету :/ У меня есть скрипт, который восстанавливает конфигурацию сетевого плана по умолчанию через несколько минут, если я его не остановлю, так что это сложно Сформируйте меня, чтобы проверить, что происходит на сервере, но я предполагаю, что это что-то с маршрутизация. Я новичок в конфигурациях netplan, не могли бы вы помочь мне найти правильное решение?

0
задан 2 December 2021 в 13:23
1 ответ

Я нашел решение. Ниже

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      dhcp4: false
      dhcp6: false

  bridges:
    kvmbr0:
      interfaces:
        - enp195s0
      addresses:
        - x.x.x.x/26           # <- netmask here
        - y.y.y.y/29           # <- netmask here
      routes:
        - to: 0.0.0.0/0
          via: gx.gx.gx.gx
          metric: 100
        - to: nx.nx.nx.nx/26   # <- route to main IP network
          via: gx.gx.gx.gx     # <- via main IP gateway
          metric: 100
          table: 1             # <- with routing table assignment 
        - to: 0.0.0.0/0
          via: gy.gy.gy.gy
          metric: 200          
        - to: ny.ny.ny.ny/29   # <- route to additional IP network
          via: gy.gy.gy.gy     # <- via additional IP gateway
          metric: 200
          table: 2             # <- with routing table assignment
      routing-policy:          # <- routing policies for IPs networks 
        - from: nx.nx.nx.nx/26 
          table: 1             # <- appropriate routing table
        - from: ny.ny.ny.ny/29
          table: 2             # <- appropriate routing table
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2
      parameters:
        stp: true 
        forward-delay: 4

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

Другие изменения были необходимы, чтобы позволить дополнительным IP-адресам связываться с Интернетом.

0
ответ дан 3 December 2021 в 14:07

Теги

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