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).
#Sistema Operacional
Requisitos mínimos do Sistema Operacional e como validá-los.
1 - Arquitetura 64 bits.
Utilizando o comando abaixo um dos números 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, menos recomendado, utilizar o GSClient Classic.
#Instalação
A instalação deve ser realizada com o usuário root:
sudo suExistem duas maneiras de realizar a instalação, via script ou manualmente.
#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"; (curl -sL $U || wget -qO- $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
#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/nullOs comandos em ordem realizam as seguintes funções:
Finaliza serviço do GSClient Classic
Finaliza serviço do GSClient AppImage
Remove certificado
Remove pasta do GSClient Classic
Remove pasta do GSClient AppImage
Remove GSClient AppImage
Remove a libGSurfRSA.so das pastas padrões lib do linux
Remove o serviço do GSClient Classic do systemd
Remove o serviço do GSClient AppImage do systemd
Remove o serviço do GSClient Classic do init.d
Remove o serviço do GSClient AppImage do init.d
Remove linha de inicialização do GSClient Classic do rc.local
Remove linha de inicialização do GSClient AppImage do rc.local
Remove linha de inicialização do GSClient Classic do rc.d/rc.local
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 - 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 em ordem realizam as seguintes funções:
Cria o diretório gsurf para os arquivos
Instala a versão do GSClient dentro da pasta gsurf
Descompacta o arquivo
Concede permissão de execução para os arquivos
#Instalação do Certificado
1 - Executar o instalador do certificado:
/usr/sbin/gsurf/gsclient_setup.AppImage2 - No campo Usuário digite seu usuário de acesso a Central de Parceiros.
3 - No campo Senha 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 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 em ordem realizam as seguintes funções:
Move o GSClient para a pasta /usr/sbin
Caso o sistema tenha SELinux, restaura o contexto do GSClient para o padrão da pasta /usr/sbin
Remove a pasta de instalação
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:
#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 em ordem realizam as seguintes funções:
Cria a pasta system dentro do systemd caso ela não exista
Cria o arquivo gsclient.service dentro da pasta system e preenche com o script de inicialização
Concede a permissão de execução para o arquivo
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 em ordem realizam as seguintes funções:
Atualiza a lista de serviço
Configura o serviço como automático
Inicia o serviço
Verifica o status do serviço
#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 em ordem realizam as seguintes funções:
Cria o arquivo gsclient dentro do init.d e preenche com o script de inicialização
Concede permissões para o arquivo
Configura o serviço como automático (Caso retorne comando não enconrado, o sistema não utiliza init.d)
3 - Iniciar o serviço:
/etc/init.d/gsclient start#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.local
2 - 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 em ordem realizam as seguintes funções:
Adiciona a inicialização do serviço na última linha do rc.local caso já não esteja adicionado
Concede a permissão de execução para o arquivo
3 - Iniciar o serviço:
Caso seja: /etc/rc.local
/etc/rc.localCaso seja: /etc/rc.d/rc.local
/etc/rc.d/rc.local
#Teste de conexão
1 - 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).
2 - Verificar se o serviço está rodando:
pgrep -af gsclient3 - 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 |
