如何禁用 Ubuntu 服务器的 ip_forward

如何禁用 Ubuntu 服务器的 ip_forward

这是我的服务器启动后的状态:

root@vzu01-ubuntu:~# cat /proc/sys/net/ipv4/ip_forward
1

没有其他启用的ip_forward配置:

root@vzu01-ubuntu:~# grep -r ip_forward /etc
/etc/sysctl.conf:net.ipv4.ip_forward=0
/etc/ufw/sysctl.conf:#net/ipv4/ip_forward=1

如果我这样做sysctl -p- 它会正常禁用转发,但重启后 ip_forward 会重新启用。即使我放入sysctl -prc.local,在启动时禁用 ip_forward 也无济于事。

任何想法?

答案1

第 1 部分 - 更新 sysctl.conf

编辑/etc/sysctl.conf,添加以下行:

net.ipv4.ip_forward=0

确保文件中或下没有其他 ip_forward 行/etc/sysctl.d

grep -r ip_forward /etc/sysctl.d

如果发现任何内容,请通过在行#首添加一个来删除或注释掉它们。

第 2 部分 - 确保没有其他配置会自动重新启用转发

正如 @wick 所说,Ubuntu 发行版可以具有桥接接口,在您关闭转发后,它将打开转发。

就我的情况而言lcxbr0

ip addr show
(...)
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default

对于上面的界面,编辑/etc/default/lxc-net,更改USE_LXC_BRIDGE为:

USE_LXC_BRIDGE="false"

如果您有任何其他brX接口,请使用搜索引擎来查找如何删除它们。

第 3 部分 - 重启并验证

重新启动后,以下命令应该打印 0:

cat /proc/sys/net/ipv4/ip_forward
0

相关内容