logo ← MANUAIS DE UTILIZAÇÃO / Instalação GSClient no Linux

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:

Portas:

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

Links para Download

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.

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

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

[Install]
WantedBy=multi-user.target
```

```bash
[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.

```bash
#!/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
```

```bash
#!/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:

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:

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:

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:

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