Eu acredito que seja o seletor para o nome da tabela. O *
é usado no lugar da opção -t
para a variante da linha de comando do comando, com a seleção da tabela. Por exemplo, normalmente a tabela seria selecionada especificando -t <tablename>
, portanto, neste caso -t nat
, para selecionar a tabela nat :
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
O exemplo que você forneceu está usando o redirecionamento de entrada de um documento aqui para iptables-restore
- observe o <<EOF ... EOF
e, assim, em vez da opção de linha de comando ( -t
), linhas individuais são usadas, assim:
iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
EOF
Alguém poderia argumentar que, como -A
ainda está no documento aqui, por que -t
não está? Eu não sei a resposta para isso, espero que alguém o faça.
Da mesma forma, depois que a tabela *nat
tiver sido COMMIT
ed, a tabela *filter
será selecionada, trabalhada e, em seguida, COMMIT
ed.
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
Se você está procurando por um tutorial, você pode achar útil este NAT - Network Address Translation . / p>