在 OpenVZ 容器内启用 IP 转发,但在主机上禁用它

在 OpenVZ 容器内启用 IP 转发,但在主机上禁用它

是否有可能使能够OpenVZ 容器内的 IP 转发但保留它已禁用在主机系统中?

我知道 OpenVZ 容器和主机共享内核,但我可以从容器内部和主机分别将其sysctl设置为 1 或 0,它们也会保留这些值。但我还观察到,即使主机中的值读取为 0,容器中的值读取为 1,主机系统也会将 IP 数据包转发到不同的网络接口。ip_forwardip_forward

共享内核是否也意味着共享内核参数?

答案1

对于第一个问题,答案是肯定的。对于第二个问题,答案是否定的。
自从引入命名空间以来,一些参数有所不同。这就是为什么我们可以在主机和容器中同时使用 eth0 而不会发生名称冲突,因为网络命名空间正在工作。 sudo unshare -n -- ifconfig -a仅显示 lo。容器中的“ip_forward”是完全可能的,因为容器中的 ip 堆栈已与主机取消共享。

相关内容