NC
NC-Firewall v1.0 · PF Edition · FreeBSD

Firewall dedicado para servidores Metin2

Camada de proteção em kernel FreeBSD configurada especificamente para o tráfego do jogo. Bloqueia DDoS, packet flood e exploits — sem banir jogadores brasileiros atrás de CGNAT.

Console em terminal, auto-ban via análise de logs e GeoIP com 20 países pré-mapeados.

FreeBSD 13 / 14 · PF nativo · sem dependências externas · Suporte direto via WhatsApp
Console de gerenciamento

Painel pensado pra quem opera servidor

Status em tempo real e operações por tecla única. Sem editar pf.conf, sem decorar comandos do pfctl.

NC@firewall:~$ fw_menu.py
Tela principal do console NC-Firewall mostrando status, comandos numerados e atalhos.
Menu principal · status do firewall, uptime, IPs banidos, kernel, interface externa
Por que NC-Firewall

Não é firewall genérico — é específico pro jogo

Cada porta do Metin2 tem sua política própria, cada limite respeita o tráfego real do jogo, cada decisão foi tomada pensando em servidor brasileiro.

Específico para Metin2

Cada porta do jogo (auth, channels TCP, channels UDP, P2P interno, MySQL, Apache do patcher) recebe sua própria política de aceitação, rate limit e overload.

CGNAT-aware

Limites usam overload sem flush. Um IP problemático não derruba acesso de jogadores legítimos da Vivo, Claro ou TIM.

Anti-DDoS L4

SYN proxy na porta SSH, rate limit por IP nas portas de jogo, bloqueio de flags TCP usadas por nmap e xprobe2, anti-spoofing nativo.

GeoIP — 20 países

Zonas IPDeny pré-baixadas e ativáveis pelo menu. Países com histórico de tráfego automatizado contra servidores de MMO já vêm mapeados.

Como funciona

Três módulos integrados

01 · pf.conf

Regras PF do kernel

Conjunto carregado pelo Packet Filter nativo do FreeBSD. Define filtragem por porta, rate limit, normalização, anti-spoofing e tabelas dinâmicas. Cada serviço do Metin2 recebe a política adequada.

02 · fw_menu.py

Console de gerenciamento

Interface em terminal pra administrar tudo sem editar arquivos: iniciar, parar, recarregar regras, validar sintaxe, banir/desbanir, whitelist, GeoIP, estatísticas e tabelas ativas.

03 · log_watcher.py

Auto-ban via logs

Daemon que monitora syserr e syslog do Metin2 em tempo real e aplica ban automático ao detectar padrões característicos de ataque, com janela deslizante configurável.

Auto-ban inteligente

Detecta o ataque antes do bug virar epidemia

O Log Watcher fica em segundo plano vigiando padrões característicos de exploit e flood do client do Metin2. Quando o limite é estourado dentro da janela, o IP entra automaticamente na tabela de bloqueio do PF.

NC@logwatch:~$ log_watcher.py
Tela do Log Watcher mostrando padrões monitorados — UNKNOWN HEADER, Invalid Handshake, max connection, no pong — e modos de operação.
Monitora syserr e syslog em tempo real · dry-run disponível pra calibrar antes de ativar
UNKNOWN HEADER Invalid Handshake max connection no pong
Recursos técnicos

Tudo o que já vem embutido

Filtragem por porta

Auth, channels TCP/UDP, P2P interno, MySQL e Apache do patcher tratados independentemente.

Rate limiting por IP

Limite de novas conexões por segundo por endereço de origem nas portas de jogo.

SYN proxy

Ativo na porta SSH — handshake validado antes de chegar no daemon.

Limite de estados por IP

Máximo de conexões simultâneas que um único IP pode manter abertas.

Bloqueio de fingerprint TCP

Combinações de flags usadas por nmap, xprobe2 e similares ficam bloqueadas.

Anti-spoofing + URPF

Pacotes vindos por rota inválida ou com source forjado caem antes do filtro.

IPs reservados externos

Espaços RFC1918, loopback e link-local nunca passam vindo da WAN.

Normalização de pacotes

Reassembly de fragmentos, randomização de IPs, remoção do bit Don't-Fragment.

Tabela trusted_hosts

Whitelist administrativa com acesso liberado a SSH e banco.

Tabela abusive_hosts

IPs banidos persistidos em disco — sobrevivem a reload e reboot.

Tabela website_hosts

IPs do site/patcher autorizados a consultar o MySQL externamente.

Confirmação destrutiva

Desligar firewall ou limpar tabela de bans exige confirmação explícita.

Requisitos

O que você precisa pra rodar

OS
FreeBSD 13 ou 14
Linguagem
Python 3 no PATH
Firewall
pfctl (incluso no FreeBSD base)
Permissões
Acesso root
Servidor
Metin2 com logs padrão (syserr, syslog)

Servidor merecendo proteção de verdade

WhatsApp direto comigo. Sem ticket, sem fila — tira tuas dúvidas e fecha a licença na hora.

NC-Firewall v1.0 · PF Edition · Desenvolvido por Neves Code