这是我的服务器启动后的状态:
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 -p
rc.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