AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1300395
Accepted
Helngard
Helngard
Asked: 2020-12-16 11:44:11 +0800 CST2020-12-16 11:44:11 +0800 CST 2020-12-16 11:44:11 +0800 CST

重启失败后 Ubuntu 20.04 中的 ip_forward=1

  • 772

我将 Ubuntu 20.04 配置为安装了 nftables 和 frr(配置了 ospf)的路由器。我在不同的网络中配置了两个接口(ens33 和 ens34),转发在 /etc/sysctl.conf 中配置,net.ipv4.ip_forward=1 以及 /etc/systemd/network/ens33.network

[Match]
Name=ens33

[Network]
IPForward=1

/etc/systemd/network/ens34.network

[Match]
Name=ens34

[Network]
IPForward=1

网络计划文件:

# This is the network config written by 'subiquity'
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      mtu: 1300
      addresses:
      - 10.10.2.1/24
      gateway4: 10.10.2.254
      nameservers:
        addresses:
        - 10.10.3.1
        search:
        - management.int
    ens34:
      mtu: 1300
      addresses:
      - 10.10.20.254/24
      nameservers: {}
  bridges:
    br0:
      mtu: 1300
      addresses:
      - 10.10.3.22/32
      nameservers: {}

命令“systemctl -p”后一切正常,但重启后ip转发被禁用(输出:sysctl net.ipv4.ip_forward为:net.ipv4.ip_forward=0)

routing 20.04 ip-forward
  • 2 2 个回答
  • 3272 Views

2 个回答

  • Voted
  1. Best Answer
    RomanK
    2020-12-17T11:59:12+08:002020-12-17T11:59:12+08:00

    在netplan生成配置时,它将为每个接口写入一个文件,/run/systemd/network/格式为:10-netplan-{interface}.network. 之后,systemd-networkd将应用配置。
    systemd-networkd将在其中找到配置文件/run/...和您的配置文件,/etc/...并将按词法顺序对它们进行处理。
    来自www.freedesktop.org/.../systemd.network.html:

    所有配置文件都按词法顺序集体排序和处理,而不管它们所在的目录。但是,具有相同文件名的文件会相互替换。

    [Match] 部分选项
    网络文件包含一个 [Match] 部分,它确定给定的网络文件是否可以应用于给定的设备;和 [Network] 部分指定设备的配置方式。应用与给定设备匹配的第一个(按词法顺序)网络文件,忽略所有后面的文件**,即使它们也匹配。

    所以现在您可以看到该IPForward选项将永远不会被应用。

    现在您需要将故障排除集中在 sysctl.conf

    来自www.freedesktop.org/.../sysctl.d.html:

    配置目录和优先级
    配置文件从 /etc/、/run/、/usr/local/lib/ 和 /usr/lib/ 中的目录中读取,按照优先级顺序,如上面的 SYNOPSIS 部分中所列。文件必须具有“.conf”扩展名。/etc/ 中的文件会覆盖 /run/、/usr/local/lib/ 和 /usr/lib/ 中的同名文件。/run/ 中的文件会覆盖 /usr/ 下的同名文件。

    所有配置文件都按其文件名按字典顺序排序,无论它们位于哪个目录中。如果多个文件指定相同的选项,则文件中具有字典顺序最新名称的条目将优先。因此,可以完全替换某个文件中的配置(通过将具有相同名称的文件放在具有更高优先级的目录中),或者可以更改个别设置(通过在具有不同名称的文件中指定其他设置,即稍后订购)。


    编辑:
    可能有应用程序将覆盖sysctl.conf
    例如ufw防火墙配置,其中/etc/ufw/sysctl.conf可能有行,例如net/ipv4/ip_forward=0优先于/etc/sysctl.conf. 虽然它不是默认配置,但必须手动配置。

    • 1
  2. ExploitFate
    2021-05-20T13:05:04+08:002021-05-20T13:05:04+08:00

    创建/etc/sysctl.d/99-forward.conf文件

    net.ipv4.ip_forward=1
    
    

    并重新启动操作系统。

    • 0

相关问题

  • 如何使用负载平衡设置多个 WAN?

  • 如何设置有线和无线双连接?

  • iptables 重定向的奇怪问题

  • 如何配置第二个 IP 地址并将其绑定到 VBoxHeadless 虚拟机?

  • Ubuntu 中是否有任何软件包允许在应用层级别进行路由?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve