Article ID: 6816, created on Nov 27, 2012, last review on Aug 12, 2014

  • Applies to:
  • Virtuozzo 6.0
  • Virtuozzo containers for Linux

Symptome

Manchmal tritt beim Ausführen eines iptables-Befehls in einem Container einer der folgenden Fehler auf:

32-bit Container:

# /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables: Unknown error 4294967295

64-bit Container:

# /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables: Unknown error 18446744073709551615

Ursache

Die wahrscheinlichste Ursache besteht darin, dass nicht alle erforderlichen iptables-Module für den Container aktiviert sind.

Außerdem kann der Fehler auftreten, wenn Sie versuchen, ein iptables-Modul zu verwenden, das nicht für Container virtualisiert ist (z. B., MASQUERADE):
// inside a Container:
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j MASQUERADE
iptables: Unknown error 4294967295

Lösung

Versuchen Sie, die iptables-Konfiguration wie in diesem KB-Artikel beschrieben anzupassen. 

Im Falle des zweiten Szenarios sollten Sie daran denken, dass die Option MASQUERADE nicht verwendet werden kann, weil das Masquerade-Modul nicht virtualisiert ist. Sie können stattdessen jedoch SNAT verwenden. Anhand der Datei /proc/net/ip_tables_targets können Sie die unterstützten und aktiven iptables-Module bestimmen, die in einem Container verwendet werden können, z. B.:
[root@HWN ~]# vzctl exec 101 cat /proc/net/ip_tables_targets
LOG
TCPMSS
REJECT
TOS
DNAT
SNAT
[root@HWN ~]#

d02f9caf3e11b191a38179103495106f e8e50b42231236b82df27684e7ec0beb 2897d76d56d2010f4e3a28f864d69223 0dd5b9380c7d4884d77587f3eb0fa8ef c62e8726973f80975db0531f1ed5c6a2

Email subscription for changes to this article
Save as PDF