Você tem três perguntas em uma. Dado que eu não tenho a configuração completa, estou dando comandos simples que podem funcionar, ou pode ter que ser adaptado à sua configuração
-
como impedir o acesso à LAN segura de uma LAN não confiável?
iptables -A FORWARD -s 10.0.2.0/24 -d 10.0.1.0/24 -j DROP
Auto-explicativo: os pacotes da fonte 10.0.2.0/24 nunca podem passar para 10.0.1.0/24.
-
como ainda permitir o acesso à LAN não confiável da LAN segura?
iptables -I FORWARD -s 10.0.2.0/24 -d 10.0.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -I FORWARD 2 -s 10.0.1.0/24 -d 10.0.2.0/24 -j ACCEPT
Observe o uso de -I
para colocar esses comandos antes do comando na resposta da primeira pergunta e o 2
para manter a ordem usual. O segundo comando não é necessário, está aqui para dar a intenção e depende da sua configuração, se você precisar ou não. O primeiro comando permite que os pacotes de resposta de não confiáveis retornem à confiança, consultando o recurso conntrack do netfilter . Isso funcionaria entre as duas LANs apenas para conexões iniciadas anteriormente de confiáveis para não confiáveis. Geralmente este primeiro comando é escrito globalmente uma vez (sem usar -s
e -d
restringindo-o a essas duas LANs).
- como impedir o acesso de hosts não confiáveis de outros hosts não confiáveis na mesma LAN?
Enquanto as duas primeiras perguntas podem ser tratadas com um roteador, trabalhando na camada 3: IP, a última questão não pode ser resolvida tão facilmente: os hosts não são roteados (ou seja, na camada 3) entre si na LAN, eles compartilhe um equipamento da camada 2, como um switch, e ferramentas que funcionem nesse nível devem ser usadas. iptables
trabalhando na camada 3 não pôde ser usado sozinho. A implementação de isolamento correspondente é chamada Private VLAN . Esse recurso geralmente é implementado diretamente em equipamentos de rede.
Se o mesmo fosse feito em um servidor Linux padrão, seria necessário um alto número de interfaces de rede para funcionar como um comutador (o gerenciamento do ambiente virtual torna isso mais fácil, já que as interfaces ficam livres para adicionar). O firewall na camada 2 para isso é feito usando ebtables
. Aqui estão alguns Q / A sobre este tema:
link
link
Se o servidor Linux tivesse um número limitado de portas, não agindo como o o switch, ele exigiria uma maneira de receber todo o tráfego da LAN não confiável e ter alguma tag em cada pacote para identificar sua origem, provavelmente exigindo um número anormalmente alto de VLANs e, de qualquer forma, configurações específicas em equipamentos de rede.