ip6tables-Regeln werden im OpenVZ-Container vollständig ignoriert

9

Wir haben IPv6-Netzwerke auf openvz mit Bridged-Veth-Geräten eingerichtet. Der IPv6-Verkehr zu und von den VEs funktioniert einwandfrei.

ip6tables funktioniert auf dem HN und iptables funktioniert auf dem VE. Innerhalb des VE können wir ip6tables-Regeln ohne Fehlermeldungen einrichten. Sie werden jedoch vollständig ignoriert.

Welche zusätzlichen Konfigurationsoptionen sind erforderlich, damit ip6tables funktioniert?

Carsten Thiel
quelle
7
Könnte es wert sein, eine zu machen ip6tables -I INPUT -j LOGund zu sehen, ob Pakete tatsächlich die Filter treffen. Wenn dies der Fall ist, versuchen Sie, ähnliche Zeilen in den Filtern einzufügen (insbesondere nach erwarteten Tropfen) und sehen Sie, was in Syslog protokolliert wird.
Andy Smith
1
Stellen Sie sicher, dass sich die von Ihnen benötigten iptables-Funktionen in der Datei vz.conf befinden.
awmusic12635
1
Wird der Dienst gestartet? Muss es neu gestartet werden, damit die Änderungen wirksam werden?
Xalorous
Haben Sie überprüft, ob auf dem von Ihnen verwendeten iface Datenverkehr in den alten IPv4-iptables angezeigt wird? Obskure Abstraktionsschichten können mehrere "falsche" Netzwerkkarten im System hinterlassen, die scheinbar nichts bewirken. Vorbei sind die Zeiten, in denen Sie einfach eth0 für das Internet und eth1 für Ihr internes LAN hatten.
Zdenek

Antworten:

0

Scheint, als würden Sie die Container unter proxmox verwenden, oder? Sie sollten dann über die grafische Oberfläche in proxmox überprüfen, ob die Netzwerkadressen in Ordnung sind und PVE bekannt sind.
In einigen Fällen verhindert pve die Verwendung einiger iptables-Module, z. B.:
FATAL: /lib/modules/4.15.18-1- konnte nicht geladen werden pve / modules.dep: Keine solche Datei oder kein solches Verzeichnis

Hinweis: Unter Proxmox 5 werden OpenVZ- Container in LXC konvertiert . Dies kann zu Verzerrungen führen

Fibo
quelle
-1

Stellen Sie sicher, dass Sie die Regeln explizit auf die venet0-Schnittstelle anwenden.

Scott Mcintyre
quelle
Nee. OP sagte ausdrücklich, dass er veth verwendet. Kein venet0 hier
Bruno9779
-2

OpenVZ-Container erben den Kernel und die Module vom Hostknoten. Aus diesem Grund können Sie keine neuen Kernelmodule in einen OpenVZ / LXC-Container laden. Ich würde sicherstellen, dass der Hostknoten das ip6_tablesKernelmodul entweder in den Kernel kompiliert oder als Modul geladen hat.

Dies ist ein Problem, da OpenVZ eine Paravirtualisierung ist, was bedeutet, dass es denselben Kernel mit dem Hostknoten teilt. Da Sie denselben Kernel wie die anderen OpenVZ-Container verwenden, können Sie keine Module in den Kernel laden. Mit virtuellen Hardware-Maschinen können Sie Ihren eigenen Kernel ausführen und dann Kernelmodule laden / entladen oder Ihren eigenen Kernel zur Verwendung kompilieren. Die unten verlinkte Frage behandelt die Unterschiede detaillierter.

Was ist der Unterschied zwischen vollständiger, para- und hardwareunterstützter Virtualisierung?

Wenn Sie nur Zugriff auf die Guest OpenVZ-Umgebung haben, kann es leider etwas schwierig sein lsmod, festzustellen, ob das IPv6-IPtables-Modul geladen ist /proc/modules, und ist in OpenVZ /proc/config.gz häufig nicht vorhanden.

Aus diesem Grund müssen Sie möglicherweise nur Ihren Provider kontaktieren, da jemand mit Root-Zugriff auf dem Hostknoten dieses Kernelmodul für Sie laden muss.

Bürger Kepler
quelle
Dies ist alles wahr, aber völlig irrelevant: Er ist der Anbieter und die entsprechenden Module sind bereits geladen.
Michael Hampton