+ Responder ao Tópico



  1. #1

    Padrão customizar regra

    Pessoal, preciso configurar um equipamento que roda o iptables.

    seguinte:

    preciso liberar acesso para um range de ips.

    192.168.0.1 --> é o proprio equipamento e já é liberado tudo.
    192.168.0.2;
    192.168.0.3;
    192.168.0.4;
    192.168.0.5;
    192.168.0.6;
    192.168.0.7;
    192.168.0.8;


    todo o resto deve ser bloqueado.

    fiz da seguinte maneira:

    #!/bin/sh
    #
    #
    iptables -P FORWARD DROP
    #
    iptables -A FORWARD -s 192.168.0.2 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.3 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.4 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.5 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.6 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.7 -d 0/0 -j ACCEPT
    iptables -A FORWARD -s 192.168.0.8 -d 0/0 -j ACCEPT
    #
    iptables -A FORWARD -d 192.168.0.2 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.3 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.4 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.5 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.6 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.7 -s 0/0 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.8 -s 0/0 -j ACCEPT

    gostaria de uma regra otimizada, pois em outro equipamento preciso liberar mais ips tipo do
    192.168.02 até 192.68.0.57

    Existe uma forma de otimizar isto ?

    Grato.
    Última edição por nandop1240; 23-06-2008 às 16:16.

  2. #2

    Padrão

    Uma possivel solução é a utilização de máscaras na regra para "indicar um grupo de IPs".

    Por exemplo:

    iptables -A FORWARD -d 192.168.0.0/28 -s 0/0 -j ACCEPT
    iptables -A FORWARD -j DROP

    permite somente os IPs de 192.168.0.1 a 192.168.0.15.

    Variando a máscara é possível obter diferentes "grupos de IPs", mas sempre dentro da faixa de (2^n) - 1

    Qualquer dúvida posta ai...
    Última edição por Magnun; 23-06-2008 às 17:52.

  3. #3

    Padrão

    Bom o iptables tem matches que fazem o que você quer

    Código :
     iptables -t filter -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.8 -j ACCEPT
     iptables -t filter -A FORWARD -m iprange --dst-range 192.168.0.1-192.168.0.8 -j ACCEPT
    Testado com iptables v1.3.6
    Ai você não precisa ficar brigando com a mascara, mas tb serve!!
    Falowww!

  4. #4

    Padrão

    Citação Postado originalmente por zenun Ver Post
    Bom o iptables tem matches que fazem o que você quer

    Código :
     iptables -t filter -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.8 -j ACCEPT
     iptables -t filter -A FORWARD -m iprange --dst-range 192.168.0.1-192.168.0.8 -j ACCEPT
    Testado com iptables v1.3.6
    Ai você não precisa ficar brigando com a mascara, mas tb serve!!
    Falowww!
    Zenun, me corrija se eu estiver errado,
    na primeira linha eu estou bloqueando tudo, certo?
    na segunda eu estou liberando qualquer trafego que venha dos ips 192.168.0.1 até 192.168.0.8

    na terceira linha eu estou liberando qualquer trafego que vá para os ips 192.168.0.1 até 192.168.0.8.

    Seria isso?


    iptables -P FORWARD DROP
    iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.8 -j ACCEPT
    iptables -A FORWARD -m iprange --dst-range 192.168.0.1-192.168.0.8 -j ACCEPT

    Ah, mais uma duvida, não preciso colocar -t filter né ? pois ele já assume como padrao?

    Valeu...

  5. #5

    Padrão

    Citação Postado originalmente por zenun Ver Post
    Bom o iptables tem matches que fazem o que você quer

    Código :
     iptables -t filter -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.8 -j ACCEPT
     iptables -t filter -A FORWARD -m iprange --dst-range 192.168.0.1-192.168.0.8 -j ACCEPT
    Testado com iptables v1.3.6
    Ai você não precisa ficar brigando com a mascara, mas tb serve!!
    Falowww!
    Po, dessa eu não sabia! Vou anotar essa! Obrigado...


    Citação Postado originalmente por nandop1240 Ver Post
    Zenun, me corrija se eu estiver errado,
    na primeira linha eu estou bloqueando tudo, certo?
    na segunda eu estou liberando qualquer trafego que venha dos ips 192.168.0.1 até 192.168.0.8

    na terceira linha eu estou liberando qualquer trafego que vá para os ips 192.168.0.1 até 192.168.0.8.

    Seria isso?


    iptables -P FORWARD DROP
    iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.8 -j ACCEPT
    iptables -A FORWARD -m iprange --dst-range 192.168.0.1-192.168.0.8 -j ACCEPT

    Ah, mais uma duvida, não preciso colocar -t filter né ? pois ele já assume como padrao?

    Valeu...
    Na verdade na primeira regra você está definindo a política padrão da tabela forward. A política padrão é executada se o tráfego não "bater" em nenhuma regra da tabela. E quanto as regras 2 e 3 você está correto!
    Quanto ao filter é isso mesmo que você falou, ela é considerada como padrão então não é necessário especifica-la...

    Até mais...

  6. #6

    Padrão

    Então como disse nosso amigo ali anteriormente você não precisa colocar essa regra de drop!
    É preferivel que você coloque na chain FORWARD a politica padrão como DROP

    Código :
    iptables -P FORWARD DROP

    E depois ir adicionando as regras como eu te mostrei ali aceitando o trafego!

    Faloww!!