shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ajuda com criação de script - verificar IP


From: andrebarretosantos
Subject: Re: Ajuda com criação de script - verificar IP
Date: Thu, 19 Apr 2007 23:35:46 -0000
User-agent: eGroups-EW/0.82

Rafael,

Pelo que entendi, acho que isso não vai solucionar o teu problema. Se
tu tem um ponto com IP dinâmico e outro ponto que fecha uma VPN com
ele, que tem que saber o IP é o ponto remoto e não o ponto que tem o
IP dinâmico, entendeu ?
De qualquer forma, digamos que você precisa mudar o parâmetro "remote"
dentro do arquivo de configuração, aí tu poderia usar um script como o
abaixo:

---
#!/bin/sh

INTERFACE="eth0"
VPN_FILE="/diretorio/openvpn.cfg"
EMAIL="address@hidden"

##############################

IP_INT=`ifconfig eth0 | grep inet | awk -F " " '{print $3}'`
IP_FILE=`grep remote ${VPN_FILE} | awk -F " " '{print $2}'`

if [ "${IP_INT}" != "${IP_FILE}" ]; then
  NEW_FILE=`sed s/"${IP_FILE}"/"${IP_INT}"/ ${VPN_FILE}`
  echo -e "${NEW_FILE}" > ${VPN_FILE}
fi

mail -s IP ${EMAIL} <<< "IP atual: ${IP_INT}, IP anterior: ${IP_FILE}"
---

*** IMPORTANTE ***

* Antes mesmo de rodar o script, testa se o comando abaixo irá
retornar o IP da tua interface eth0, pois já vi mudar a posição do IP
em algumas versões do "ifconfig".
ifconfig eth0 | grep inet | awk -F " " '{print $3}'

* O comando "mail" está contido em um pacote chamado "mailx". Se
quiser usar outro comando para enviar o e-mail basta substituí-lo,
juntamente com a respectiva sintaxe.


Espero ter ajudado.


--- Em address@hidden, "Rafael Tomelin"
<rafael.tomelin@...> escreveu
>
> Irei usar OPEN VPN.
> 
> 
> è que não sei muito programação no shell.  Conheço apenas alguns
comandos
> Sei que terei que filtrar o ifconfig eth0 | grep ????   e depois
comparar
> com a linha 3 apartir da nº coluna.
> 
> mas isso ñ sei fazer por shell.   Gostaria de uma ajuda, como
filtrar, como
> abrir o arquivo da vpn e comprar e como alterar o ip.     Talvez
seria até
> melhor eu criar uma váriavel no arquivo da vpn, pois só mudo essa
variavel.
> 
> 
> ##############
> 
> 
> 
> Essa seria minha configuração no server:
> 
> remote 200.20.10.1
> dev tun
> ifconfig 172.16.1.1 172.16.1.2
> up /etc/openvpn/up.sh
> down /etc/openvpn/down.sh
> secret /etc/openvpn/key
> 
> # ativa compressão LZO - se desejável. Precisa instalar o pacote LZO
> comp-lzo
> 
> # Envia um ping a cada 15 segundos
> ping 15
> port 5002
> 
> # Usuários e grupo que devem rodar o processo openvpn
> user nobody
> group nobody
> 
> 
> 
> Em 19/04/07, andrebarretosantos <andrebarretosantos@...> escreveu:
> >
> >   Que VPN você vai usar ?
> > Manda a sintaxe do arquivo da VPN.
> >
> > --- Em address@hidden
<shell-script%40yahoogrupos.com.br>,
> > "Eric Anderson" <microbiu@>
> > escreveu
> >
> > >
> > > Qual sua dúvida específica?
> > >
> > > A lógica vc tem
> > >
> > > 1.. "pegar" o ip da sua interface eth0
> > > 2.. comparar com o "arquivo da VPN" ( que eu não sei qual é =P)
> > > 3.. if (mudou) atualiza else num faz nada
> > > 4.. te mandar um email com o número de cada ip (quais ip´s).
> > > O que vc não sabe fazer?
> > >
> > > sds
> > >
> > > Eric
> > >
> > >
> > > ----- Original Message -----
> > > From: Rafael Tomelin
> > > To: address@hidden
<shell-script%40yahoogrupos.com.br>
> > > Sent: Thursday, April 19, 2007 9:25 AM
> > > Subject: [shell-script] Ajuda com criação de script - verificar IP
> > >
> > >
> > > Olá Pessoal,
> > >
> > > Estou instalando uma VPN, porém meu IP é dinâmico. Então vou
fazer um
> > > script e colocar no cron para rodar a cada 30min.
> > >
> > > O que estou precisando na minha ajuda é o seguinte:
> > >
> > > Quero verificar o meu IP atual (ifconfig eth0) e comparar com o
> > arquivo da
> > > VPN para ver se o IP é o mesmo ou se ele mudo. Caso tenha mudado ele
> > > atualiza o arquivo da VPN.
> > > Indiferente, se ele mudar ou não i IP, quero que me mande um email
> > > informando qual o numero de cada IP.
> > >
> > > Como que posso fazer isso?
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]