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 e liberação da rota por parte de todos os provedores de internet do cliente.
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 |
#Instalação
A instalação deve ser realizada com o usuário root. Para alternar para este usuário, você pode utilizar o comando abaixo:
sudo suExistem duas maneiras de realizar a instalação: via script ou manualmente. Escolha e execute apenas uma delas.
#Instalação via script
Executar o comando abaixo e seguir a instalação conforme o script solicitar:
mkdir /gsurf && cd /gsurf
wget https://gsurf.com.br/lib/linux/script_gsclient_classic.sh
chmod +x /gsurf/script_gsclient_classic.sh
/gsurf/script_gsclient_classic.shObservação: Antes de iniciar a nova instalação, o script removerá automaticamente versões anteriores, mas apenas se estiverem no padrão GSurf, instalações customizadas (pastas, arquivos ou serviços renomeados) exigem remoção manual.
#Instalação manual
Clique aqui para abrir o passo a passo de instalação manual
#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.txt2 - 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/nullEsses comandos realizam a desinstalação e limpeza completa do GSClient (Classic e AppImage), interrompendo os serviços em execução e removendo seus arquivos, pastas e registros de inicialização automática (systemd, init.d e rc.local).
Observação: Os comandos removerão automaticamente apenas instalações no padrão GSurf. Instalações customizadas (outras pastas, arquivos ou serviços renomeados) exigem remoção manual.
#Início da instalação
1 - Criar o diretório gsurf para os arquivos e alterar para ele:
mkdir /gsurf && cd /gsurf2 - Instalar uma das 4 versões do GSClient dentro da pasta gsurf especificando o link:
wget 'https://gsurf.com.br/lib/linux/gsclient_ubuntu_x86.zip' -P /gsurfwget 'https://gsurf.com.br/lib/linux/gsclient_ubuntu_x64.zip' -P /gsurfwget 'https://gsurf.com.br/lib/linux/gsclient_centos_x86.zip' -P /gsurfwget 'https://gsurf.com.br/lib/linux/gsclient_centos_x64.zip' -P /gsurf3 - Descompactar o arquivo, copiar a libGSurfRSA.so para as pastas lib do Linux e conceder permissão de execução:
(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
cp /gsurf/libGSurfRSA.so /lib && cp /gsurf/libGSurfRSA.so /usr/lib
chmod +x /gsurf/*#Instalação do Certificado
1 - Executar o instalador do certificado:
/gsurf/instaladorCom o instalador em execução, informe na seguinte ordem: usuário, senha da Central de Parceiros e o OTP (código de 10 números encontrados dentro do terminal na Central).
No final deverá ocorrer a mensagem Certificado instalado, pronto para execução do GS Client.
#Configurar execução como serviço
Para que a VPN seja iniciada automaticamente com o sistema operacional, utilize somente um dos métodos a seguir, escolhendo conforme o padrão suportado pela sua distribuição (Systemd, Init.d ou Rc.local):
#Opção 1: Systemd
1 - Verificar se o sistema utiliza systemd:
Utilizando o comando abaixo o resultado deve ser systemd:
ps -p 1 -o comm=2 - Criar a pasta system caso ela não exista e criar o arquivo libssl.service que será responsável por iniciar a VPN junto da máquina:
mkdir /usr/lib/systemd/system
vi /usr/lib/systemd/system/libssl.serviceCaso 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.targetPreencher 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.targetApertar 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.service5 - 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).
#Opção 2: Init.d
1 - Caso não utilize systemd, verificar se o sistema utiliza init.d:
O comando abaixo deve executar sem erros:
ls /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/serverSSLCaso 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 0Preencher 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 0Apertar 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 defaults5 - Iniciar o serviço:
/etc/init.d/serverSSL start#Opção 3: Rc.local
1 - Caso não utilize systemd ou init.d, verificar se o sistema utiliza rc.local:
Verificar se a localização é: /etc/rc.local
ls /etc/rc.localVerificar se a localização é: /etc/rc.d/rc.local
ls /etc/rc.d/rc.local2 - Acessar o rc.local dependendo da localização verificada no passo anterior:
vi /etc/rc.localvi /etc/rc.d/rc.localCaso o comando vi não funcione, pode utilizar o nano, vim ou outro editor de texto da sua escolha.
3 - 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.
4 - Conceder a permissão para o arquivo:
chmod +x /etc/rc.local || chmod +x /etc/rc.d/rc.local5 - Iniciar o serviço:
/etc/rc.local || /etc/rc.d/rc.localAmbos os métodos de instalação contemplam o procedimento completo, uma vez concluído um deles com sucesso, a VPN já estará pronta para comunicação.
Abaixo, disponibilizamos alguns tópicos adicionais com instruções sobre como reiniciar o serviço, testar a conexão e verificar logs, entre outros.
#Inicialização
O serviço já é iniciado automaticamente tanto pelo script quanto no procedimento manual de instalação. Contudo, caso necessitem que seja iniciado ou reiniciado o serviço em algum momento, é possível realizar com os comandos abaixo, dependendo de qual inicializador está sendo utilizado:
1 - Systemd
systemctl daemon-reload
systemctl enable libssl.service
systemctl start libssl.service
systemctl status libssl.service2 - Init.d
/etc/init.d/serverSSL start3 - Rc.local
/etc/rc.local || /etc/rc.d/rc.local4 - Manualmente
Caso a execução como serviço não tenha sido configurada, é possível iniciar 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).
#Teste de conexão
1 - Verificar se o serviço está rodando:
pgrep -af serverSSL2 - Execute um teste de comunicação utilizando telnet ou nc:
Caso seja SiTef:
telnet 127.0.0.1 4096Caso seja Scope:
telnet 127.0.0.1 2046Aperte 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-pager2 - Syslog:
cat /var/log/syslog | grep GSURF3 - Messages:
cat /var/log/messages | grep GSURF4 - 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.pfxCertificado.
/usr/gsurf/tk.datAutenticador (criado após primeira conexão).
/usr/gsurf/gsurfcli.txtIdentificação do terminal da CDP.
/usr/gsurf/region.txtRegião de conexão.
Deve conter escrito somente 3 ou sp2.
/usr/gsurf/serverSSLArquivo de execução da VPN.
/usr/lib/systemd/system/libssl.serviceInicializador do serviço pelo Systemd.
/etc/init.d/serverSSLInicializador do serviço pelo Init.d.
/etc/rc.localInicializador do serviço pelo rc.local.
/etc/rc.d/rc.localInicializador 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 | 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 |
