Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Adicionando suporte ao Amazon Route 53 no serviço de DNS Dinâmico do pfSense

    Scheduled Pinned Locked Moved Portuguese
    23 Posts 6 Posters 10.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JackLJ
      JackL
      last edited by

      @ebrandi:

      Olá pessoal,
      Eu tinha colocado este post na sessão de "DHCP e DNS" aqui do fórum, mas por sugestão do marcelloc estou replicando ele aqui :)

      Parabéns pela iniciativa Edson…

      Minha única sugestão adicional é que, na medida do possível, você faça uma chamada para o post original no blog da comunidade brasileira do pfSense: http://www.pfsense-br.org (basta se registrar e criar um novo post, no formato de chamada mesmo). Certamente seu artigo será encontrado ainda mais facilmente por quem precisa! ;)

      Abraços!
      Jack

      Treinamentos de Elite: http://sys-squad.com
      Soluções: https://conexti.com.br

      1 Reply Last reply Reply Quote 0
      • E
        ebrandi
        last edited by

        Valeu Jack :)
        Já fiz o post la no blog.

        []´s Edson

        1 Reply Last reply Reply Quote 0
        • JackLJ
          JackL
          last edited by

          @ebrandi:

          Já fiz o post la no blog.

          Show of ball Edson… ;)

          Treinamentos de Elite: http://sys-squad.com
          Soluções: https://conexti.com.br

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            O patch chamou a atenção do Jimp, parabéns Edson  :D

            http://forum.pfsense.org/index.php/topic,47711.msg251230.html#msg251230

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • M
              mantunespb
              last edited by

              Edson Brandi,

              Parabens..

              Agora funciona para quem tem load balance / FaiorOver..  o nossa amigo gustavo implementou um patch.. só eu testei e não funcionou..
              em dois links IP fixo e um ADSL e não funcionou..

              1 Reply Last reply Reply Quote 0
              • E
                ebrandi
                last edited by

                @mantunespb:

                Edson Brandi,

                Parabens..

                Agora funciona para quem tem load balance / FaiorOver..  o nossa amigo gustavo implementou um patch.. só eu testei e não funcionou..
                em dois links IP fixo e um ADSL e não funcionou..

                O script sempre seta no DNS o IP que está ativo na interface que vc escolheu quando criou o registro, ou seja, se vc tem 2 links vc tem que ter 2 hostnames diferentes.

                Se você precisa de um registro no DNS que tenha a funcionalidade de migrar de interface, para viabilizar por exemplo que os usuários continuem acessando seu servidor de forma transparente quando vc estiver em uma situação de contingencia o script que eu disponibilizei não vai atender sua necessidade.

                Para viabilizar isso vc precisaria ter um registro do DNS que não esteja vinculado a uma interface do seu servidor, e que seja atualizado com base numa consulta a uma entidade externa a sua rede, como por exemplo http://checkip.dyndns.org

                Não é algo complicado de fazer usando o shell script que disponibilizei, basta fazer alguns ajustes simples nele.

                Se você abrir o script vc vai ver que ele tem logo no começo um:

                Input Data

                Domain=$1
                Hostname=$2
                NewTTL=$3
                ZoneID=$4
                AccesskeyID=$5
                SecretAPIKey=$6
                CurrentIP=$7
                link=$8

                Edite esse bloco de forma que fique:

                Input Data

                Domain=seu_dominio
                Hostname=hostname_desejado
                NewTTL=TTL_desejado
                ZoneID=Seu_zoneid_na_amazon
                AccesskeyID=Seu_access_key
                SecretAPIKey=Seu_secret_access_key
                CurrentIP=curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
                link=Nome_da_sua interface_principal # só é usado para criar o arquivo de log.

                Agora basta criar uma entrada no seu cron para rodar diretamente o route53update.sh por exemplo a cada 5 minutos.

                Se o IP retornado pelo checkip.dyndns.org for diferente do IP retornado pelo dig quando ele consulta o seu hostname.domain no servidor de DNS da Amazon, o script irá enviar uma requisição para a API do Route 53 atualizando o IP do hostname.

                Desta forma quando o seu link principal falhar e o pfSense chavear para o seu trafego para o link de backup, o IP retornado pelo checkip.dyndns.org vai mudar e o seu DNS vai ser alterado para refletir esse ajuste :) , ou seja, vc mantem o mesmo hostname independente da interface pela qual estiver trafegando no momento.

                Solução dirt and cheap, mas que funciona ;)

                Espero ter ajudado.

                []´s Edson

                1 Reply Last reply Reply Quote 0
                • E
                  ebrandi
                  last edited by

                  Amigos,

                  Disponibilizei uma nova versão do patch para adicionar o suporte ao Route 53 no serviço de Dynamic DNS do pfSense.

                  http://cdn.ebrandi.eti.br/downloads/pfsense_route53update-1.0e.tar.gz
                  MD5: 23f10b020db4f87e5677b6bf41279419

                  Esta nova versão não faz uso de softwares externos, e e realiza todas as etapas do processo de atualização do DNS usando apenas recursos internos do próprio PHP.

                  Achei melhor fazer essa alteração para simplificar o processo, e para tornar mais fácil de incorporar a solução na arvore oficial do pfSense.

                  Edson

                  1 Reply Last reply Reply Quote 0
                  • JackLJ
                    JackL
                    last edited by

                    ebrandi,

                    Parabéns novamente pelo trabalho! ;)

                    Realmente o patch (numa análise superficial) ficou realmente melhor (mais limpo)!!!

                    Abraços!
                    Jack

                    Treinamentos de Elite: http://sys-squad.com
                    Soluções: https://conexti.com.br

                    1 Reply Last reply Reply Quote 0
                    • E
                      ebrandi
                      last edited by

                      Obrigado Jack

                      Acabei de criar um pull request, vamos ver se aceitam :)

                      https://github.com/bsdperimeter/pfsense/pull/70

                      Edson

                      1 Reply Last reply Reply Quote 0
                      • E
                        ebrandi
                        last edited by

                        Disponibilizei uma nova versão em:

                        http://cdn.ebrandi.eti.br/downloads/pfsense_route53update-1.0f.tar.gz
                        MD5: **78e4161e4c0e6dae7843e54b036b4a39 **

                        Fiz um pequeno ajuste de forma que agora quando o usuário deleta um hostname deste serviço de DNS Dinamico no pfsense, o registro de DNS também é removido do Amazon Route 53, e também remove o arquivo que o sistema usa no /conf para fazer a comparação do IP atual com o registrado no DNS.

                        Desta forma não fica nada para trás quando você deleta um registro no pfsense.

                        Com este ajuste de hoje considero que por hora está encerrada a minha brincadeira com o PHP e não tenho previsão de liberar mais nenhuma versão do patch, afinal no estagio atual o sistema mais do que atende as minhas necessidades pessoais  ::)

                        Ontem o ermal fez fez um comentário no meu pull request, e pelo teor não sei se vão aceitar a contribuição… de qualquer forma fica aqui intenção.

                        Edson

                        1 Reply Last reply Reply Quote 0
                        • JackLJ
                          JackL
                          last edited by

                          @ebrandi:

                          Ontem o ermal fez fez um comentário no meu pull request, e pelo teor não sei se vão aceitar a contribuição… de qualquer forma fica aqui intenção.

                          Não te preocupe Edson…

                          Você percorreu exatamente a estrada que norteia o modelo de desenvolvimento open-source. Você resolveu um problema específico seu, compartilhou a resolução com a comunidade e encaminhou um pull request para os mantenedores. Obviamente que nem todas as contribuições são aceitas de primeira (isso faz parte da peneira natural - onde sempre sé olhada a contribuição em si e sua aplicabilidade junto os objetivos macros da ferramenta), mas isso não desmerece sua contribuição… Muito pelo contrário! ;)

                          Abraços!
                          Jack

                          Treinamentos de Elite: http://sys-squad.com
                          Soluções: https://conexti.com.br

                          1 Reply Last reply Reply Quote 0
                          • G
                            gst.freitas
                            last edited by

                            Faço as minhas palavras do JackL, se for esperar pelos mantenedores, hoje não teríamos o dansguardian, sarg..  etc. etc

                            ebrandi,

                            se uma dúvida.. vc gasta quanto para ter esse recurso no amazon.. o modelo deles de cobrança deles é por dominio e conexão.. ai..
                            complica.. q pq você escolheu amazon e não por exemplo o dyndns.

                            1 Reply Last reply Reply Quote 0
                            • E
                              ebrandi
                              last edited by

                              Ola Freitas,

                              Eu era cliente da dyndns e hoje uso amazon pelo fator custo.

                              Para poder usar um dominio proprio com o dyndns você precisa assinar o serviço pago de DNS Standard deles, que custa US$ 29,95 por ano, e lhe da direito a 1 dominio com até 75 registros e 600.000 DNS queries por mês, se você precisar de outros dominios e quiser usar a mesma conta para administrá-los vc terá que contratar o plano DynECT Lite 10, que custa US$ 30,00 por mês e que suporta até 10 dominios, servindo no total as mesmas 600.000 queries.

                              O modelo da Amazon é mais simples, e como vc paga pelo uso sai muito mais barato.

                              Se formos comparar por exemplo com o Dynect Lite 10, o custo na amazon seria de US$ 5,50 por mês (US$ 0,50 por dominio hospedado + US$ 0,50 para 1.000.000 de queries).

                              Para hospedar um unico dominio, o custo comparativo com a dyndns é de US$ 1,00 por mês para entregar quase o dobro de queries.

                              Espero ter esclarecido sua duvida

                              []s Edson

                              1 Reply Last reply Reply Quote 0
                              • E
                                ebrandi
                                last edited by

                                Bom, como sou brasileiro e os brasileiros são teimosos não desistem nunca ::) , eu refiz a implementação do suporte ao Route 53 no pfsense tentando seguir as orientações do jimp, ermal e cmb.

                                Espero que desta vez esteja de acordo com o que eles acham que é o correto :p

                                Não criei um patch desta vez, criei apenas o pull request https://github.com/bsdperimeter/pfsense/pull/71

                                La no meu fork do projeto tem 2 branchs, uma com a implementação anterior (que na minha opinião ficou mais clean) e uma outra com a implementação usando a infraestrutura do serviço de dyndns.

                                []'s Edson

                                1 Reply Last reply Reply Quote 0
                                • J
                                  johnnybe
                                  last edited by

                                  @ebrandi:

                                  Bom, como sou brasileiro e os brasileiros são teimosos não desistem nunca ::) , eu refiz a implementação do suporte ao Route 53 no pfsense tentando seguir as orientações do jimp, ermal e cmb.

                                  Espero que desta vez esteja de acordo com o que eles acham que é o correto :p

                                  Não criei um patch desta vez, criei apenas o pull request https://github.com/bsdperimeter/pfsense/pull/71

                                  La no meu fork do projeto tem 2 branchs, uma com a implementação anterior (que na minha opinião ficou mais clean) e uma outra com a implementação usando a infraestrutura do serviço de dyndns.

                                  []'s Edson

                                  Yah! Manda bala, Edson.  ;D
                                  Mais um Brazuca fazendo diferença! Kudos!

                                  you would not believe the view up here

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    ebrandi
                                    last edited by

                                    Meu pull request foi aceito e a ultima versão do meu patch foi incorporada ontem ao código do projeto :)
                                    Agora fica bem mais fácil pra quem quer usar esse serviço.

                                    Edson

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      Excelente Edson! :)

                                      Você publicou na 2.0 ou na 2.1?

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        ebrandi
                                        last edited by

                                        Foi aplicado no branch Master, que se não me engano será empacotada como a versão 2.1.

                                        Edson

                                        1 Reply Last reply Reply Quote 0
                                        • JackLJ
                                          JackL
                                          last edited by

                                          @ebrandi:

                                          Foi aplicado no branch Master, que se não me engano será empacotada como a versão 2.1.

                                          Congratulations! ;)

                                          Treinamentos de Elite: http://sys-squad.com
                                          Soluções: https://conexti.com.br

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.