mmpg-rout-pbr
Motor de Policy-Based Routing (PBR) para gateways Linux institucionais: decide automaticamente, por bloco CIDR de destino, se o tráfego sai pela rede institucional (ex.: PRODEMGE) ou pela internet geral — sem exigir troca manual de gateway nas estações clientes.
Contexto
Em ambientes onde as estações precisam alternar manualmente o gateway
IPv4 entre uma rede institucional e a internet geral, dependendo do
destino, este motor centraliza essa decisão em um servidor Linux
configurado como gateway, usando os mecanismos nativos ip rule,
ip route e nftables.
Premissas obrigatórias
- A regra principal do PBR é baseada em CIDR, nunca em FQDN.
- IPs institucionais externos e redes privadas institucionais ficam em listas separadas, adicionadas de forma explícita e validada — nunca se adiciona um bloco privado amplo sem confirmação formal.
- A rota padrão é sempre a rede de internet geral — nunca a institucional.
- Conexões já estabelecidas não mudam de rota durante a sessão
(
ct state established,relatedrestaura a marca salva no conntrack). - Toda implantação precisa de modo de validação (dry-run), backup e rollback.
- O monitoramento é uma evolução posterior ao núcleo funcional — fora de escopo deste pacote.
Os endereços de gateway e o bloco institucional são parâmetros de
config.yaml, não constantes do projeto — cada implantação tem sua
própria topologia de rede. Ver config/config.example.yaml para o
formato completo.
Instalação
pip install mmpg-rout-pbr
Requer Linux com ip (iproute2) e nft (nftables) instalados.
validate e plan não tocam no sistema e rodam em qualquer máquina;
apply, rollback e uninstall exigem privilégio de root.
Uso
# copie config/config.example.yaml, ajuste para sua topologia real
mmpg-rout-pbr validate --config /etc/mmpg-rout/config.yaml
mmpg-rout-pbr plan --config /etc/mmpg-rout/config.yaml
sudo mmpg-rout-pbr apply --config /etc/mmpg-rout/config.yaml
sudo mmpg-rout-pbr rollback # desfaz o último apply
sudo mmpg-rout-pbr uninstall [--purge] # remove o que foi aplicado
Para produção, scripts/install.sh orquestra a instalação completa
(checagem de privilégios/ferramentas, encaminhamento IPv4, serviço
systemd para reaplicar a política no boot).
Artefato principal
- motor de PBR (
motor/): validação de config e listas de rede, geração determinística deip rule/ip route/regras nftables, diff idempotente contra o estado atual do sistema, backup e rollback automático. - instalador (
scripts/install.sh+scripts/mmpg-rout-pbr.service): orquestra o motor num servidor Linux real, incluindo o serviço systemd que reaplica a política no boot. - listas de rede homologadas (
config/*.txt): blocos institucionais, exceções e redes privadas validadas.
Limites de segurança
- Não implantar diretamente em produção sem laboratório.
- Não utilizar blocos privados amplos sem validação.
- Não alterar a rota de gerenciamento sem mecanismo de rollback.
- Não registrar credenciais, tokens ou conteúdo sensível em logs.
- Não afirmar que failover garante acesso quando o destino exige origem institucional.
Autor
Valfrido Novais — mmpg.online — novaisufvjm@gmail.com
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mmpg_rout_pbr-0.1.0.tar.gz.
File metadata
- Download URL: mmpg_rout_pbr-0.1.0.tar.gz
- Upload date:
- Size: 29.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4c450b650f52e76a30533c8c0de7fee32bd8df2a3d59bd8e320d6f97d28c54f
|
|
| MD5 |
84ec5daef08d7d2fa0b8c861d6c9c35e
|
|
| BLAKE2b-256 |
65bb130c76cd9d6a84ba13e6b56927400607a493aff6096bee61b3b51d418d0c
|