Estoy tratando de descubrir el significado de las iptables
reglas en elGuía oficial para configurar un enrutador Ubuntu. Por ejemplo, *nat
. No encuentro en ningún lugar de Internet que tenga *nat
para iptables
.
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
Respuesta1
Creo que es el selector del nombre de la tabla. Se *
utiliza en lugar de la -t
opción para la variante de línea de comando del comando, con selecciona la tabla. Por ejemplo, normalmente la tabla se seleccionaría especificando -t <tablename>
, por lo que en este caso -t nat
, para seleccionar lanatmesa:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
El ejemplo que ha proporcionado utiliza la redirección de entrada desde unaquí documentoto iptables-restore
- note el <<EOF ... EOF
y así en lugar de la opción de línea de comando ( -t
), se usan líneas individuales, así:
iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
EOF
Se podría argumentar que, como -A
todavía está en el documento aquí, ¿por qué -t
no está? No sé la respuesta a eso, espero que alguien más la sepa.
*nat
Del mismo modo, una vez que se ha editado la tabla, se selecciona COMMIT
la tabla, se trabaja sobre ella y luego se edita.*filter
COMMIT
iptables-restore <<-EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF
Si estás buscando un tutorial, puedes encontrar este.NAT: traducción de direcciones de redtutorial útil.