netplan을 사용하여 게이트웨이 만들기

netplan을 사용하여 게이트웨이 만들기

netplan을 사용하여 게이트웨이를 설정하려고 합니다. 내 설정에 대한 몇 가지 세부 정보는 다음과 같습니다.

  1. 나는 20.04를 실행 중입니다

  2. 5개의 네트워크 카드(enp5s0, enp4s0f1, enp4s0f0, enp3s0f1, enp3s0f0)가 있습니다.

  3. 단일 PCIx 카드의 enp4* 및 enp3* NIC

  4. 게이트웨이는 내 ISP가 제공한 라우터 뒤에 있습니다(쓰레기같지만 대부분의 경우 작동합니다). 게이트웨이는 192.168.0.50으로 정적으로 구성되고 enp5s0을 통해 연결됩니다. ISP 라우터는 192.168.0.1에 있습니다.

  5. 카드에 있는 4개의 NIC는 다양한 업스트림 노트북/태블릿/휴대폰/기타 스위치/데스크톱을 지원하고 모든 것을 ISP 라우터로 전달합니다. 게이트웨이 업스트림에는 약 20개의 장치가 있습니다.

  6. Pihole은 게이트웨이에 설치됩니다. Pihole은 192.168.1.1/24에서 IP4 주소를 제공하도록 구성되었습니다(dnsmasq를 통해).

  7. 넷플랜 설정은 다음과 같습니다. (컴퓨터가 인터넷에 연결되어 있지 않아 화면에서 복사했습니다. 복사 오류가 있을 수 있습니다.)

    network:
      version: 2
      renderer: networkd
      ethernets:
        enp5s0:
          dhcp4: no
          addresses: <192.168.0.50/24>
          gateway4: 192.168.0.1
        switchports:
          match:
            name: enp<3-4>*
      bridges:
        br0:
          interfaces: <enp5s0, switchports>
          addresses: <192.168.1.1/24>
          dhcp4: true
    

    이 구성은 오류 없이 생성되고 적용됩니다.

  8. iptablesenp5s0 및 br0(i) 에서 NAT를 설정했습니다 ptables -t nat -A POSTROUTING -o enp5s0 -j MASQUERADE. 커널 ip_forward=1매개변수가 설정되었습니다.

그러나 결과가 혼합되어 있습니다.

  1. 게이트웨이에서 192.168.1.1 pihole 인터페이스에 연결할 수 있습니다

  2. 게이트웨이 뒤에 있는 클라이언트가 IP 주소를 성공적으로 얻었습니다.

  3. 게이트웨이 뒤에 있는 클라이언트는 pihole 인터페이스에 액세스할 수 있습니다.

    하지만:

  4. 게이트웨이에서 8.8.8.8을 핑할 수 없습니다. 이는 거의 요약됩니다. 게이트웨이에서 인터넷으로의 연결이 제대로 작동하지 않아 업스트림 클라이언트도 연결할 수 없습니다.

내 라우팅 테이블은 다음과 같습니다.

Destination   Gateway       Genmask         Flags   Iface
0.0.0.0       192.168.0.1   0.0.0.0         UG      enp5s0
192.168.0.0   0.0.0.0       255.255.255.0   U       enp5s0
192.168.1.0   0.0.0.0       255.255.255.0   U       br0

이 작업을 수행하기 위해 무엇을 시도할 수 있는지에 대한 아이디어가 있습니까?

답변1

좋아, 다음 설정으로 작동하게 할 수 있습니다. 아마도 내가 하는 방식으로 경로를 설정할 필요는 없지만 작동합니다.

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp5s0:
      dhcp4: no
      addresses: [192.168.0.50/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
    enp4s0f1:
      dhcp4: true
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
    enp4s0f0:
      dhcp4: true
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
    enp3s0f1:
      dhcp4: true
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
    enp3s0f0:
      dhcp4: true
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
  bridges:
    br0:
      interfaces: [enp4s0f1, enp4s0f0, enp3s0f1, enp3s0f0]
      addresses: [192.168.1.1/24]

관련 정보