Skip to content

anderson5g/vpn-tjdft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Manual VPN TJDFT - Linux (Ubuntu/Mint/Debian) - SETEMBRO/2025

Este manual atualizado reúne todo o processo de instalação, configuração e uso da VPN TJDFT em sistemas Linux. Inclui todas as correções realizadas durante os testes, melhorias de robustez e automação, além de referências externas para aprofundamento.


📋 Pré-requisitos

  • Sistema Linux baseado em Debian (Ubuntu 20.04+, Mint 20+, Debian 10+)
  • Conexão com a internet
  • Privilégios de administrador (sudo)
  • Acesso ao Portal Azure com suas credenciais TJDFT ou Prestador
  • Navegador atualizado (Firefox, Chrome ou Edge)

🔑 Etapa 1: Ativação no Portal Azure

Antes de qualquer conexão, é obrigatório ativar o acesso:

  1. Acesse: Portal Azure
  2. Faça login com suas credenciais (ex.: usuario@tjdft.jus.br ou xxxxx@prestador.tjdft.jus.br)
  3. Vá em: Privileged Identity Management → Minhas Funções
  4. Localize o grupo GF-PIM-VPN-RPV-DEV
  5. Clique em Ativar
  6. Aguarde a confirmação (até 3 minutos)

📖 Referência: Documentação Microsoft PIM


⚙️ Etapa 2: Instalação e Configuração

2.1 Atualização do sistema

sudo apt update && sudo apt upgrade -y

2.2 Instalação de dependências

sudo apt install -y wget openconnect xdg-utils coreutils

Obs:

  • xdg-utils garante que xdg-open esteja disponível para abrir links automaticamente.
  • coreutils fornece o stdbuf, usado no script para forçar saída em linha.

2.3 Instalação do cliente snx-rs

# Criar diretório de trabalho
mkdir -p ~/vpn-tjdft
cd ~/vpn-tjdft

# Baixar versão mais recente (x86_64)
wget https://github.com/ancwrd1/snx-rs/releases/download/v4.8.0/snx-rs-v4.8.0-linux-x86_64.tar.xz

# Extrair
tar -xvf snx-rs-v4.8.0-linux-x86_64.tar.xz

# Mover binário para o sistema
sudo mv snx-rs-v4.8.0-linux-x86_64/snx-rs /usr/local/bin/

# Dar permissão de execução
sudo chmod +x /usr/local/bin/snx-rs

✅ Agora o comando snx-rs deve estar disponível. Teste com:

snx-rs -h

📖 Referência: Repositório snx-rs no GitHub


🚀 Etapa 3: Script de Conexão (robusto)

Crie o script principal:

nano ~/vpn-tjdft/vpn-tjdft.sh

Conteúdo atualizado do script:

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

# Funções de cor
echo_info() { echo -e "\033[0;34m[INFO]\033[0m $1"; }
echo_success() { echo -e "\033[0;32m[✓]\033[0m $1"; }
echo_warning() { echo -e "\033[1;33m[⚠]\033[0m $1"; }
echo_error() { echo -e "\033[0;31m[✗]\033[0m $1"; }
echo_step() { echo -e "\033[0;36m[→]\033[0m $1"; }

clear
cat <<'BANNER'
╔══════════════════════════════════════════════╗
║              VPN TJDFT - 2025                ║
║                                              ║
║  ⚠️  ATENÇÃO: Processo Atualizado            ║
║                                              ║
║  1. Ative primeiro no Portal Azure           ║
║  2. Depois execute este script               ║
╚══════════════════════════════════════════════╝
BANNER

echo_step "Gateway (pressione Enter para usar o padrão PROD: rpv.tjdft.jus.br)"
read -r GATEWAY
GATEWAY=${GATEWAY:-rpv.tjdft.jus.br}

echo_step "Digite seu e-mail institucional (ex.: usuario@tjdft.jus.br ou CPF@prestador.tjdft.jus.br):"
read -r USER_EMAIL

LOG_FILE=$(mktemp /tmp/snx-rs-log.XXXXXX)
echo_info "O log será salvo em: $LOG_FILE"

stdbuf -oL sudo /usr/local/bin/snx-rs -X true -s "$GATEWAY" -o vpn_Remote_Access -u "$USER_EMAIL" 2>&1 \
  | tee "$LOG_FILE" \
  | while IFS= read -r line; do
      echo "$line"
      if echo "$line" | grep -qE 'http[s]?://'; then
        URL=$(echo "$line" | grep -Eo 'http[s]?://[^[:space:]]+' | head -n1)
        echo_info "Abrindo automaticamente: $URL"
        xdg-open "$URL" >/dev/null 2>&1 || echo_warning "Não foi possível abrir o navegador automaticamente. Link: $URL"
      fi
