将正常运行的 Slackware 路由器/防火墙转移到 ubuntu 20.04 - netplan 配置问题

将正常运行的 Slackware 路由器/防火墙转移到 ubuntu 20.04 - netplan 配置问题

在 CDROM 尚未问世的年代,我通过 19 张 3.5 英寸软盘获得了原始的 slackware linux,从那时起,我一直通过文本终端进行维护和升级。最近的一场雷雨摧毁了我所有的硬件,所以我决定在重建时升级到 Ubuntu。
服务器软件是 ubuntu server 20.04(此后在线升级),使用 bind9、isc-dhcp-server 和 iptables,使用旧系统离线备份中编辑的脚本和配置文件。

从 WAN 向内,设置如下。一台 Sagemcom F@st5355 路由器配置了 ipv4 10.0.0.0/24,地址 10.0.0.1。DHCP4 已激活,服务租约 10.0.0.100 至 10.0.0.200。计算机的 WAN 单口 PCIE 卡接口最初由 subequity 配置,后来通过文本编辑器编辑为 /etc/netplan/00-installer-config.yaml 即:

network:
  version: 2
  ethernets:
    enp4s0:
      dhcp4: true

到目前为止,名称服务器和网关、路由、IP 地址 (10.0.0.100) 信息都由上游硬件路由器通过 DHCP 租约提供,一切正常。这一切都正常,计算机可以访问互联网,使用“apt upgrade”等。

/etc/sysctl.conf 中启用 IPv4 转发。

问题就这么开始了。第二个 LAN 1GB NIC(enp3s0)在主板上,使用文本编辑器创建的 netplan 配置如下。

network:
  version: 2
  ethernets:
    enp3s0:
      addresses:
      - 192.168.1.16/24
      routes:
        - to: 127.0.0.1
          via: 10.0.0.1

问题是没有流量从 LAN 流向 WAN。这不是为 LAN NIC 生成正确配置的第一步。我在网上找到的所有说明或教程都没有提供设置此接口的明确路径。顺便说一句,我已经安装了 bind9、isc-dhcp-server 和 iptables,并针对此系统的接口名称等进行了适当的编辑。仍然没有运气。Peter

答案1

我在使用 netplan 和 20.04 时遇到了一些不寻常的问题,建议切换到 22.04 或使用经典的 ip 配置设置。我认为 dnsmasq 会在网络之前启动,然后出现问题

设置 netplan 和防火墙后,可能值得进行测试静态 IP在网络的两端,查看两端是否能互相 ping 通。

不幸的是,我已经升级到 22.04(那里有很大的变化)——我无法测试,而且我使用防火墙进行管理,所以一些有些事情可能需要翻译。我已经记录了在这里构建 - 它适用于 18.04,但我运行到了 20.04- 22.04 有一些重大变化(firewalld 运行 nftables 作为后端)

我的在职的22.04 的配置如下

 network:
  ethernets:
    enp1s0:
      dhcp4: true
      match:
          macaddress: XX:XX:XX:XX:XX:XX
      set-name: wan
    enp2s0:
      dhcp4: no
    enp3s0:
      dhcp4: no
    enp4s0:
      dhcp4: no

  bridges:
    lan:
      dhcp4: no
      addresses:
       - 192.168.2.1/24
      interfaces:
        - enp2s0
        - enp3s0
        - enp4s0

这有点不同 - 但除此之外,我认为您不再需要设置静态路由,您的路由看起来不错。我还选择了 WAN 接口和 LAN 接口 - 尽管这非常符合我粘贴在路由器上的标签。

我将这些作为旧版本的直接规则输入到防火墙中,所以我相信这些应该可以工作

ipv4 nat POSTROUTING 0 -o  enp1s0 -j MASQUERADE
ipv4 filter FORWARD 0 -i br0 -o  enp1s0 -j ACCEPT
ipv4 filter FORWARD 0 -i enp1s0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT

答案2

在等待答案的时候,我做了更多搜索并发现了这篇文章。

https://www.networkreverse.com/2020/06/how-to-build-linux-router-with-ubuntu.html

在那里,我找到了足够的资料来设置我的基本 Ubuntu 路由器。基本上建立了一个基本的 WAN <--> LAN 连接。然后我启动了“sudo apt upgrade”,然后去喝了杯茶。回来后,重新启动进入 Ubuntu V:22.04,然后 apt 安装了 isc-dhcp-server 和 bind9,并从我的 Slackware 设置中安装了编辑过的 conf 文件。

我的 netplan 配置文件现在是:

00-installer-config.yaml

{ 网络: 版本: 2 以太网: enp4s0: dhcp4: true }

99-enp3s0-config.yaml
    network:
    version: 2
    ethernets:
      enp3s0:
        addresses:
        - 192.168.1.16/24
        nameservers:
          addresses:
          - 203.12.160.35
          - 203.12.160.36

结果是通信虽然很慢,但令人费解的是,因为相同的程序在与 slackware 设置相同的硬件上运行,而 slackware 设置非常快。毫无疑问,我会在 iptables 配置中发现一些愚蠢的错误。同时,我希望我的辛劳对其他人有用。

相关内容