Como posso substituir o TTL de um endereço da Internet?

5

Atualmente, estou executando um servidor DNS de cache para melhorar a latência em uma rede.

A pergunta é: posso substituir o TTL que recebo de um servidor usando o BIND9 ou outro software no Linux?

curta "dig www.google.com" aqui:

; < < > > DiG 9.6.1-P2 < > > www.google.com

; SEÇÃO DE RESPOSTA: www.google.com. 604441 EM CNAME www.l.google.com. www.l.google.com. 300 IN A 74.125.45.147

Posso alterar esse '300' em 15 minutos?

Muito obrigado pelo seu tempo !!.

    
por OmniWired 17.02.2010 / 20:56

5 respostas

6

A coisa mais feia do DIRTIEST que pode ser feita é ...

1-Baixando a fonte 2-encontre o arquivo chamado cache.c 3-encontre a função is_expired

4- Altere desta forma

static int is_expired(time_t now, struct crec *crecp)
{
  if (crecp->flags & F_IMMORTAL)
    return 0;

  if (difftime(now, crecp->ttd) < 0)
    return 0;

  return 0; // IT WAS IN ONE
}

Quando a função perguntar expirou? nós sempre vimos não

Desta forma, nunca irá expirar e você conquistará o mundo.

OUTPUT:

; <<>> DiG 9.6.1-P2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28477
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     603937  IN  CNAME   www.l.google.com.
www.l.google.com.   4294966733 IN   A   209.85.195.99
www.l.google.com.   4294966733 IN   A   209.85.195.104
www.l.google.com.   4294966733 IN   A   209.85.195.147

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 17 18:34:47 2010
;; MSG SIZE  rcvd: 110
    
por 17.02.2010 / 22:32
7

CAN isso pode ser feito? Claro - há servidores DNS corrompidos (por exemplo, aqueles que a AOL executa) que fazem isso, e todo administrador que eu conheço o odeia.

DEVERIA isso ser feito? Quase certamente não.

De modo geral, o TTL foi configurado para um determinado valor por um motivo (no caso do Google, provavelmente tolerância a falhas: você não poderá acessar o google por 5 minutos se esse servidor explodir) e não com isso.

Você já está obtendo um aumento de desempenho mantendo o registro do google.com em seu cache pelos cinco minutos pretendidos para o seu período de vida, já que suas estações de trabalho individuais não estarão sendo executadas na internet para fins de resolução. super-otimizar e quebrar o comportamento esperado:)

    
por 17.02.2010 / 21:19
2

Se você estiver realmente interessado em história, em vez de precisão, a invasão mais rápida que você pode fazer é provavelmente tornar seu servidor de nomes um mestre autoritativo para o domínio e recriar o arquivo de zona com a freqüência necessária um roteiro. Definitivamente, apenas recomendado para dominar o mundo, não para a vida real.

Em geral, se você realmente deseja que um registro de TTL muito curto persista dentro de um aplicativo, parece que a única maneira sensata é armazená-lo em cache dentro do aplicativo.

    
por 10.08.2015 / 13:24
1

Min TTL

Sim , você pode fazer isso no ISC Bind com uma simples alteração no código-fonte. Eles não fornecerão um mecanismo para você fazer isso por razões ideológicas.

Sim , você também pode definir ou substituir min-ttl de solicitações de DNS recursivas em Unbound DNS sem ter que recompilar nada. Dito isso, você deve compilar a versão mais recente, já que a ramificação 1.4 no repositório EPEL tem alguns bugs que não serão corrigidos e para que você possa definir todos os flags de proteção da glibc.

cache-min-ttl: 60

Embora seja correto que as pessoas devam ter cautela ao aplicar isso em recursores usados por muitos aplicativos e / ou pessoas, há vários casos de uso em que pode ser apropriado. Isso pressupõe que a pessoa que sobrepõe min-ttl entenda quais aplicativos estão utilizando sua infraestrutura de DNS e qual o impacto que isso pode ter. Dizer que isso nunca deveria ser feito seria uma generalização incorreta.

Minha experiência pessoal

Eu usei a configuração cache-min-ttl: no Unbound DNS para atenuar alguns ataques de privacidade de sites de rastreamento. Eu também usei para corrigir DNS inválido definido por pessoas que estão definindo um TTL de 0 que tecnicamente viola alguns RFCs. Dado que eu controlo meus próprios recursores e eles são usados apenas por mim, o risco é muito baixo.

    
por 17.06.2017 / 01:00
-1

Veja uma pergunta semelhante aqui dnsmasq: como aumentar o TTL? e outro aqui Existe uma alternativa para "dnsmasq"?

    
por 17.02.2010 / 21:05