Firewall Iptables

Monte o seu próprio roteador através de uma distribuição Linux, de maneira customizada usando apenas as regras de acesso que precisa.

O iptables é utilizado para configurar, manter e inspecionar as tabelas de regras de filtragem de pacotes IPv4 no kernel do Linux. Várias tabelas diferentes podem ser definidas. Cada tabela contém um número de chains(correntes, cadeias) internas e também pode conter chains definidas pelo usuário.

Cada chain é uma lista de regras que podem combinar com um conjunto de pacotes. Cada regra especifica o que fazer com um pacote que combina com a regra. Isto é chamado de target, que pode ser um salto na mesma tabela para uma chain definida pelo utilizador.

ALVOS (TARGETS)

Uma regra de firewall especifica os critérios para um pacote e um alvo. Se o pacote não corresponder, a regra seguinte na chain é examinada e, se o pacote for igual, então a próxima regra é especificada pelo valor do alvo, o que pode ser o nome de uma chain definida pelo utilizador ou por um dos valores especiais ACCEPT, DROP, QUEUE ou RETURN:

ACCEPT: significa deixar o pacote passar.
DROP: significa descartar o pacote.
QUEUE: significa passar o pacote para o userspace – espaço do usuário – (o modo como o pacote será recebido por um processo de userspace difere de acordo como determinada fila é manipulada. Os kernels 2.4.x e 2.6.x até 2.6.13, incluem o manipulador de fila “ip_queue”. Kernels 2.6.14 e posteriores, incluem o manipulador de fila “nfnetlink_queue”. Pacotes com um alvo de fila serão enviados para a fila número ‘0’. Consulte também o alvo NFQUEUE descrito posteriormente nesta página do manual).
RETURN: significa parar de atravessar a chain e continuar na próxima regra da chain anterior. Se o final de uma chain “built-in” (embutida) for alcançado ou uma regra de uma chain “built-in” com alvo RETURN for correspondida, o alvo especificado pela política da chain determina o destino do pacote.

TABELAS (TABLES)

Geralmente, há três tabelas independentes (as tabelas que estão presentes em qualquer momento dependem das configurações do kernel e dos módulos que estão presentes).

-t, –table table: Esta opção especifica a tabela correspondente ao pacote que o comando deve executar. Se o kernel estiver configurado com módulo de carga automático, uma tentativa será feita para carregar o módulo apropriado para essa tabela, se ele já não estiver carregado.

As tabelas são, como se segue: 

filter :: Esta é a tabela padrão (se a opção “-t” não definir outra tabela, será utilizada esta tabela). Ela contém a chain “built-in INPUT” (entrada – para pacotes destinados a sockets locais, pacotes destinados para a própria máquina), FORWARD (para pacotes sendo roteados através da máquina, pacotes que passam pela máquina) e OUTPUT (para pacotes gerados localmente, pacotes oriundos da própria máquina com destino para fora dela). 

Deixe sua duvida ou comentário.