使用netplan创建网关

使用netplan创建网关

我正在尝试使用 netplan 来设置网关。以下是我设置的一些详细信息:

  1. 我运行20.04

  2. 我有 5 个网卡(enp5s0、enp4s0f1、enp4s0f0、enp3s0f1、enp3s0f0)

  3. enp4* 和 enp3* NIC 位于单个 PCIx 卡上

  4. 网关位于我的 ISP 提供的路由器后面(它是垃圾,但大部分时间都可以工作)。网关静态配置为 192.168.0.50,并通过 enp5s0 连接。 ISP 路由器位于 192.168.0.1

  5. 卡上的 4 个 NIC 将为各种其他上游笔记本电脑/平板电脑/手机/其他交换机/台式机提供服务,并将所有内容转发到我的 ISP 路由器。网关上游约有 20 个设备。

  6. 网关上安装有 pihole。 Pihole 配置为(我相信是通过 dnsmasq)提供 192.168.1.1/24 中的 IP4 地址

  7. netplan 设置如下(从屏幕复制,因为计算机没有互联网连接。可能存在复制错误):

    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. iptables我已从 enp5s0 和 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. 我无法从网关 ping 通 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]

相关内容