每次启动时启用 ip 转发

每次启动时启用 ip 转发

最近我注意到cat /proc/sys/net/ipv4/ip_forward返回 1,这是不推荐的,而且我通常不会启用不需要的、会增加我的攻击媒介的东西。

我想,好吧,只需设置net.ipv4.ip_forward=0一下/etc/sysctl.conf。重启后它仍然返回 1。我觉得很奇怪,在整个/etc目录中搜索“net.ipv4.ip_forward”,发现 ufw 也在配置文件中,但注释了。为了安全起见,我也在net.ipv4.ip_forward=0那里插入了。重启后,ip 转发仍然处于启用状态。通过将零回显到 proc 文件,可以暂时禁用。

我如何追踪启动时哪些进程发生了变化?

提前感谢你的帮助!

答案1

有一个错误会导致在网络正确初始化之前加载 sysctl 值。这会导致 中的网络设置/etc/sysctl.conf被忽略。解决此问题的方法可能是/etc/init.d/procps restart/etc/local.rc因此会重复初始化。

有问题的错误:https://bugs.launchpad.net/ubuntu/+source/procps/+bug/50093

答案2

要启用所做的更改,sysctl.conf您需要运行以下命令:

sudo sysctl -p /etc/sysctl.conf


参考

  1. 如何在 Linux 中启用 IP 转发

答案3

如果你需要在脚本中启用它,你可以使用下面的命令来启用

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p

或禁用:

sed -i 's/net.ipv4.ip_forward=1/net.ipv4.ip_forward=0/' /etc/sysctl.conf
sysctl -p

相关内容