Openconnect - Conexão de VPN Paloalto no Debian

Para conexão VPN à plataforma Paloalto é disponibilizado um cliente chamado globalprotect, disponível apenas para Windows. A fim de realizar a conexão no Linux, utilizei o openconnect com suporte ao protocolo GP. Existem outras soluções não testadas, como o network-manager-openconnect, este utilizando ambiente gráfico, e o strongsWan, esse também pode ser utilizado como servidor de conexão.

[ Hits: 17.815 ]

Por: Rodolfo Danilo Nunes em 07/05/2018


Instalação de dependências



O pacote do openconnect do repositório oficial foi originalmente escrito para suportar os servidores VPN AnyConnect da Cisco e, desde então, foi ampliado com suporte experimental para o Juniper Network Connect e servidores VPN Junos Pulse (--protocol = nc).

Para suporte à plataforma PAN GlobalProtect (--protocol = gp) é necessário compilar o source obtido em:https://github.com/lins05/openconnect

Há também a necessidade de instalar o java jre e jdk para compilar o source.

A fim de resolver melhor dependências, prefiro utilizar o aptitude, mas pode ser instalado via apt-get.

# aptitude install gnutls-bin gnutls-dev java-common default-jre gcj-jre gcj-6-jre libopenconnect-dev libopenconnect5 openconnect openconnect-dbg automake make gcc g++ binutils libtool libtool-bin openjdk-8-jre-dcevm openjdk-8-source openjdk-8-jdk libconvert-nls-date-format-perl liblocale-msgfmt-perl gettext default-jre openjdk-8-jre openjdk-8-dbg openjdk-8-demo oathtool liboath0 liboath-dev libsasl2-dev libsasl2-modules-gssapi-heimdal libpam-oath oath-dbg mlocate libxml2-utils uml-utilities bridge-utils net-tools git

Instalação do Openconnect

Adicionar suporte ao JAVA.

A variável $JAVA_HOME contém o caminho do diretório de instalação do java no sistema, para verificar executar:

# echo $JAVA_HOME

Caso não retorne valor algum, realizar os procedimentos abaixo:

Localizar diretório do java com o comando:

# readlink -f /usr/bin/java | sed "s:bin/java::"

O resultado será o caminho da instalação, então realizar o export da variável JAVA_HOME.

# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

O source do openconnect utiliza a biblioteca jni.h para suporte ao java, localizado no subdiretório /source no home do java. Então, o caminho tem que estar apontando para ele.

Caso ocorra algum erro na compilação, instalar o mlocate (aptitude install mlocate), executar o comando updatedb, e depois locate jni.h, o caminho onde esta biblioteca for encontrada deve ser o caminho $JAVA_HOME.

Caso não seja encontrada, deve ser reinstalado o jdk.

Compilando o fonte:

Sugiro realizar o clone dentro do diretório /usr/src:

# cd /usr/src
# git clone https://github.com/lins05/openconnect.git


Se baixar o fonte zip, copiar para o mesmo diretório e descompactá-lo:

# gunzip master.zip

Atribuir permissão de execução aos arquivos fonte:

# chmod -R +x openconnect/
# cd openconnect/


Já no diretório descompactado ou clonado do git, realizar os seguintes procedimentos:

# ./autogen.sh
# ./configure --with-java
# make check
# make install


Depois de compilado, existirão dois binários do openconnect, a versão instalada via apt-get (aptitude) em /usr/bin/openconnect e a versão compilada com suporte ao protocolo gp em /usr/local/sbin/openconnect.

Será necessário compilar as novas bibliotecas para a pasta lib do sistema:

# cp /usr/local/lib/libopenconnect.so.5.5.0 /usr/lib/x86_64-linux-gnu/

* dependendo do sistema o diretório lib de destino pode estar em outro lugar

E para matar a duvida da localização, execute o comando abaixo, depois de instalar o mlocate e executar o updatedb:

# locate libopenconnect.so.5

Então renomear a versão antiga da biblioteca nativa e copiar a nova:

# mv /usr/lib/x86_64-linux-gnu/libopenconnect.so.5 /usr/lib/x86_64-linux-gnu/libopenconnect.so.5.old
# cp /usr/local/lib/libopenconnect.so.5.5.0 /usr/lib/x86_64-linux-gnu/libopenconnect.so.5


    Próxima página

Páginas do artigo
   1. Instalação de dependências
   2. Realizando a conexão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota

Configurando Zabbix 3.4 no CentOS 7

Instalação OpenMeettings no Debian 7

Trabalhando com subredes

Implementando Servidor NTP no Debian

  
Comentários
[1] Comentário enviado por vinyanalista em 16/03/2020 - 13:43h

Parabéns pelo excelente artigo! Apenas observo que desde a versão 8.0 do OpenConnect, lançada em janeiro de 2019, foi incorporado oficialmente o suporte à VPN da Palo Alto Networks GlobalProtect (fonte: https://lists.infradead.org/pipermail/openconnect-devel/2019-January/005178.html ). Essa versão já está disponível nos repositórios oficiais do Debian 10.0 Buster e do Ubuntu 19.04 Disco Dingo (e versões mais recentes do Ubuntu). Assim, sendo, a parte 1 (Instalação de dependências) poderia ser substituída por um simples apt-get. Entendo que o texto é de maio de 2018, apenas estou contribuindo uma atualização. Abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts