Назад | Перейти на главную страницу

Netplan, два шлюза на две подсети

Я пытаюсь наладить следующие действия:

Имейте 2 подсети (например, 192.168.15.0/24 и 192.168.19.0/24) и два шлюза (192.168.105.1/24, 192.168.109.1/24) и сервер Ubuntu 18.04 с сетевым планом в качестве маршрутизатора (.1 / 24 в подсетях. , .2 / 24 в подсетях шлюза). Цель состоит в том, чтобы использовать один шлюз для одной подсети и другой шлюз для второй подсети. Даже если я использую маршрутизацию на основе источника, как в документах netplan, заканчивая двумя шлюзами (в произвольном порядке), и только одна подсеть может получить доступ к Интернету.

Пожалуйста, как мне заставить его работать?

Спасибо

edit: - добавлены настройки

с этой настройкой работает с 192.168.105.xx в Интернет, но ничего с 192.168.109.xx.

А с маршрутом есть два шлюза для 0.0.0.0/0

/etc/iptables/rules.v4

# Generated by iptables-save v1.6.1 on Sat Aug 22 10:38:15 2020
*nat
:PREROUTING ACCEPT [386:180180]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [1:76]
:POSTROUTING ACCEPT [1:76]
-A POSTROUTING -s 192.168.15.0/24 -o br105 -j MASQUERADE
-A POSTROUTING -s 192.168.19.0/24 -o br109 -j MASQUERADE
COMMIT
# Completed on Sat Aug 22 10:38:15 2020
# Generated by iptables-save v1.6.1 on Sat Aug 22 10:38:15 2020
*filter
:INPUT ACCEPT [4:1760]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [28:2536]
-A INPUT -i br105 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i br109 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Aug 22 10:38:15 2020

/etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0:
      dhcp4: no

    enp7s1:
      dhcp4: no

    enp1s0f0:
      dhcp4: no

    enp1s0f1:
      dhcp4: no


  bridges:
    br15:
      dhcp4: no
      interfaces: [ enp7s0 ]
      addresses: [ 192.168.15.1/24 ]

    br19:
      dhcp4: no
      interfaces: [ enp7s1 ]
      addresses: [ 192.168.19.1/24 ]

    br105:
      dhcp4: no
      interfaces: [ enp1s0f0 ]
      addresses: [ 192.168.105.2/24 ]
      nameservers:
        addresses: [ 8.8.8.8 ]
      gateway4: 192.168.105.1

    br109:
      dhcp4: no
      interfaces: [ enp1s0f1 ]
      addresses: [ 192.168.109.2/24 ]
      routes:
        - to: 0.0.0.0/0
          from: 192.168.109.2
          via: 192.168.109.1
          on-link: true

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

Таким образом, вам нужно выбрать, какая подсеть будет использоваться по умолчанию, и установить ее в качестве шлюза по умолчанию (DG), затем все, что вам нужно сделать, это добавить второй IP-адрес ко второму адаптеру / VLAN, а затем просто добавить статический маршрут.

Итак, в этом примере вы снова говорите NIC 1 как 192.168.15. Независимо от IP, 255.255.255.0 как NM и 192.168.15.1 (или что угодно как DG, кстати, он должен находиться внутри подсети, что 192.168 .105.1 нет), затем настройте 192.168.19. Что угодно на NIC 2, тот же NM, но у этого нет DG. Затем вы создаете статический маршрут, поскольку все, что в 192.168.19.0/24, должно проходить через IP-адрес, который вы назначили для сетевой карты 2, которая действует как шлюз, но не по умолчанию, для этого диапазона IP-адресов и ничего больше. Да и 192.168.109.1, конечно, не входит в этот диапазон, так что это тоже неверно.

Надеюсь, это достаточно ясно, но в остальном вернись.