Como acessar uma VPN que usa o Contivity no Linux?
Ahoy!!!
Estive, por alguns anos com um problema que me incomodava muito: A empresa que trabalho usa o Contivity da Nortel e ela não disponibiliza o Contivity para GNU/Linux gratuitamente como faz para o Windows.
Bom, por esses dias, finalmente encontrei a solução, que descrevo abaixo:
Passos:
1º passo: Instale as dependências do vpnc
apt-get install build-essentials subversion
apt-get build-dep vpnc
2º passo: Baixe as fontes do vpnc versão 414
svn co -r 414 http://svn.unix-ag.uni-kl.de/vpnc/branches/vpnc-nortel
3º passo: Entre no diretório criado
cd vpnc-nortel
4º passo: Edite o arquivo Makefile
vi Makefile # edite a variável PREFIX e mude para /usr ao invés de /usr/local
5º passo: Compile e instale
make
Se tudo deu certo
sudo make install
6º passo: Construa as variáveis de ambiente
sudo mv /etc/vpnc/default.conf /etc/vpnc/default.conf.install
Crie o arquivo seguinte dentro de /etc/vpnc
vi /etc/vpnc/contivity-ip-split.conf
#===== /etc/vpnc/contivity-ip-split.conf IPSec gateway XXX.XXX.XXX.XXX IPSec ID COMPANY_GROUP_ID IPSec secret COMPANY_GROUP_ID_PSK # This is specific to Nortel Contivity Server Config # please update accodingly Vendor nortel Nortel Client ID V06_01 IKE DH Group dh5 IKE Authmode gpassword ## To add your username and password, ## use the following lines: Xauth username MY_LOGIN Xauth password MY_PASSWD Script /etc/vpnc/contivity-ip-split-script # No Detach # This is for debugging purposes only... runs vpnc in foreground # Debug 99 # Again for debug purposes check vpnc --long-help for verbosity levels # # NEVER post debug99 log on the internet, it contains username and passwd
Modifique os dados conforme a instalação da sua empresa e mude as permissões do aquivo
sudo chmod 600 /etc/vpnc/contivity-ip-split.conf
Como descobrir os dados? Aí entra o Windows. Acesse o Contivity e pegue as informações após se conectar.
7º passo: Crie o script abaixo
vi /etc/vpnc/contivity-ip-split-script
#!/bin/sh
# ===== /etc/vpnc/contivity-ip-split-script
add_ip ()
{
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=$1
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=255.255.255.255
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=32
export CISCO_SPLIT_INC=$(($CISCO_SPLIT_INC + 1))
}
# Initialize empty split tunnel list
export CISCO_SPLIT_INC=0
# Delete DNS info provided by VPN server to use internet DNS
# Comment following line to use DNS beyond VPN tunnel
unset INTERNAL_IP4_DNS
# List of IPs beyond VPN tunnel
# These should be listed in /etc/hosts also...
add_ip 10.XXX.XXX.XXX #email server
add_ip 10.YYY.YYY.YYY # www server
add_ip 10.AAA.BBB.CCC # your workstation
add_ip 10.ZZZ.ZZZ.ZZZ # some other server
# Execute default script
. /etc/vpnc/vpnc-script
# End of script
Modifique conforme as suas necessidades e depois mude as permissões do script.
sudo chmod 700 /etc/vpnc/contivity-ip-split-script
8º passo: Pontos finais
Entre no diretório dos arquivos de configuração
cd /etc/vpnc/
mv default.conf default.bkp
ln -s contivity-ip-split.conf default.conf
Coloque as seguintes linhas no seu .bashrc
alias vpnc=’sudo vpnc’
alias vpnc-disconnect=’sudo vpnc-disconnect’
Antes de colocar o alias do vpnc, faça uma tentativa de acesso com sudo vpnc e veja se o vpnc não irá pedir parâmetros adicionais. No meu caso, ele pediu o –enable-1des, pois a minha empresa utiliza o protocolo de criptografia DES.
Nesse caso, o meu alias ficou da seguinte forma:
alias vpnc=’sudo vpnc –enable-1des’
Esse procedimento foi testado em três máquinas distintas: um desktop AMD64 com Debian, um notebook AMD64 com Debian e um netbook i386 com o Ubuntu. Em todos os casos, sucesso total.
O procedimento original encontra-se em
http://ubuntuforums.org/showthread.php?t=1202896
Ja ne!!!


Valeu cara!!! Funcionou aqui em casa!!! Abraçao!!
Blz!