Article ID: 115410, created on Feb 12, 2015, last review on Feb 12, 2015

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

Síntomas

Cuando se intenta añadir una regla iptables a un contenedor, la operación devuelve un error similar al siguiente:

# iptables -t mangle -A PREROUTING -s x.x.x.x -j TTL --ttl-set 64
iptables: No chain/target/match by that name.

Causa

Para poder ejecutar reglas de acción es necesario que en el contenedor existan módulos coincidentes y de destino. Es probable que el módulo requerido no se haya cargado al nodo.

Resolución

Compruebe que existen módulos coincidentes y de destino para el contenedor y cargue aquellos módulos ausentes.

Ejemplo:

Para el comando iptables -t mangle -A PREROUTING -s x.x.x.x -j TTL --ttl-set 64:

[root@mycontainer ~]# cat /proc/net/ip_tables_matches
udp
tcp
conntrack
owner
connlimit
recent
helper
state
length
ttl
tcpmss
icmp
multiport
multiport
limit
tos

[root@mycontainer ~]# cat /proc/net/ip_tables_targets
REDIRECT
MASQUERADE
DNAT
SNAT
TCPMSS
ERROR
LOG
TOS
REJECT

En el caso del comando anterior, necesitamos el módulo coincidente ttl (disponible) y el módulo de destino TTL (ausente).

Para resolver el problema es necesario cargar el módulo al nodo y reiniciar el contenedor:

[root@node ~]# modprobe ipt_TTL
[root@node ~]# vzctl restart CTID

Con el fin de resolver la incidencia de forma permanente, añada los módulos requeridos para que se carguen de forma automática. Si desea más información al respecto, consulte este artículo de nuestra base de conocimiento.

2897d76d56d2010f4e3a28f864d69223 a26b38f94253cdfbf1028d72cf3a498b 0dd5b9380c7d4884d77587f3eb0fa8ef e8e50b42231236b82df27684e7ec0beb d02f9caf3e11b191a38179103495106f

Email subscription for changes to this article
Save as PDF