我们已经使用桥接 veth 设备在 openvz 上设置了 IPv6 网络。往返于 VE 的 IPv6 流量运行正常。
ip6tables 在 HN 上运行,iptables 在 VE 上运行。在 VE 中,我们可以设置 ip6tables 规则,而不会出现任何错误消息。然而,它们会被完全忽略。
ip6tables 要工作,需要哪些额外的配置选项?
答案1
看来你正在使用 proxmox 下的容器,对吧?然后,你应该从 proxmox 中的图形界面检查网络地址是否正常并且 PVE 知道。
在某些情况下,pve 会阻止使用某些 iptables 模块,例如:
FATAL:无法加载 /lib/modules/4.15.18-1-pve/modules.dep:没有这样的文件或目录
笔记:在 proxmox 5 上,开放VZ集装箱将转换为龙芯,这可能会带来一些偏见
答案2
确保您明确地将规则应用于 venet0 接口。
答案3
OpenVZ 容器从主机节点继承内核和模块。因此,您无法在 OpenVZ/LXC 容器中加载新的内核模块。我会确保主机节点将内核模块ip6_tables
编译到内核中或作为模块加载。
这是一个问题,因为 OpenVZ 是半虚拟化的,这意味着它与主机节点共享同一个内核。由于您与其他 OpenVZ 容器共享同一个内核,因此您无法将模块加载到内核中。使用硬件虚拟机,您可以运行自己的内核,然后可以加载/卸载内核模块,或编译自己的内核以供使用。下面链接的问题更详细地介绍了差异。
遗憾的是,当您只能访问 Guest OpenVZ 环境时,确定 IPv6 IPtables 模块是否已加载可能会有点困难lsmod
,因为/proc/modules
、和/proc/config.gz
经常不存在于 OpenVZ 内部。
因此,您可能只需要联系您的提供商,因为主机节点上具有 root 访问权限的人必须为您加载此内核模块。