启动时未启用以太网接口的内核 IP 转发

启动时未启用以太网接口的内核 IP 转发

要在 Debian 中启用启动时的 IP 转发,请在 /etc/sysctl.conf 中输入以下内容:

net.ipv4.ip_forward=1

我已经做了数千次,而且一直没有问题。但是有一台 Debian Buster 机器上的所有接口都启用了转发除了以太网接口。在 /proc/sys/net/ipv4/conf/ 中,我有以下内容:

dr-xr-xr-x 1 root root 0 Nov  6 08:07 all
dr-xr-xr-x 1 root root 0 Nov  6 08:07 default
dr-xr-xr-x 1 root root 0 Nov  6 07:53 enp0s25
dr-xr-xr-x 1 root root 0 Nov  6 08:07 lo
dr-xr-xr-x 1 root root 0 Nov  6 08:07 tun-mega

所有文件的内容都是 1,除了 enp0s25 是 0。因此,除非我手动启用它,否则转发不起作用。我尝试在 /etc/sysctl.conf 中专门启用它:

net.ipv4.conf.enp0s25.forwarding=1

但这并没有什么区别。我注意到文件 enp0s25 有不同的时间戳,所以这可能是理解发生了什么的关键。

答案1

事实证明这是一个错误ifupdown2实用程序,我甚至不知道它已经安装。在 Buster 中解决错误之前,解决方法是在 /etc/network/interfaces 中设置 ip-forward 参数:

iface enp0s25 inet static
    address x.x.x.x
    netmask 255.255.255.0
    gateway x.x.x.x
    ip-forward 1

相关内容