logo ← Manuais de Utilização / Instalação GSClient no Linux

Instalação GSClient no Linux

Documento com a lista de códigos de erros

#Requisitos Básicos

#Liberações no Firewall

Segue abaixo o nosso range de IPs e portas para liberação no firewall da máquina ou da rede, ou validação da rota por parte do provedor de internet.

IP:

  • 18.231.194.64/26

Portas:

  • 443/UDP

  • 443/TCP

  • 55844/TCP

  • 55845/TCP

E DNS local 53/UDP (consultas em gsurfnet.com).

#Distribuições Homologadas

S.O

Arquitetura

Versão

Fingerprint

glibc

Ubuntu

x86

14.04.5 até 21.10

/var/lib/dbus/machine-id

2.11.1

Ubuntu

x64

14.04.5 até 21.10

/var/lib/dbus/machine-id

2.14

CentOS

x86

7

/etc/machine-id

2.11.1

CentOS

x64

7

/etc/machine-id

2.14

Existem diferentes versões do GSClient dependendo da distribuição e arquitetura do sistema, segue abaixo o link para download das versões:

#Remoção de GSClient antigo

Somente realizar esse passo caso tenha algum GSClient instalado na máquina.

1 - Anotar a identificação do terminal da Central de Parceiros (CDP) que está instalado para reinstalar a OTP dele e utilizar na nova instalação:

cat /usr/gsurf/gsurfcli.txt

2 - Realizar a remoção completa dos arquivos antigos padrão GSurf:

killall serverSSL 2>/dev/null
killall gsclient 2>/dev/null
rm -r /usr/gsurf 2>/dev/null
rm -r /gsurf/ 2>/dev/null
rm -r /usr/sbin/gsurf/ 2>/dev/null
rm /usr/sbin/gsclient.AppImage 2>/dev/null    
find /lib* /usr/lib* -name "libGSurfRSA.so" -delete 2>/dev/null
rm /usr/lib/systemd/system/libssl.service 2>/dev/null
rm /usr/lib/systemd/system/gsclient.service 2>/dev/null
rm /etc/init.d/serverSSL 2>/dev/null
rm /etc/init.d/gsclient 2>/dev/null
sed -i '/serverSSL/d' /etc/rc.local 2>/dev/null
sed -i '/gsclient.AppImage/d' /etc/rc.local 2>/dev/null
sed -i '/serverSSL/d' /etc/rc.d/rc.local 2>/dev/null
sed -i '/gsclient.AppImage/d' /etc/rc.d/rc.local 2>/dev/null

Os comandos em ordem realizam as seguintes funções:

  1. Finaliza serviço do GSClient Classic

  2. Finaliza serviço do GSClient AppImage

  3. Remove certificado

  4. Remove pasta do GSClient Classic

  5. Remove pasta do GSClient AppImage

  6. Remove GSClient AppImage

  7. Remove a libGSurfRSA.so das pastas padrões lib do linux

  8. Remove o serviço do GSClient Classic do systemd

  9. Remove o serviço do GSClient AppImage do systemd

  10. Remove o serviço do GSClient Classic do init.d

  11. Remove o serviço do GSClient AppImage do init.d

  12. Remove linha de inicialização do GSClient Classic do rc.local

  13. Remove linha de inicialização do GSClient AppImage do rc.local

  14. Remove linha de inicialização do GSClient Classic do rc.d/rc.local

  15. Remove linha de inicialização do GSClient AppImage do rc.d/rc.local

Observação: Os comandos removerão automaticamente a versão anterior do GSClient, porém apenas se foi instalada no padrão GSurf. Instalações customizadas (outras pastas, arquivos ou serviços renomeados) exigem remoção manual.

#Início da instalação

1 - Logar no terminal e alternar para o usuário root:

sudo su

2 - Criar o diretório gsurf para os arquivos e alterar para ele:

mkdir /gsurf && cd /gsurf

3 - Instalar a versão do GSClient desejada dentro da pasta gsurf especificando o link:

wget 'LINK DO GSCLIENT' -P /gsurf

4 - Descompactar o arquivo usando o comando:

