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).
#Sistema Operacional
O AppImage é um formato de aplicativo universal para Linux, ele empacota o programa e todas as suas dependências em um único arquivo executável, o que permite rodá-lo em qualquer distribuição, desde que o Sistema Operacional atenda a alguns requisitos mínimos.
A seguir, listamos quais são esses requisitos e como validá-los:
1 - Arquitetura 64 bits.
Utilizando o comando abaixo um dos números retornados deve ser 64:
uname -m2 - Framework FUSE (Filesystem in Userspace)
O utilizando os comandos abaixo, um deles deve retornar a versão se estiver instalado:
(fusermount3 --version || fusermount --version)3 - Biblioteca GNU C Library (glibc) versão 2.27 ou superior.
Utilizando o comando abaixo, o número no final da primeira linha deve ser maior ou igual a 2.27:
ldd --versionCaso a versão da distribuição Linux sendo utilizada não atenda esses requisitos, será necessário uma das 3 alternativas abaixo:
Atualizar a versão da distribuição ou das dependências para que atendam os requisitos.
Utilizar outra distribuição ou versão que atenda os requisitos.
Em último caso, utilizar o GSClient Classic.
#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:
U="https://gsurf.com.br/lib/linux/script_gsclient"; (wget -qO- $U || curl -sL $U) | bashObservaçã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 - Realizar o início da instalação:
Executar os comandos abaixo caso a versão da glibc no Sistema Operacional seja 2.34 ou superior:
mkdir -p /usr/sbin/gsurf
wget https://gsurf.com.br/lib/linux/gsclient_appimage_tls3.zip -P /usr/sbin/gsurf
(unzip -o /usr/sbin/gsurf/gsclient_appimage_tls3.zip -d /usr/sbin/gsurf || bsdtar -xf /usr/sbin/gsurf/gsclient_appimage_tls3.zip -C /usr/sbin/gsurf || busybox unzip -o /usr/sbin/gsurf/gsclient_appimage_tls3.zip -d /usr/sbin/gsurf) 2>/dev/null
chmod +x /usr/sbin/gsurf/*Executar os comandos abaixo caso a versão da glibc no Sistema Operacional esteja entre 2.27 e 2.33:
mkdir -p /usr/sbin/gsurf
wget https://gsurf.com.br/lib/linux/gsclient_appimage_tls1.zip -P /usr/sbin/gsurf
(unzip -o /usr/sbin/gsurf/gsclient_appimage_tls1.zip -d /usr/sbin/gsurf || bsdtar -xf /usr/sbin/gsurf/gsclient_appimage_tls1.zip -C /usr/sbin/gsurf || busybox unzip -o /usr/sbin/gsurf/gsclient_appimage_tls1.zip -d /usr/sbin/gsurf) 2>/dev/null
chmod +x /usr/sbin/gsurf/*Os comandos executados linha por linha criam o diretório gsurf, instalam e descompactam a versão do GSClient, além de conceder as permissões de execução.
#Instalação do Certificado
1 - Executar o instalador do certificado:
/usr/sbin/gsurf/gsclient_setup.AppImageCom 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
1 - Preparar o GSClient:
mv /usr/sbin/gsurf/gsclient.AppImage /usr/sbin
restorecon -v /usr/sbin/gsclient.AppImage 2>/dev/null
rm -r /usr/sbin/gsurfOs comandos movem o GSClient para a pasta /usr/sbin, restauram o contexto do SELinux para o padrão da pasta (caso o sistema utilize) e removem a pasta de instalaçã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 - Realizar a criação do serviço no systemd:
mkdir -p /usr/lib/systemd/system
cat <<EOF > /usr/lib/systemd/system/gsclient.service
[Unit]
Description=GSClient
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/sbin/gsclient.AppImage
[Install]
WantedBy=multi-user.target
EOF
chmod +x /usr/lib/systemd/system/gsclient.serviceOs comandos criam a pasta system no diretório systemd (caso não exista), geram o arquivo gsclient.service preenchido com o script de inicialização e concedem a ele permissão de execução.
3 - Realizar a inicialização do serviço no systemd:
systemctl daemon-reload
systemctl enable gsclient.service
systemctl start gsclient.service
systemctl status gsclient.serviceOs comandos atualizam a lista de serviços do sistema, habilitam a inicialização automática, iniciam o serviço e, por fim, verificam o seu status de funcionamento.
#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 - Realizar a criação do serviço no init.d:
cat <<'EOF' > /etc/init.d/gsclient
#!/bin/sh
### BEGIN INIT INFO
# Provides: gsclient
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: false
# Short-Description: GSClient script
# Description: Start/Stop GSClient
### END INIT INFO
DESC="GSClient script"
NAME=gsclient
do_start() {
echo "Starting $NAME!";
/usr/sbin/gsclient.AppImage &
}
do_stop() {
echo "Stopping $NAME!"
killall gsclient
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
esac
exit 0
EOF
chmod +x /etc/init.d/gsclient
update-rc.d gsclient defaultsOs comandos criam o arquivo gsclient no diretório init.d (preenchido com o script de inicialização), aplicam as permissões necessárias e configuram o serviço como automático.
Observação: Caso retorne comando não encontrado, significa que o sistema não utiliza init.d.
3 - Iniciar o serviço:
/etc/init.d/gsclient 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 - Adicionar a inicialização do serviço no rc.local:
Caso seja: /etc/rc.local
grep -qxF '/usr/sbin/gsclient.AppImage &' /etc/rc.local || echo '/usr/sbin/gsclient.AppImage &' >> /etc/rc.local
chmod +x /etc/rc.localCaso seja: /etc/rc.d/rc.local
grep -qxF '/usr/sbin/gsclient.AppImage &' /etc/rc.d/rc.local || echo '/usr/sbin/gsclient.AppImage &' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.localOs comandos adicionam a instrução de inicialização do serviço na última linha do arquivo rc.local (caso ainda não esteja presente) e concedem permissão de execução a ele.
3 - Iniciar o serviço:
Caso seja: /etc/rc.local
/etc/rc.localCaso seja: /etc/rc.d/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 gsclient.service
systemctl start gsclient.service
systemctl status gsclient.service2 - Init.d
/etc/init.d/gsclient 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:
/usr/sbin/gsclient.AppImage &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 gsclient2 - Execute um teste de comunicação utilizando telnet ou nc no IP 127.0.0.1 e na porta desejada:
Caso seja SiTef:
telnet 127.0.0.1 4096Aperte 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 -S today2 - Syslog:
cat /var/log/syslog | grep GSURF3 - Messages:
cat /var/log/messages | grep GSURF#Arquivos
Segue abaixo todos os arquivos do GSClient AppImage 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/service.cfgContém os serviços do terminal da CDP na última instalação.
Adição de novos serviços no terminal da CDP com porta ou categoria diferentes dos anteriores exigem reinstalação do certificado.
/usr/sbin/gsclient.AppImageArquivo de execução da VPN.
/usr/lib/systemd/system/gsclient.serviceInicializador do serviço pelo Systemd.
/etc/init.d/gsclientInicializador 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 |
|---|---|---|
Criação do documento | Vitor Hugo | 09/09/2025 – v1.0 |
