Isola uma rede de hosts com iptables

0

Eu quero isolar um host na minha intranet usando iptables no meu roteador linux. Então digamos, por exemplo, eu tenho um host que tem o IP de 10.0.1.50 e eu quero que ele seja capaz de falar com o resto da Internet, mas eu não quero que o roteador permita que ele fale com qualquer outro host em código%. No entanto, desejo permitir que os hosts em 10.0.1.0/24 se conectem a 10.0.1.0/24 na porta 10.0.1.50 apenas enquanto a conexão não for criada no host. Estou fazendo isso no caso de 80 ser comprometido, por isso não posso falar com o resto da minha rede.

    
por sparticvs 19.09.2013 / 20:02

2 respostas

2

Você provavelmente está fazendo errado. Seu roteador não pode impedir que 10.0.1.50 converse com o restante da sub-rede 10.0.1.0/24 , porque eles estão na mesma sub-rede. Um pacote de 10.0.1.50 para outro host nesta sub-rede não passará pelo roteador, portanto você não poderá filtrá-lo.

O que você precisa fazer é configurar uma sub-rede separada, digamos, por exemplo, 192.168.0.0/24 e colocar 10.0.1.50 nessa sub-rede, por exemplo, com o novo IP 192.168.0.50 . Em seguida, conecte essa sub-rede a uma interface separada do seu roteador e configure essa interface para um IP como 192.168.0.1 . Em seguida, você pode configurar suas regras de roteamento conforme desejado:

  • Permitir conexões estabelecidas e relacionadas
  • Permitir que 10.0.1.0/24 se conecte à Internet
  • Permitir que 192.168.0.0/24 se conecte à Internet
  • Permitir conexões de 10.0.1.0/24 a 192.168.0.50:80
  • Negar todo o resto
por 19.09.2013 / 21:21
0

Para fazer isso você deve banir a camada 3 e não a camada 4, ou se você fizer na camada 4, você deve definir uma nova sub-rede.

    
por 19.09.2013 / 20:53