¿Es necesario repetir los parámetros de las reglas en iptables?

¿Es necesario repetir los parámetros de las reglas en iptables?

Digamos que necesitamos algunas reglas ssh en iptables. Pero también queremos especificar otra cadena para todas las reglas. Podríamos usar algo como esto:

iptables -t filter -N ssh
iptables -t filter -N tcp
iptables -t filter -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j tcp
iptables -t filter -A tcp -p tcp --dport 22 -m conntrack --ctstate NEW -j ssh
iptables -t filter -A ssh -p tcp --dport 22 -m conntrack --ctstate NEW -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT
iptables -t filter -A ssh -p tcp --dport 22 -m conntrack --ctstate NEW -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT

¿Tenemos que especificar todas las opciones en cada regla o se puede omitir en cadenas inferiores? Por ejemplo, las reglas ssh finales podrían verse así:

iptables -t filter -A ssh -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT
iptables -t filter -A ssh -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT

Respuesta1

Si quieres evitar eso, entonces necesitas una nueva cadena:

iptables -N sshgroup1
# or reset with iptables -F sshgroup1 if it already exists
iptables -t filter -A ssh -s 10.10.10.10/32 -m mac \
  --mac-source 10:10:10:10:10:10 -j sshgroup1
iptables -t filter -A sshgroup1 ... -j ACCEPT
iptables -t filter -A sshgroup1 ... -j ACCEPT

Respuesta2

Si desea permitir conexiones ssh desde sólo dos hosts en su LAN, entonces debe mantener estas reglas en la parte superior para que iptables funcione más rápido.

iptables -I INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT

De lo contrario, existen muchas combinaciones según su red, políticas y tráfico.

La regla general es: intente evitar repetir las reglas y minimice el nivel de coincidencia para un rendimiento más rápido.

información relacionada