done

echo_success "Processo do snx-rs finalizado. Log salvo em: $LOG_FILE"
echo_step "Se quiser enviar o log para análise, use: cat $LOG_FILE"
read -rp "Pressione Enter para fechar..."

Dar permissão de execução:

chmod +x ~/vpn-tjdft/vpn-tjdft.sh

🖥️ Etapa 4: Criar Atalho no Menu

4.1 Baixar ícone

wget -O ~/vpn-tjdft/tjdft-icon.png "https://www.tjdft.jus.br/favicon.ico"

4.2 Criar arquivo Desktop

nano ~/.local/share/applications/vpn-tjdft.desktop

Conteúdo atualizado (substitua SEU_USUARIO pelo login do Linux):

[Desktop Entry]
Name=VPN TJDFT 2025
Comment=Conectar à VPN do TJDFT
Exec=gnome-terminal -- bash -ic "/home/SEU_USUARIO/vpn-tjdft/vpn-tjdft.sh; exec bash"
Icon=/home/SEU_USUARIO/vpn-tjdft/tjdft-icon.png
Terminal=true
Type=Application
Categories=Network;Internet;
StartupNotify=true
Keywords=vpn;tjdft;rede;

Dar permissão:

chmod +x ~/.local/share/applications/vpn-tjdft.desktop
update-desktop-database ~/.local/share/applications/

📱 Etapa 5: Script opcional para ativar Azure

nano ~/vpn-tjdft/ativar-azure.sh

Conteúdo:

#!/bin/bash
echo "🔗 Abrindo Portal Azure..."
xdg-open "https://portal.azure.com/feature/msaljs=true&returnTo=/blade/Microsoft_Azure_PIMCommon/ActivationBlade"

Dar permissão:

chmod +x ~/vpn-tjdft/ativar-azure.sh

🚀 Como Usar

Opção 1: Menu do sistema

  1. Pressione Super (tecla Windows)
  2. Digite VPN TJDFT
  3. Clique no ícone criado

Opção 2: Terminal

~/vpn-tjdft/vpn-tjdft.sh

Opção 3: Alias rápido

Adicione ao ~/.bashrc ou ~/.zshrc:

alias vpn-tjdft='~/vpn-tjdft/vpn-tjdft.sh'
alias ativar-azure='~/vpn-tjdft/ativar-azure.sh'

🔧 Solução de Problemas

Erro: snx-rs: comando não encontrado

cd ~/vpn-tjdft
tar -xvf snx-rs-v4.8.0-linux-x86_64.tar.xz
sudo mv snx-rs-v4.8.0-linux-x86_64/snx-rs /usr/local/bin/
sudo chmod +x /usr/local/bin/snx-rs

Não consegue ativar no Azure

  • Verifique suas credenciais (TJDFT ou Prestador)
  • Confirme se está no grupo GF-PIM-VPN-RPV-DEV
  • Aguarde alguns minutos após ativação

Conexão falha mesmo com ativação

  • Verifique se está usando o gateway correto (rpv.tjdft.jus.br ou rpv-dev.tjdft.jus.br)
  • Aguarde 5–10 min após ativar
  • Teste conectividade: ping rpv.tjdft.jus.br
  • Verifique se a interface snx-xfrm foi criada: ip a

🔐 Fluxo de Segurança

  1. Ativar acesso no Portal Azure PIM
  2. Aguardar confirmação
  3. Conectar com snx-rs
  4. Verificar interface tun ativa

📝 Diferenças da versão anterior

Aspecto Antes (2024) Atual (2025)
Cliente VPN gp-saml-gui snx-rs
Ativação Direta Azure PIM
Gateway múltiplos rpv.tjdft.jus.br (padrão)
Processo 1 passo 2 passos
Login usuário fixo e-mail completo (TJDFT/Prestador)
Navegador manual abre automático via xdg-open

📚 Referências externas


✨ Manual atualizado, testado e validado no Linux Mint 22.1 e Ubuntu 22.04

About

Reepositório criado para ajudar usuários do Ubuntu 24.04 a configurar e utilizar a VPN do TJDFT de forma simples e eficiente.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors