这是我的服务器启动后的状态:
root@vzu01-ubuntu:~# cat /proc/sys/net/ipv4/ip_forward 1
没有其他启用的ip_forwardconfiguration:
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部分 – 更新sysctl.conf
编辑/etc/sysctl.conf ,添加下面一行:
net.ipv4.ip_forward=0
确保文件或/etc/sysctl.d下没有其他ip_forward行:
grep -r ip_forward /etc/sysctl.d
如果你find了,可以在行首加一个#删除或注释它们。
第2部分 – 确保没有其他configuration会自动重新启用转发
正如@wick提到的,Ubuntu发行版可以有桥接接口,在您closures之后就可以开启转发。
在我的情况下,这是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界面,请使用search引擎找出如何删除它们。
第3部分 – 重新启动并validation
重启后,下面的命令应该打印0:
cat /proc/sys/net/ipv4/ip_forward 0