Comentar e descomentar linhas de conf [RESOLVIDO]

1. Comentar e descomentar linhas de conf [RESOLVIDO]

Fabio
fabinho_sp83

(usa Debian)

Enviado em 15/08/2014 - 10:25h

Bom dia a todos.

Tenho um dúvida aqui e acredito que para muitos é fácil, mas pra mim está se tornando uma chatice pra resolver.

Na minha lan, tenho 30 pc's, um servidor squid, iptables, sarg, dhcp server, tudo rodando no debian 7.

Meu problema é o seguinte.

Como eu comento e retiro o comentário # de um arquivo de configuração em horas determinadas?

Por exemplo:

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.222.123
nameserver 208.67.220.123

Das 7h as 12h, comentar as 2 ultimas e das 12h as 13h remover os comentarios das 2 ultimas, comentar as 2 primeiras automaticamente, via script, pelo crontab, sei lá.

Não achei nada que funcionasse em modo auto.

Me ajudem!


  


2. Re: Comentar e descomentar linhas de conf [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2014 - 11:22h

fabioperucio escreveu:

Bom dia a todos.

Tenho um dúvida aqui e acredito que para muitos é fácil, mas pra mim está se tornando uma chatice pra resolver.

Na minha lan, tenho 30 pc's, um servidor squid, iptables, sarg, dhcp server, tudo rodando no debian 7.

Meu problema é o seguinte.

Como eu comento e retiro o comentário # de um arquivo de configuração em horas determinadas?

Por exemplo:

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.222.123
nameserver 208.67.220.123

Das 7h as 12h, comentar as 2 ultimas e das 12h as 13h remover os comentarios das 2 ultimas, comentar as 2 primeiras automaticamente, via script, pelo crontab, sei lá.

Não achei nada que funcionasse em modo auto.

Me ajudem!


# vi /etc/crontab


0 7 * * * root sed -i 's/nameserver 2/#nameserver 2/' /etc/resolv.conf
0 12 * * * root sed -i 's/#nameserver 2/nameserver 2/' /etc/resolv.conf
1 12 * * * root sed -i 's/nameserver 8/#nameserver 8/' /etc/resolv.conf
59 6 * * * root sed -i 's/#nameserver 8/nameserver 8/' /etc/resolv.conf





3. uncionou, mas por pouco tempo.

Fabio
fabinho_sp83

(usa Debian)

Enviado em 15/08/2014 - 14:03h

Muito obrigado pela dica, funcionou bem, porém quando o pc reiniciou o resolv.conf foi alterado para o dns do virtua.
Ai tive a "brilhante" ideia de dar chattr +i no resolv.conf, mas não deixa as modificações que coloquei no crontab serem gravadas.

Sinuca de bico.


4. Re: Comentar e descomentar linhas de conf [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/08/2014 - 14:47h

Eu acredito que melhor do que ficar alterando o arquivo in-place é ter arquivos distintos, e apontar links simbólicos -- ou mesmo hard links -- nas horas apropriadas para os respectivos arquivos.

Se você estiver trabalhando com mais de um provedor, talvez melhor do que alterar por faixa horária seja associar a alteração do link simbólico ao processo de levantar a interface de rede. Se for por PPPoE ou DHCP, pesquive sobre como configurar os scripts executados durante as várias fases do processo de estabelecimento e encerramento de conexões.


5. Re: Comentar e descomentar linhas de conf [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/08/2014 - 17:42h

Olha se fizer com link simbólico dá sim...

Eu testei assim...

crie o arquivo resolv.conf.dia, para ser o resolv.conf do resto do dia (fora o almoco)

nameserver 8.8.8.8
nameserver 8.8.4.4
options attempts:2 rotate timeout:3

crie o arquivo resolv.conf.almoco (para ser o resolv.conf da hora do almoco)

nameserver 208.67.222.123
nameserver 208.67.220.123
options attempts:2 rotate timeout:3


Aí você faz um script para colocar na hora do almoco (executa às 12) no cron

#!/bin/bash
if [ -h /etc/resolv.conf ]; then
unlink /etc/resolv.conf;
ln -s /etc/default/resolv.conf.almoco /etc/resolv.conf;
else
logger -f /var/log/muda_dns.log -p local3.notice "Mudança de nameserver falhou.";
fi

Esse script gera um log em caso de falha... mas isso pode ser retirado se não quiser.
O arquivo /var/log/muda_dns.log deve ser criado antes com touch
Para logar no arquivo /var/log/muda_dns.log precisa ajustar o /etc/rsyslog com:

local3.notice -/var/log/muda_dns.log


Depois faz a mesma coisa criando um arquivo para o resto do dia /etc/default/resolv.conf.dia
e faz um script igual a esse para rodar as 13 horas e tudo volta ao normal....

Para isso funcionar o pacote resolvconf não pode ser instalado no servidor.
O dhclient não deve pedir o nome do servidor de nomes...

Não testei aqui esse lance do dhcp pois uso ip fixo no servidor de teste...



Tenta aí..










6. Não rola

Fabio
fabinho_sp83

(usa Debian)

Enviado em 19/08/2014 - 08:04h

Fiz os procedimentos que indicaram, porém quando o sistema reinicia ele volta o dns do provedor.

A solução que encontrei foi mudar o meu /etc/dhcp/dhclient.conf nas linhas supersede domain-name e propend domain-name-servers.



Retirei os comentários e ficou assim:

supersede domain-name "opendns.com";
prepend domain-name-servers 208.67.222.123, 208.67.220.123;


Agradeço a ajuda de todos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts