Netplan, 두 개의 서브넷을 위한 두 개의 게이트웨이

Netplan, 두 개의 서브넷을 위한 두 개의 게이트웨이

나는 다음과 같이 일하려고 노력하고 있습니다 :

2개의 서브넷(예: 192.168.15.0/24 및 192.168.19.0/24)과 2개의 게이트웨이(192.168.105.1/24, 192.168.109.1/24) 및 netplan을 라우터로 사용하는 Ubuntu 18.04 서버(서브넷의 .1/24)가 있습니다. , 게이트웨이 서브넷의 .2/24). 목표는 하나의 서브넷에 하나의 게이트웨이를 사용하고 두 번째 서브넷에 다른 게이트웨이를 사용하는 것입니다. netplan 문서에서와 같이 소스 기반 라우팅을 사용하더라도 두 개의 게이트웨이(무작위 순서)로 끝나고 하나의 서브넷만 인터넷에 액세스할 수 있습니다.

제발, 어떻게 하면 작동하게 할 수 있나요?

감사해요

편집: - 추가된 설정

이 설정을 사용하면 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

답변1

각 서브넷에는 게이트웨이가 있지만 모든 서브넷에는 하나만 가질 수 있습니다.기본게이트웨이의 경우 이 문제를 해결하는 방법은 실제로 매우 간단합니다. '정적 경로'를 생성하면 됩니다.

따라서 어떤 서브넷이 기본 서브넷이 될지 선택하고 이를 기본 게이트웨이(DG)로 설정해야 합니다. 그런 다음 두 번째 IP 주소를 두 번째 어댑터/VLAN에 추가하고 고정 경로만 추가하면 됩니다.

따라서 다시 예에서 NIC 1은 192.168.15입니다. IP는 무엇이든, NM은 255.255.255.0, 192.168.15.1(또는 DG는 무엇이든 서브넷 내에 있어야 합니다. 192.168) .105.1은 그렇지 않음) 그런 다음 NIC 2에 192.168.19.what을 설정합니다. 동일한 NM이지만 이것은 DG를 얻지 못합니다. 그런 다음 192.168.19.0/24의 모든 항목이 해당 IP 범위에 대해 게이트웨이 역할을 하지만 기본 게이트웨이는 아닌 NIC 2에 할당한 IP를 통과해야 하므로 고정 경로를 생성합니다. 아 그리고 192.168.109.1은 물론 그 범위에 있지 않으므로 역시 잘못되었습니다.

이것이 충분히 명확하기를 바라지만 그렇지 않으면 괜찮습니다.

관련 정보