first commit

This commit is contained in:
Rodrigo Bertoldo de Sousa Martins committed 2026-09-13 20:49:33 -03:00
commit 01d7cb1a80
34 files changed
+5723

No files matched your search

Executable
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# rc.local — server-mv
#
# Versão nftables. O firewall (antes ~200 linhas de iptables/ip6tables
# espalhadas entre rc.local e test.sh) agora é um único arquivo
# declarativo: nftables.conf. A versão anterior, baseada em
# iptables/ip6tables, foi preservada em rc.local.iptables — troque de
# volta se algo aqui quebrar e você precisar reverter rápido.
#
# Antes de usar este arquivo em produção:
# nft -c -f /home/rodrigo/server-mv/nftables.conf # valida sintaxe
# systemctl enable nftables # persistência
# Não rode este rc.local E o antigo (rc.local.iptables) ao mesmo tempo —
# são duas ferramentas de firewall (nft e iptables-legacy/nft-em-cima-
# de-iptables) que podem conflitar se ambas tentarem gerenciar as
# mesmas chains.
set -e
# ==============================================================
# 1. FIREWALL (nftables) — carregamento atômico: se houver erro de
# sintaxe no arquivo, o "nft -f" falha ANTES de aplicar qualquer coisa,
# então nunca fica um firewall pela metade no ar.
# ==============================================================
nft -f /home/rodrigo/server-mv/nftables.conf
# ==============================================================
# 2. Ajustes de kernel dependentes de runtime (não cobertos por sysctl.conf)
# ==============================================================
echo deadline > /sys/block/sda/queue/scheduler
echo 64 > /sys/block/sda/queue/max_sectors_kb # melhor para SSD virtual
echo f > /sys/class/net/enp0s6/queues/tx-0/xps_cpus
echo f > /sys/class/net/enp0s6/queues/rx-0/rps_cpus
echo 4096 > /sys/class/net/enp0s6/queues/rx-0/rps_flow_cnt
#tc qdisc add dev enp0s6 root cake bandwidth 1000mbit besteffort
#tc qdisc add dev wg0 root cake bandwidth 500mbit besteffort dual-dsthost
touch /var/lock/subsys/local
# ==============================================================
# 3. XDP / eBPF
# ==============================================================
ip link set enp0s6 mtu 1500
ip link set dev enp0s6 xdp obj /home/rodrigo/xdp/xdp_ddos_filter.o sec xdp
ip link set dev wg0 xdp obj /home/rodrigo/xdp/xdp_wg_mtu_optimizer.o sec xdp
# A bridge do Docker muda de nome a cada recriação da rede (hash do ID),
# então esse link precisa ser reaplicado se a rede "dockernet" for recriada.
ip link set dev br-02f7820020b4 xdp obj /home/rodrigo/xdp/bridge_xdp.o sec xdp
cd /home/docker/ebpf-sockmap/ && make load