Чтобы включить переадресацию IP при загрузке в Debian, вы помещаете в /etc/sysctl.conf следующее:
net.ipv4.ip_forward=1
Я делал это тысячи раз, и это всегда работало без проблем. . Но есть одна машина Debian Buster, на которой переадресация разрешена для всех интерфейсов , кроме интерфейса Ethernet. В /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 имеет другую отметку времени, так что это может быть ключом к пониманию того, что происходит.
Оказывается, это ошибка в утилите ifupdown2, о которой я даже не знал, что она была установлена. Пока исправление ошибок не попадет в Buster, обходным путем является установка параметра ip-forward в /etc/network/interfaces:
iface enp0s25 inet static
address x.x.x.x
netmask 255.255.255.0
gateway x.x.x.x
ip-forward 1