(unzip -o /gsurf/gsclient_*.zip -d /gsurf/ || bsdtar -xf /gsurf/gsclient_*.zip -C /gsurf/ || busybox unzip -o /gsurf/gsclient_*.zip -d /gsurf/) 2>/dev/null

5 - Copiar a libGSurfRSA.so para as pastas lib do Linux:

cp /gsurf/libGSurfRSA.so /lib && cp /gsurf/libGSurfRSA.so /usr/lib

6 - Conceder permissão de execução nos arquivos:

chmod +x /gsurf/*

#Instalação do Certificado

1 - Executar o instalador do certificado:

/gsurf/instalador

2 - No campo Usuário de acesso digite seu usuário de acesso a Central de Parceiros.

3 - No campo Senha de acesso digite sua senha de acesso a Central de Parceiros.

4 - No campo OTP digite o código de 10 números localizado dentro do terminal na Central de Parceiros.

No final deverá ocorrer a mensagem Instalação do certificado efetuada com sucesso.

#Configurar execução como serviço

Existe 3 formas de configurar a execução da VPN como serviço para que ela inicie junto da máquina quando a mesma for ligada.

Utilizar somente uma das opções abaixo, dependendo do que o sistema utiliza (Systemd, Init.d ou Rc.local) para configurar a inicialização por serviço:

#Sistemas que utilizam systemd

1 - Criar a pasta system caso ela não exista:

mkdir /usr/lib/systemd/system

2 - Criar o arquivo libssl.service que será responsável por iniciar a VPN junto da máquina:

vi /usr/lib/systemd/system/libssl.service

Caso o comando vi não funcione, pode utilizar o nano, vim ou outro editor de texto da sua escolha.

3 - Será aberto um arquivo vazio para edição, no caso do vi apertar i para editar.

  • Preencher com o conteúdo abaixo caso seja SiTef:

[Unit]
Description=LibSSL_GSurf
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/gsurf/serverSSL -s sitef

[Install]
WantedBy=multi-user.target
  • Preencher com o conteúdo abaixo caso seja Scope:

[Unit]
Description=LibSSL_GSurf
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/gsurf/serverSSL -s scopelegado -p 2046

[Install]
WantedBy=multi-user.target

Apertar esc para sair do modo edição, apertar shift e : juntos, escrever wq e apertar enter para salvar.

4 - Conceder a permissão para o arquivo:

chmod +x /usr/lib/systemd/system/libssl.service

5 - Executar os 4 comandos na sequência (o primeiro atualiza a lista de serviço, o segundo configura o serviço como automático, o terceiro inicia o serviço e o quarto verifica o status do serviço):

systemctl daemon-reload
systemctl enable libssl.service
systemctl start libssl.service
systemctl status libssl.service

(Obs. Pressione q ou ctrl e c para sair).

#Sistemas que utilizam init.d

1 - Criar a pasta init.d caso ela não exista:

mkdir /etc/init.d

2 - Crie o arquivo serverSSL dentro do init.d que será responsável por iniciar a VPN junto da máquina:

vi /etc/init.d/serverSSL

Caso o comando vi não funcione, pode utilizar o nano, vim ou outro editor de texto da sua escolha.

3 - Será aberto um arquivo vazio para edição, no caso do vi apertar i para editar.

  • Preencher com o conteúdo abaixo caso seja SiTef:

#!/bin/sh
### BEGIN INIT INFO 
# Provides: testone 
# Required-Start: $local_fs 
# Required-Stop: $local_fs 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# X-Interactive: false 
# Short-Description: Example init script 
# Description: Start/stop an example script 
### END INIT INFO

DESC="SSL script"
NAME=serverSSL

do_start() {
echo "starting!";
/gsurf/serverSSL -s sitef &
}

do_stop() {
echo "stopping!"
killall serverSSL
}

case "$1" in
start)
do_start
;; stop)
do_stop
;;

esac
exit 0
  • Preencher com o conteúdo abaixo caso seja Scope:

#!/bin/sh
### BEGIN INIT INFO 
# Provides: testone 
# Required-Start: $local_fs 
# Required-Stop: $local_fs 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# X-Interactive: false 
# Short-Description: Example init script 
# Description: Start/stop an example script 
### END INIT INFO

DESC="SSL script"
NAME=serverSSL

do_start() {
echo "starting!";
/gsurf/serverSSL -s scopelegado -p 2046 &
}

do_stop() {
echo "stopping!"
killall serverSSL
}

case "$1" in
start)
do_start
;; stop)
do_stop
;;

esac
exit 0

Apertar esc para sair do modo edição, apertar shift e : juntos, escrever wq e apertar enter para salvar.

4 - Executar os 2 comandos na sequência (o primeiro adiciona permissão e o segundo configura o serviço como automático):

chmod +x /etc/init.d/serverSSL
update-rc.d serverSSL defaults

5 - Iniciar o serviço:

/etc/init.d/serverSSL start

#Sistemas que utilizam rc.local

1 - Acessar o rc.local:

vi /etc/rc.local

Caso o comando vi não funcione, pode utilizar o nano, vim ou outro editor de texto da sua escolha.

2 - Será aberto um arquivo para edição, no caso do vi apertar i para editar e na última linha do arquivo:

  • Preencher com o conteúdo abaixo caso seja SiTef:

/gsurf/serverSSL -s sitef &
  • Preencher com o conteúdo abaixo caso seja Scope:

/gsurf/serverSSL -s scopelegado -p 2046 &

Apertar esc para sair do modo edição, apertar shift e : juntos, escrever wq e apertar enter para salvar.

3 - Conceder a permissão para o arquivo:

chmod +x /etc/rc.local

4 - Iniciar o serviço:

/etc/rc.local

#Teste de conexão

1 - Caso não tenha configurado uma das execuções como serviço descritas acima, pode iniciar o serviço manualmente:

  • Caso seja SiTef:

/gsurf/serverSSL -s sitef &
  • Caso seja Scope:

/gsurf/serverSSL -s scopelegado -p 2046 &

Apertar enter até ele voltar para o terminal normal (mostrando o usuário e etc).

2 - Verificar se o serviço está rodando:

pgrep -af serverSSL

3 - Execute um teste de comunicação utilizando telnet ou nc:

  • Caso seja SiTef:

telnet 127.0.0.1 4096
  • Caso seja Scope:

telnet 127.0.0.1 2046

Aperte Ctrl e c ou Ctrl e ç, q e enter para fechar a conexão.

#Logs

Existem diferentes arquivos onde podem ser armazenados os logs da VPN.

1 - Journal:

journalctl $(journalctl -F SYSLOG_IDENTIFIER | grep ^GSURF | sed 's/^/-t /') --no-pager

1 - Syslog:

cat /var/log/syslog | grep GSURF

2 - Messages:

cat /var/log/messages | grep GSURF

3 - Loggs.txt (Apenas versão x86/x32)

cat /tmp/loggs.txt

#Arquivos

Segue abaixo todos os arquivos do GSClient em suas localização padrões, juntamente de informações sobre eles:

  • /usr/gsurf/certificado.pfx

    • Certificado.

  • /usr/gsurf/tk.dat

    • Autenticador (criado após primeira conexão).

  • /usr/gsurf/gsurfcli.txt

    • Identificação do terminal da CDP.

  • /usr/gsurf/region.txt

    • Região de conexão.

      • Deve conter escrito somente 3 ou sp2.

  • /usr/gsurf/serverSSL

    • Arquivo de execução da VPN.

  • /usr/lib/systemd/system/libssl.service

    • Inicializador do serviço pelo Systemd.

  • /etc/init.d/serverSSL

    • Inicializador do serviço pelo Init.d.

  • /etc/rc.local

    • Inicializador do serviço pelo rc.local.

  • /etc/rc.d/rc.local

    • Inicializador do serviço pelo rc.d/rc.local.

#Histórico de Revisões

Descrição

Autor

Versão e Data

Revisão de documento

Anderson Hoffmann

12/03/2018 – v1.0

Revisão de documento

Rafael Frasson

27/06/2018 – v2.0

Revisão de documento

Anderson Hoffmann

22/07/2019 – v3.0

Revisão de documento

Raphael Brito
Gabriel Lopes

22/11/2021 – v4.0

Revisão de documento

Vitor Hugo

19/03/2025 – v5.0

Revisão de documento

Vitor Hugo

10/09/2025 – v6.0