Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão DHCPD + FIREWALL

    Olá pessoal,

    Estou com alguns problemas relativos a estruturação usando DHCPD.

    A minha intensão é o seguite:
    Colocar o dhcp pra distribuir ips em classes diferentes, isso eu ja consegui com a seguinte configuração:

    default-lease-time 86400;
    max-lease-time 864000;
    ddns-update-style none;
    option domain-name "redeinterna.com.br";
    option domain-name-servers 200.2xx.xxx.xx;
    option netbios-node-type 1;
    option netbios-scope "";
    log-facility local7;

    shared-network Rede interna {

    subnet 192.80.0.0 netmask 255.255.255.252 {
    option broadcast-address 192.80.0.3;
    option routers 192.80.0.1;
    host bernardo {
    hardware ethernet 00:08:54:25:AB:C7;
    fixed-address 192.80.0.2;
    }
    }

    subnet 192.80.1.0 netmask 255.255.255.252 {
    option broadcast-address 192.80.1.3;
    option routers 192.80.1.1;
    host marcos {
    hardware ethernet 00:02:2A:0B:807;
    fixed-address 192.80.1.2;
    }
    }
    }

    Pronto!!! Minha interface eth1 esta configurada para 192.80.0.1 netmask 255.255.255.252. Agora vem a duvida...: Quando cliente bernardo liga a maquina automaticamente recebe o ip 192.80.0.2 e funciona blz....Mas quando o proximo cliente recebe o ip 192.80.1.2 não funcionan porque a interface gateway dessa rede não existe. Minha pergunta é? Tenho de criar isso previamente? ou seja, deixar ja criada a interface gateway da faixa que vai atribuida?

    Obrigado a todos!! Estou muito preciso dessa solucao...aqui no condominio tao tirando minha pele pra ver logo isso..


    Valeu,

    Standart

  2. #2
    morenocm
    Visitante

    Padrão DHCPD + FIREWALL

    Amigo nao entendi o que você quer fazer!
    Para que um DHCP que distribui apenas 2 Ips ? Uma mascara 255.255.255.252 tem apenas 4 endereços! Um é a rede o ultimo o broadcast e ficam dois para uso! Então para que DHCP ? E como vc esta utilizando ips invalidos pode ter mais host tranquilamente! Agora vc tem uma ETH0,uma ETH1 ? Qual o endereço destas interfaces ?
    Você poderia me explicar melhor isto tudo ? Ja que estamos aqui para aprender queria entender o que vc esta fazendo!
    Confesso que perdi pacotes agora :-)

  3. #3

    Padrão DHCPD + FIREWALL

    Vamos lá amigo morenocm, vou tentar ser mais claro!!
    Estou em um condominio em que compartilhamos uma mesma conexão de internet através de um servidor linux que é o gateway de toda a rede.

    Este servidor é composto de 2 placas de rede sendo a eth0 200.2xx.xx.xx.
    E a placa eth1 esta inicialmente setado com ip 192.80.0.1 mask 255.255.255.252.
    Sobre a sua pergunta a respeito da mascara 252 é exatamente esta intenção que cada residencia tenha seu ip em classes diferentes entre si, para evitar acessos as maquinas uns dos outros, por isso o uso de apenas 2 ips, um para o gateway e outro para o cliente da rede em questão.
    Entao sendo assim utilizo o dhcp distribuindo os ips na interface eth1, sendo que o DHCP ja esta configurado para dar o mesmo ip sempre para o mesmo cliente, mas o problema esta ai...O cliente da rede 192.80.0.0 conecta-se e automaticamente recebe seu ip 192.80.0.2 e fica 100%, mas o proximos clientes (192.80.1.0,192.80.2.0,192.80.3.0.....), recebem os ips corretamente pelo DHCP, mas seus respectivos gateways não existe. Minha duvida é se eu precisaria criar os gateways previamente?Ou seja,
    eth1:0 192.80.1.1, eth1:1 192.80.2.1 e assim por diante. Ou teria uma forma de quando cliente receber o ips dinamico fosse setado uma rota virtual?

    Valeu!! Espero que tenha sido mais claro

    Citação Postado originalmente por morenocm
    Amigo nao entendi o que você quer fazer!
    Para que um DHCP que distribui apenas 2 Ips ? Uma mascara 255.255.255.252 tem apenas 4 endereços! Um é a rede o ultimo o broadcast e ficam dois para uso! Então para que DHCP ? E como vc esta utilizando ips invalidos pode ter mais host tranquilamente! Agora vc tem uma ETH0,uma ETH1 ? Qual o endereço destas interfaces ?
    Você poderia me explicar melhor isto tudo ? Ja que estamos aqui para aprender queria entender o que vc esta fazendo!
    Confesso que perdi pacotes agora :-)

  4. #4
    morenocm
    Visitante

    Padrão DHCPD + FIREWALL

    Amigo,apesar de haver formas mais adequadas(quero dizer menos trabalhosa) de atingir teu objetivo,vamos direto ao teu problema!
    Na verdade vc ja respondeu sua propia pergunta!! Vc tem como enviar um pacote para um gateway que nao existe ?
    Entao é so criar os alias para ser o gateway de cada rede que você precisar.

    Um abraço!

  5. #5

    Padrão DHCPD + FIREWALL

    Complementando o Morenocm...

    Se vc não quiser colocar uma placa de rede para cada cliente (haja pci), crie ip's virtuais.....

    eth1:1
    eth1:2
    eth1:3
    ...

    apesar de ser bem trabalhoso, acredito que funcionará.

    Mas procure outras soluções, aqui no fórum estes dias eu vi uma discussão sobre um software, ou um bloqueio (algo assim, não é minha praia) que não permite que os integrantes de uma rede se encherguem.

  6. #6

    Padrão DHCPD + FIREWALL

    Ok, amigo...
    Fiz isso e funcionou mesmo, mas agora eu tenho um outro problema qualquer maquina que colocar o cabo de rede e colocar um ip que tenha seu gateway criado previamente navega...Queria utilizar regras de iptables para amarrar o ip ao mac...Mas fiz isso e o mas quando fiz isso o cliente nem conseguiu pegar ip, porque o firewall bloqueia a conexao dele. Mas com certeza deve existir um meio de ordenar esse funcionamento...Se conseguir criar alguma ideia ajuda ai...

    Valeu Brother..

    Standart

    Citação Postado originalmente por morenocm
    Amigo,apesar de haver formas mais adequadas(quero dizer menos trabalhosa) de atingir teu objetivo,vamos direto ao teu problema!
    Na verdade vc ja respondeu sua propia pergunta!! Vc tem como enviar um pacote para um gateway que nao existe ?
    Entao é so criar os alias para ser o gateway de cada rede que você precisar.

    Um abraço!

  7. #7

    Padrão DHCPD + FIREWALL

    Citação Postado originalmente por standart
    Ok, amigo...
    Fiz isso e funcionou mesmo, mas agora eu tenho um outro problema qualquer maquina que colocar o cabo de rede e colocar um ip que tenha seu gateway criado previamente navega...Queria utilizar regras de iptables para amarrar o ip ao mac...Mas fiz isso e o mas quando fiz isso o cliente nem conseguiu pegar ip, porque o firewall bloqueia a conexao dele. Mas com certeza deve existir um meio de ordenar esse funcionamento...Se conseguir criar alguma ideia ajuda ai...
    Como foi que vc fez a amarração no iptables?

    Bem, mas você também pode fazer a amarração pelo próprio DHCP:

    Código :
    host nome_host {
       hardware ethernet 00:00:00:00:00:00;
       fixed-address 192.168.0.1;
       }

  8. #8

    Padrão DHCPD + FIREWALL

    Fiz algo que esta quase do geito que eu quero....começando pelo firewall

    #!/bin/bash
    ANY=0.0.0.0/0
    NET=200.xxx.xxx.xx/30
    WL_NET=192.80.0.0/30
    WL_NET1=192.80.1.0/30

    IFACE=eth0
    IFACEWL=eth1

    # Inicia as TABLES
    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    # Executa o script que cria a chain 'wireless' para controle de acesso
    /etc/rc.d/rc.firewall-radio

    # Desvia os pacotes vindos da rede Wireless para a chain 'wireless'
    # recem criada, para filtrar trafego nao desejado
    #iptables -A INPUT -i ${IFACEWL} -j wireless
    iptables -A FORWARD -i ${IFACEWL} -j wireless

    iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${IFACEWL} -j DNAT --to 192.80.0.1:3128


    iptables -t nat -A POSTROUTING -s ${WL_NET} -o ${IFACE} -j MASQUERADE
    iptables -t nat -A POSTROUTING -s ${WL_NET1} -o ${IFACE} -j MASQUERADE

    # Nega acesso ao PROXY de fora das REDES
    iptables -A INPUT --protocol tcp -i ${IFACEWL} -s ${WL_NET} --dport 3128 -j ACCEPT
    iptables -A INPUT --protocol tcp -i ${IFACEWL} -s ${WL_NET1} --dport 3128 -j ACCEPT
    iptables -A INPUT --protocol tcp -i ${IFACE} -s ${NET} --dport 3128 -j ACCEPT
    iptables -A INPUT --protocol tcp --dport 3128 -j DROP


    Abaixo o conteudo do arquivo rc.firewall-radio que faz o controle de mac.

    #!/bin/bash
    #
    ANY=0.0.0.0/0
    IFACE=eth1

    # Cria a chain 'wireless' ou se ja existir limpa o seu conteudo
    iptables -N wireless 2> /dev/null
    iptables -F wireless

    #####################################################################
    ############ Informe abaixo os MAC/IP's autorizados ################
    ## Se o pacote nao pertencer a pelo menos um MAC/IP abaixo, ignora ##
    #####################################################################

    # Cliente: bernardo
    iptables -A wireless -s 192.80.0.2 -m mac \
    --mac-source 00:08:54:25:F7:C7 -j RETURN

    # Cliente: eu
    iptables -A wireless -s 192.80.1.1 -m mac \
    --mac-source 00:02:2A0:807 -j RETURN

    iptables -A wireless -j DROP

    Bom, com uso destas regras o que consegui foi o seguinte:
    Se o cliente correto vier e receber seu ip pelo DHCP consequentemente
    seu ip+mac ja estara no arquivo que libera ai o cliente navega normal, mas quando eu coloco na mão um que ja tem o gateway previamente criado.....Eu naum consigo usar outros serviços mas navego através do proxy. Acho que so falta uma regra que corrija isto... Acho que dá pra entender o que estou querendo fazer né? Obs: Quando tiro a regra de proxy transparente ai para tudo..naum consigo mais navegar tb..


    Valeu!!

    Standart

  9. #9

    Padrão DHCPD + FIREWALL

    Citação Postado originalmente por standart
    # Cliente: bernardo
    iptables -A wireless -s 192.80.0.2 -m mac \
    --mac-source 00:08:54:25:F7:C7 -j RETURN

    # Cliente: eu
    iptables -A wireless -s 192.80.1.1 -m mac \
    --mac-source 00:02:2A0:807 -j RETURN

    iptables -A wireless -j DROP

    Bom, com uso destas regras o que consegui foi o seguinte:
    Se o cliente correto vier e receber seu ip pelo DHCP consequentemente
    seu ip+mac ja estara no arquivo que libera ai o cliente navega normal, mas quando eu coloco na mão um que ja tem o gateway previamente criado.....Eu naum consigo usar outros serviços mas navego através do proxy. Acho que so falta uma regra que corrija isto... Acho que dá pra entender o que estou querendo fazer né? Obs: Quando tiro a regra de proxy transparente ai para tudo..naum consigo mais navegar tb..


    Valeu!!

    Standart
    Eu acho que vc esqueceu uma negação (!)... Leia a sua regra:

    negue tudo que tenho o ip 192.80.1.1 e o 00:00:....

    Não faltou um sinal de negação ali no mac?

    negue tudo que tenha o ip 192.80.1.1 e o mac seja diferente do especificado.

    Não seria algo assim?

  10. #10

    Padrão DHCPD + FIREWALL

    Meu brother edmafer!

    Fiquei com um nó na cabeça agora, voce poderia colocar um exemplo?

    Valeu


    Citação Postado originalmente por edmafer
    Citação Postado originalmente por standart
    # Cliente: bernardo
    iptables -A wireless -s 192.80.0.2 -m mac \
    --mac-source 00:08:54:25:F7:C7 -j RETURN

    # Cliente: eu
    iptables -A wireless -s 192.80.1.1 -m mac \
    --mac-source 00:02:2A0:807 -j RETURN

    iptables -A wireless -j DROP

    Bom, com uso destas regras o que consegui foi o seguinte:
    Se o cliente correto vier e receber seu ip pelo DHCP consequentemente
    seu ip+mac ja estara no arquivo que libera ai o cliente navega normal, mas quando eu coloco na mão um que ja tem o gateway previamente criado.....Eu naum consigo usar outros serviços mas navego através do proxy. Acho que so falta uma regra que corrija isto... Acho que dá pra entender o que estou querendo fazer né? Obs: Quando tiro a regra de proxy transparente ai para tudo..naum consigo mais navegar tb..


    Valeu!!

    Standart
    Eu acho que vc esqueceu uma negação (!)... Leia a sua regra:

    negue tudo que tenho o ip 192.80.1.1 e o 00:00:....

    Não faltou um sinal de negação ali no mac?

    negue tudo que tenha o ip 192.80.1.1 e o mac seja diferente do especificado.

    Não seria algo assim?

  11. #11

    Padrão DHCPD + FIREWALL

    Hahaha! Claro!

    Código :
    iptables -A INPUT -s 192.80.1.1 -m mac --mac-source 00:02:2A:D0:80:D7 -j DROP

    O que está feito na linha acima é: Eu estou bloqueando tudo que tenha o ip 192.168.80.1.1 e o mac 00:02:2A0:807.

    Agora....

    Código :
    iptables -A INPUT -s 192.80.1.1 -m mac --mac-source ! 00:02:2A:D0:80:D7 -j DROP

    Eu estou bloqueando tudo que tenho o ip 192.168.80.1.1, mas possua o mac diferente 00:02:2A0:807

    O sinal de ! significa negação, ou seja, diferente de...

    Você bloqueou o cara!

    Bota o sinal de interrogação e veja se funciona.

  12. #12

    Padrão DHCPD + FIREWALL

    Funcionou não, brother!!

    Eu acho que o problema esta aqui:

    # Desvia os pacotes vindos da rede Wireless para a chain 'wireless'
    # recem criada, para filtrar trafego nao desejado
    #iptables -A INPUT -i ${IFACEWL} -j wireless
    iptables -A FORWARD -i ${IFACEWL} -j wireless

    Veja que eu so estou filtrando o FORWARD por isso que outros serviços externos como email não funciona, mas o cara continua navegando por que este regra direciona para uma porta local do server.
    iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${IFACEWL} -j DNAT --to 192.80.0.1:3128

    Mas se desabilitar a linha iptables -A INPUT -i ${IFACEWL} -j wireless ai sim para tudo, mas ai o cliente tb deixa de pegar o ip dinamico.

    valeu,

    Standart


    Citação Postado originalmente por edmafer
    Hahaha! Claro!

    Código :
    iptables -A INPUT -s 192.80.1.1 -m mac --mac-source 00:02:2A:D0:80:D7 -j DROP

    O que está feito na linha acima é: Eu estou bloqueando tudo que tenha o ip 192.168.80.1.1 e o mac 00:02:2A0:807.

    Agora....

    Código :
    iptables -A INPUT -s 192.80.1.1 -m mac --mac-source ! 00:02:2A:D0:80:D7 -j DROP

    Eu estou bloqueando tudo que tenho o ip 192.168.80.1.1, mas possua o mac diferente 00:02:2A0:807

    O sinal de ! significa negação, ou seja, diferente de...

    Você bloqueou o cara!

    Bota o sinal de interrogação e veja se funciona.

  13. #13

    Padrão DHCPD + FIREWALL

    Antes de tudo deixa eu corrigir, não é interrogação é exclamação.

    Cara, eu não gostei do teu firewall.

    Vamos fazer o seguinte:

    Um firewall simples de exemplo:

    #Regras padrões

    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP

    #Por padrão nego tudo para depois liberar

    #Variáveis
    iface=eth0
    ifacewl=eth1

    #Rede interna
    rede=192.80.1.0/24

    #Endereço net
    net=200.200.200.200

    #Receber endereço DHCP (não lembro se era tcp ou udp)
    iptables -A INPUT -i $rede -p tcp --dport 67 -j ACCEPT

    ############################################################
    # Controle por MAC
    ############################################################

    #Voce
    iptables -t nat -A PREROUTING -i iface -s seu_ip -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente1
    iptables -t nat -A PREROUTING -i iface -s ip_cliente1 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente2
    iptables -t nat -A PREROUTING -i iface -s ip_cliente2 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Se ele não for barrado aqui, é por que está com o ip correto e com o mac correto.

    #Redirecionar tudo que vai para 80 para o proxy
    iptables -t nat -A PREROUTING -i $iface -s $rede -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -A FORWARD -i $iface -s $rede -p tcp --dport 80 -j ACCEPT

    #Fazer masquerade dos e-mails
    iptables -t nat -A POSTROUTING -i $iface -s $rede -p tcp -m multiport --dport 25,110 -j MASQUERADE
    iptables -A FORWARD -i $iface -s $rede -p tcp -m multiport --dport 25,110 -j ACCEPT

    #Volta
    iptables -A FORWARD -i $ifacewl -d $rede -p tcp -m multiport --sport 25,110 -j ACCEPT

    ----------------------

    Lembre-se de no DHCP de utilizar a opção hardware ethernet para distribuir o ip certo para cada
    um.

    E não distribua ip para quem não está no seu cadastro de mac.

    Eu utilizei uma politica que uso aqui na empresa, fecho tudo e vou liberando somente o que interessa.

    No seu caso estude bem isto, pois, usuários de condomínios podem ter necessidades diferentes, e isto que dizer que são mais portas abertas, tanto na ida quanto na volta.

    Espero que consiga, mas qualquer coisa berra ai.

  14. #14

    Padrão DHCPD + FIREWALL

    Poxa, tentei implementar essa regra do geito que vo ce colocou aqui...
    Mas estas linhas insistem em gerar este erro "

    #Voce
    iptables -t nat -A PREROUTING -i iface -s seu_ip -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente1
    iptables -t nat -A PREROUTING -i iface -s ip_cliente1 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente2
    iptables -t nat -A PREROUTING -i iface -s ip_cliente2 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    Citação Postado originalmente por edmafer
    Antes de tudo deixa eu corrigir, não é interrogação é exclamação.

    Cara, eu não gostei do teu firewall.

    Vamos fazer o seguinte:

    Um firewall simples de exemplo:

    #Regras padrões

    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP

    #Por padrão nego tudo para depois liberar

    #Variáveis
    iface=eth0
    ifacewl=eth1

    #Rede interna
    rede=192.80.1.0/24

    #Endereço net
    net=200.200.200.200

    #Receber endereço DHCP (não lembro se era tcp ou udp)
    iptables -A INPUT -i $rede -p tcp --dport 67 -j ACCEPT

    ############################################################
    # Controle por MAC
    ############################################################

    #Voce
    iptables -t nat -A PREROUTING -i iface -s seu_ip -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente1
    iptables -t nat -A PREROUTING -i iface -s ip_cliente1 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente2
    iptables -t nat -A PREROUTING -i iface -s ip_cliente2 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Se ele não for barrado aqui, é por que está com o ip correto e com o mac correto.

    #Redirecionar tudo que vai para 80 para o proxy
    iptables -t nat -A PREROUTING -i $iface -s $rede -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -A FORWARD -i $iface -s $rede -p tcp --dport 80 -j ACCEPT

    #Fazer masquerade dos e-mails
    iptables -t nat -A POSTROUTING -i $iface -s $rede -p tcp -m multiport --dport 25,110 -j MASQUERADE
    iptables -A FORWARD -i $iface -s $rede -p tcp -m multiport --dport 25,110 -j ACCEPT

    #Volta
    iptables -A FORWARD -i $ifacewl -d $rede -p tcp -m multiport --sport 25,110 -j ACCEPT

    ----------------------

    Lembre-se de no DHCP de utilizar a opção hardware ethernet para distribuir o ip certo para cada
    um.

    E não distribua ip para quem não está no seu cadastro de mac.

    Eu utilizei uma politica que uso aqui na empresa, fecho tudo e vou liberando somente o que interessa.

    No seu caso estude bem isto, pois, usuários de condomínios podem ter necessidades diferentes, e isto que dizer que são mais portas abertas, tanto na ida quanto na volta.

    Espero que consiga, mas qualquer coisa berra ai.

  15. #15

  16. #16

    Padrão DHCPD + FIREWALL

    Os erros são estes:
    iptables: Invalid argument
    iptables: Invalid argument


    Citação Postado originalmente por edmafer
    Qual é o erro?

  17. #17

    Padrão DHCPD + FIREWALL

    Citação Postado originalmente por standart
    Os erros são estes:
    iptables: Invalid argument
    iptables: Invalid argument
    Não seria por acaso por que eu esqueci de colocar o $ na frente de iface? iface é uma variável, relacionado as sua interfaces de rede.

  18. #18

    Padrão DHCPD + FIREWALL

    N'ao é não porque ja coloquei e continua dando a mesma coisa..

    Citação Postado originalmente por edmafer
    Citação Postado originalmente por standart
    Os erros são estes:
    iptables: Invalid argument
    iptables: Invalid argument
    Não seria por acaso por que eu esqueci de colocar o $ na frente de iface? iface é uma variável, relacionado as sua interfaces de rede.

  19. #19

    Padrão DHCPD + FIREWALL

    Que estranho....

    Aparentemente está correto.

    Me passa exatamente como você pos.

  20. #20

    Padrão DHCPD + FIREWALL

    #Voce
    iptables -t nat -A PREROUTING -i $iface -s 192.80.0.2 -m mac --mac-source ! 00:08:54:25:F7:C7 -j REJECT

    #Cliente1
    iptables -t nat -A PREROUTING -i $iface -s 192.80.1.2 -m mac --mac-source ! 00:02:2A0:807 -j REJECT

    Citação Postado originalmente por edmafer
    Que estranho....

    Aparentemente está correto.

    Me passa exatamente como você pos.