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.955 ]

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

Configurando Placa Wireless Broadcom BCM43142 no SlackWare 14.2

Nagios enviando alertas via WhatsAPP

Criando regras simples com IP6Tables

Balanceamento de links - Load balance + Failover + Failback

MikroTik RouterOS 5.20 para provedores - Tutorial completo

  
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