iptables compartilhando conexão de internet com acesso restrito

1

Estou tentando configurar um servidor Ubuntu para compartilhar o acesso à Internet a partir de eth0 para sistemas cliente em eth1 no entanto eu só quero permitir acesso in / out na porta 1688 e também resolver nomes de host, bloqueando todos os outros tráfego dentro e fora. Não tenho certeza de quais regras do IPTable são necessárias para conseguir isso, esperando por qualquer ajuda.

[fora] < --- tráfego na porta 1688 --- > {eth0} [servidor do Ubuntu 11.10] {eth1} < ----- > [Sistemas clientes]

    
por user67042 30.05.2012 / 01:02

2 respostas

1

Para fazer isso corretamente, você realmente vai querer aprender o iptables para poder solucionar qualquer problema que possa surgir. Caso contrário, o iptables pode se tornar uma 'caixa preta' para você porque você não entende como usá-lo e provar para si mesmo que o problema não é com o iptables. Não se deixe enganar, aprender o básico do iptables realmente não é tão difícil e, se você estiver interessado, existem muitos tutoriais e livros de culinária sobre as coisas maravilhosas que você pode fazer com o iptables sob seu controle (Google "upside" down internet "para um exemplo cômico).

O que você deseja fazer se resume a três etapas simples.

1) Anexar / inserir uma regra na cadeia FORWARD para aceitar a porta TCP 1688. Se você precisar também de acesso UDP, adicione uma regra semelhante, mas para UDP.

2) Anexar / Inserir regras para aceitar a porta TCP e UDP 53 para a cadeia FORWARD .

3) Defina a política padrão na cadeia FORWARD como DROP.

Depois de um curso intensivo básico no iptables, isso deve ser bastante fácil, não se preocupe com a potencial complexidade, porque você não precisará saber nada disso, isso é algo básico.

    
por Jeff Welling 30.05.2012 / 03:57
0

Você precisa configurar seu servidor como um roteador e firewall entre essas duas redes.

Portanto, configure as regras FORWARD do firewall no servidor para permitir que apenas 1688/tcp , 53/udp e 53/tcp passem pelo firewall do roteador. E configure a política padrão para FORWARD para DROP ou DENY . Tente usar uma ferramenta como ufw ou shorewall para configurar um firewall. É muito mais fácil do que usar iptables diretamente.

De qualquer forma, se você usar iptables diretamente, precisará alterar manualmente o arquivo /etc/sysctl.conf (ou adicionar um novo arquivo em /etc/sysctl.conf.d/ ) para que o computador inicie o roteamento de mensagens IP entre as duas redes. Procure net.ipv4.ip_forward=1 para resolver isso.

Boas instruções podem ser encontradas no wiki do Ubuntu.

    
por Anders 30.05.2012 / 01:16