jorgessn
(usa Ubuntu)
Enviado em 11/07/2012 - 21:33h
Rai3mb, sua dica foi muito boa, só me resta mais uma duvida, pois eu preciso atualizar o arquivo de zona reversa "/etc/bind/named.conf.local" na linha 8 tem o ip que preciso atualizar "204.186", esse ip é o meu ip da net classe B extermo, ele é representado apenas pela a parte de rede do ip e ao contrário, ex: meu ip externo é 189.38.252.242, na zona reversa ele é representado apenas pelos bits de rede e ao contrario, logo meu ip reverso é 242.252.38.189 e pegando apenas a parte de rede é "38.189" eu ja ouvi falar que o codigo rev de shell script inverte a strig, porém, não sei como adicionar o rev no codigo nem como fazer ele pegar apenas a parte do ip reverso externo que esta na linha 8 (38.189), se alguém poder ajudar fico muito grato.
view "externa" {
2 match-clients { !192.168.1.0/24; !127.0.0.1; any; };
3 recursion yes;
4 zone "dominio.com.br" {
5 type master;
6 file "db.dominio.externa";
7 };
8 zone "38.189.in-addr.arpa" {
9 type master;
10 file "rev.dominio.externa";
11 };
12 };
13
14 view "interna" {
15 match-clients { 192.168.1.0/24; 127.0.0.1; };
16 recursion yes;
17 zone "dominio.com.br" {
18 type master;
19 file "db.dominio.interna";
20 };
21 zone "1.168.192.in-addr.arpa" {
22 type master;
23 file "rev.dominio.interna";
O codigo é esse, Rai3mb ja deixou engatilhado:
1 #!/bin/bash
2 # arquivo de configuração a ser alterado
3 ARQUIVO_ALVO='/etc/bind/named.conf.local'
4 # estou buscando o ip antigo baseado na linha que inicia com 'www IN A...'
5 IP_ANTIGO=$( egrep -i ^www $ARQUIVO_ALVO | egrep -o '[0-9].*[0-9]' )
6
7 # o novo ip (seu ip externo/ usado pelo no-ip):
8 IP_NOVO=$(wget -q -O /tmp/ip ifconfig.me/ip; cat /tmp/ip)
9 # a troca do ip antigo pelo novo
10 sed -i "s/$IP_ANTIGO/$IP_NOVO/g" $ARQUIVO_ALVO